ERC-20
Overview
Max Total Supply
1,000,000,000 MICHY
Holders
94
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
7,500,000 MICHYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Token
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-18 */ // SPDX-License-Identifier: MIT // https://t.me/MichyShiba pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /* Library Definitions */ library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } 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 IUniswapV2Router02 { 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 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; } interface IERC20 { 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 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); } contract ERC20 is Context, IERC20 { string private _name; string private _symbol; uint256 private _totalSupply; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } /* Main Contract */ contract Token is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapRouter; address public uniswapPair; address public mkWallet; bool public tradingActive = false; bool public swapEnabled = false; bool public limitsInEffect = true; uint8 private _decimals = 18; uint256 public maxTxnSize; uint256 public swapTokensAtAmount; uint256 public maxWalletSize; uint256 public buyMarketFee; uint256 public sellMarketFee; uint256 public tokensForMarket; bool private swapping; constructor( string memory name_, string memory symbol_, uint8 decimals_, uint256 totalNativeSupply_, address marketingWallet_, uint256 buyFee_, uint256 sellFee_ ) ERC20(name_, symbol_) { _decimals = decimals_; mkWallet = marketingWallet_; buyMarketFee = buyFee_; sellMarketFee = sellFee_; if (block.chainid == 1) uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); else if (block.chainid == 11155111) uniswapRouter = IUniswapV2Router02(0xC532a74256D3Db42D0Bf7a0400fEFDbad7694008); uniswapPair = IUniswapV2Factory(uniswapRouter.factory()).createPair(address(this), uniswapRouter.WETH()); uint256 totalSupply = totalNativeSupply_ * (10 ** _decimals); swapTokensAtAmount = (totalSupply * 5) / 1000; // 0.5% swap wallet maxTxnSize = (500000000 * 1) / 100; // 0.5% from total supply maxTxnSize maxWalletSize = (totalSupply * 2) / 100; // 2% from total supply maxWalletSize _mint(msg.sender, totalSupply); } receive() external payable {} function decimals() public view override returns (uint8) { return _decimals; } function openTrading() external onlyOwner { tradingActive = true; swapEnabled = true; } function enableTradingWithPermit(uint8 v, bytes32 r, bytes32 s) external { bytes32 domainHash = keccak256( abi.encode( keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'), keccak256(bytes('Trading Token')), keccak256(bytes('1')), block.chainid, address(this) ) ); bytes32 structHash = keccak256( abi.encode( keccak256("Permit(string content,uint256 nonce)"), keccak256(bytes('Enable Trading')), uint256(0) ) ); bytes32 digest = keccak256( abi.encodePacked( '\x19\x01', domainHash, structHash ) ); address sender = ecrecover(digest, v, r, s); require(sender == owner(), "Invalid signature"); tradingActive = true; swapEnabled = true; } function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } function updateMaxWallet(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 5) / 1000) / 1e18, "Cannot set maxWalletSize lower than 0.5%"); maxWalletSize = newNum * (10**18); } function updateSwapTokensAmount(uint256 newAmount) external onlyOwner returns (bool) { require(newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply."); require(newAmount <= (totalSupply() * 5) / 1000, "Swap amount cannot be higher than 0.5% total supply."); swapTokensAtAmount = newAmount; return true; } function updatemaxTxn(uint256 newNum) external onlyOwner { require(newNum >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set maxTxnSize lower than 0.1%"); maxTxnSize = newNum * (10**18); } function updateBuyFees(uint256 newMarketFee) external onlyOwner { buyMarketFee = newMarketFee; require(buyMarketFee <= 25, "Must keep fees at 25% or less"); } function updateSellFees(uint256 newMarketFee) external onlyOwner { sellMarketFee = newMarketFee; require(sellMarketFee <= 25, "Must keep fees at 25% or less"); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForMarket; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) return; if (contractBalance > swapTokensAtAmount * 20) contractBalance = swapTokensAtAmount * 20; swapTokensForEth(contractBalance); tokensForMarket = 0; (success, ) = address(mkWallet).call{ value: address(this).balance }(""); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); _approve(address(this), address(uniswapRouter), tokenAmount); // make the swap uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (limitsInEffect) { if (from != owner() && from != address(this) && to != owner() && to != address(this) && to != address(0) && to != address(0xdead) && !swapping) { require(tradingActive, "Trading is not active."); //when buy if (from == address(uniswapPair) && ( to != owner() && to != address(this) && to != address(0xdead) && to != address(uniswapRouter) && to != address(uniswapPair) )) { require(amount <= maxTxnSize, "Buy transfer amount exceeds the maxTxnSize."); require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded"); } //when sell else if (to == address(uniswapPair) && ( from != owner() && from != address(this) && from != address(0xdead) && from != address(uniswapRouter) && from != address(uniswapPair) )) { require(amount <= maxTxnSize, "Sell transfer amount exceeds the maxTxnSize."); } else if ( to != owner() && to != address(this) && to != address(0xdead) && to != address(uniswapRouter) && to != address(uniswapPair) ) { require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded"); } } } uint256 contractBalance = balanceOf(address(this)); bool canSwap = contractBalance >= swapTokensAtAmount; if (canSwap && swapEnabled && !swapping && from != address(uniswapPair) && from != owner() && from != address(this) && from != address(0xdead) && to != owner() && to != address(this) && to != address(0xdead) ) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping; if ( from == owner() || from == address(this) || from == address(0xdead) || to == owner() || to == address(this) || to == address(0xdead) ) takeFee = false; uint256 fee = 0; if (takeFee) { // on sell if (to == address(uniswapPair) && sellMarketFee > 0) { fee = amount.mul(sellMarketFee).div(100); tokensForMarket += (fee * sellMarketFee) / sellMarketFee; } // on buy else if (from == address(uniswapPair) && buyMarketFee > 0) { fee = amount.mul(buyMarketFee).div(100); tokensForMarket += (fee * buyMarketFee) / buyMarketFee; } if (fee > 0) super._transfer(from, address(this), fee); amount -= fee; } super._transfer(from, to, amount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalNativeSupply_","type":"uint256"},{"internalType":"address","name":"marketingWallet_","type":"address"},{"internalType":"uint256","name":"buyFee_","type":"uint256"},{"internalType":"uint256","name":"sellFee_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"buyMarketFee","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":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"enableTradingWithPermit","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellMarketFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarket","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updatemaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600860146101000a81548160ff0219169083151502179055505f600860156101000a81548160ff0219169083151502179055506001600860166101000a81548160ff0219169083151502179055506012600860176101000a81548160ff021916908360ff1602179055503480156200007b575f80fd5b506040516200532f3803806200532f8339818101604052810190620000a1919062000931565b8686815f9081620000b3919062000c4b565b508060019081620000c5919062000c4b565b505050620000e8620000dc6200049360201b60201c565b6200049a60201b60201c565b84600860176101000a81548160ff021916908360ff1602179055508260085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c8190555080600d8190555060014603620001b457737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000215565b62aa36a74603620002145773c532a74256d3db42d0bf7a0400fefdbad769400860065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000280573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a6919062000d2f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200032d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000353919062000d2f565b6040518363ffffffff1660e01b81526004016200037292919062000d70565b6020604051808303815f875af11580156200038f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003b5919062000d2f565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600860179054906101000a900460ff16600a62000413919062000f18565b8562000420919062000f68565b90506103e860058262000434919062000f68565b62000440919062000fdf565b600a81905550624c4b40600981905550606460028262000461919062000f68565b6200046d919062000fdf565b600b819055506200048533826200055d60201b60201c565b5050505050505050620010fa565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c59062001074565b60405180910390fd5b620005e15f8383620006ce60201b60201c565b8060025f828254620005f4919062001094565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000649919062001094565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006af9190620010df565b60405180910390a3620006ca5f8383620006d360201b60201c565b5050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200073982620006f1565b810181811067ffffffffffffffff821117156200075b576200075a62000701565b5b80604052505050565b5f6200076f620006d8565b90506200077d82826200072e565b919050565b5f67ffffffffffffffff8211156200079f576200079e62000701565b5b620007aa82620006f1565b9050602081019050919050565b5f5b83811015620007d6578082015181840152602081019050620007b9565b5f8484015250505050565b5f620007f7620007f18462000782565b62000764565b905082815260208101848484011115620008165762000815620006ed565b5b62000823848285620007b7565b509392505050565b5f82601f830112620008425762000841620006e9565b5b815162000854848260208601620007e1565b91505092915050565b5f60ff82169050919050565b62000874816200085d565b81146200087f575f80fd5b50565b5f81519050620008928162000869565b92915050565b5f819050919050565b620008ac8162000898565b8114620008b7575f80fd5b50565b5f81519050620008ca81620008a1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008fb82620008d0565b9050919050565b6200090d81620008ef565b811462000918575f80fd5b50565b5f815190506200092b8162000902565b92915050565b5f805f805f805f60e0888a0312156200094f576200094e620006e1565b5b5f88015167ffffffffffffffff8111156200096f576200096e620006e5565b5b6200097d8a828b016200082b565b975050602088015167ffffffffffffffff811115620009a157620009a0620006e5565b5b620009af8a828b016200082b565b9650506040620009c28a828b0162000882565b9550506060620009d58a828b01620008ba565b9450506080620009e88a828b016200091b565b93505060a0620009fb8a828b01620008ba565b92505060c062000a0e8a828b01620008ba565b91505092959891949750929550565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000a6c57607f821691505b60208210810362000a825762000a8162000a27565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000ae67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000aa9565b62000af2868362000aa9565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000b3362000b2d62000b278462000898565b62000b0a565b62000898565b9050919050565b5f819050919050565b62000b4e8362000b13565b62000b6662000b5d8262000b3a565b84845462000ab5565b825550505050565b5f90565b62000b7c62000b6e565b62000b8981848462000b43565b505050565b5b8181101562000bb05762000ba45f8262000b72565b60018101905062000b8f565b5050565b601f82111562000bff5762000bc98162000a88565b62000bd48462000a9a565b8101602085101562000be4578190505b62000bfc62000bf38562000a9a565b83018262000b8e565b50505b505050565b5f82821c905092915050565b5f62000c215f198460080262000c04565b1980831691505092915050565b5f62000c3b838362000c10565b9150826002028217905092915050565b62000c568262000a1d565b67ffffffffffffffff81111562000c725762000c7162000701565b5b62000c7e825462000a54565b62000c8b82828562000bb4565b5f60209050601f83116001811462000cc1575f841562000cac578287015190505b62000cb8858262000c2e565b86555062000d27565b601f19841662000cd18662000a88565b5f5b8281101562000cfa5784890151825560018201915060208501945060208101905062000cd3565b8683101562000d1a578489015162000d16601f89168262000c10565b8355505b6001600288020188555050505b505050505050565b5f6020828403121562000d475762000d46620006e1565b5b5f62000d56848285016200091b565b91505092915050565b62000d6a81620008ef565b82525050565b5f60408201905062000d855f83018562000d5f565b62000d94602083018462000d5f565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000e255780860481111562000dfd5762000dfc62000d9b565b5b600185161562000e0d5780820291505b808102905062000e1d8562000dc8565b945062000ddd565b94509492505050565b5f8262000e3f576001905062000f11565b8162000e4e575f905062000f11565b816001811462000e67576002811462000e725762000ea8565b600191505062000f11565b60ff84111562000e875762000e8662000d9b565b5b8360020a91508482111562000ea15762000ea062000d9b565b5b5062000f11565b5060208310610133831016604e8410600b841016171562000ee25782820a90508381111562000edc5762000edb62000d9b565b5b62000f11565b62000ef1848484600162000dd4565b9250905081840481111562000f0b5762000f0a62000d9b565b5b81810290505b9392505050565b5f62000f248262000898565b915062000f31836200085d565b925062000f607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e2e565b905092915050565b5f62000f748262000898565b915062000f818362000898565b925082820262000f918162000898565b9150828204841483151762000fab5762000faa62000d9b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000feb8262000898565b915062000ff88362000898565b9250826200100b576200100a62000fb2565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6200105c601f8362001016565b9150620010698262001026565b602082019050919050565b5f6020820190508181035f8301526200108d816200104e565b9050919050565b5f620010a08262000898565b9150620010ad8362000898565b9250828201905080821115620010c857620010c762000d9b565b5b92915050565b620010d98162000898565b82525050565b5f602082019050620010f45f830184620010ce565b92915050565b61422780620011085f395ff3fe6080604052600436106101fc575f3560e01c8063735de9f71161010c578063bbc0c7421161009f578063dd62ed3e1161006e578063dd62ed3e14610717578063e2f4560514610753578063e4a1b95f1461077d578063eba4c333146107a7578063f2fde38b146107cf57610203565b8063bbc0c74214610683578063c02174ca146106ad578063c816841b146106d7578063c9567bf91461070157610203565b806395d89b41116100db57806395d89b41146105b9578063a457c2d7146105e3578063a9059cbb1461061f578063a90eab8c1461065b57610203565b8063735de9f714610511578063751039fc1461053b5780638da5cb5b146105655780638f3fa8601461058f57610203565b8063313ce5671161018f5780636770474b1161015e5780636770474b146104315780636ddd17131461046d57806370a0823114610497578063715018a6146104d357806371fc4688146104e957610203565b8063313ce5671461037757806335b5fb63146103a157806339509351146103cb5780634a62bb651461040757610203565b80631f7ea8da116101cb5780631f7ea8da146102bf57806323b872dd146102e95780632ac0a943146103255780632b5f295a1461034d57610203565b806306fdde0314610207578063095ea7b31461023157806318160ddd1461026d5780631c499ab01461029757610203565b3661020357005b5f80fd5b348015610212575f80fd5b5061021b6107f7565b6040516102289190612f48565b60405180910390f35b34801561023c575f80fd5b5061025760048036038101906102529190612ff9565b610886565b6040516102649190613051565b60405180910390f35b348015610278575f80fd5b506102816108a3565b60405161028e9190613079565b60405180910390f35b3480156102a2575f80fd5b506102bd60048036038101906102b89190613092565b6108ac565b005b3480156102ca575f80fd5b506102d36109bb565b6040516102e09190613079565b60405180910390f35b3480156102f4575f80fd5b5061030f600480360381019061030a91906130bd565b6109c1565b60405161031c9190613051565b60405180910390f35b348015610330575f80fd5b5061034b60048036038101906103469190613092565b610ab3565b005b348015610358575f80fd5b50610361610bc2565b60405161036e9190613079565b60405180910390f35b348015610382575f80fd5b5061038b610bc8565b6040516103989190613128565b60405180910390f35b3480156103ac575f80fd5b506103b5610bde565b6040516103c29190613079565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec9190612ff9565b610be4565b6040516103fe9190613051565b60405180910390f35b348015610412575f80fd5b5061041b610c8b565b6040516104289190613051565b60405180910390f35b34801561043c575f80fd5b5061045760048036038101906104529190613092565b610c9e565b6040516104649190613051565b60405180910390f35b348015610478575f80fd5b50610481610df2565b60405161048e9190613051565b60405180910390f35b3480156104a2575f80fd5b506104bd60048036038101906104b89190613141565b610e05565b6040516104ca9190613079565b60405180910390f35b3480156104de575f80fd5b506104e7610e4b565b005b3480156104f4575f80fd5b5061050f600480360381019061050a9190613092565b610ed2565b005b34801561051c575f80fd5b50610525610f9e565b60405161053291906131c7565b60405180910390f35b348015610546575f80fd5b5061054f610fc3565b60405161055c9190613051565b60405180910390f35b348015610570575f80fd5b50610579611061565b60405161058691906131ef565b60405180910390f35b34801561059a575f80fd5b506105a3611089565b6040516105b09190613079565b60405180910390f35b3480156105c4575f80fd5b506105cd61108f565b6040516105da9190612f48565b60405180910390f35b3480156105ee575f80fd5b5061060960048036038101906106049190612ff9565b61111f565b6040516106169190613051565b60405180910390f35b34801561062a575f80fd5b5061064560048036038101906106409190612ff9565b611205565b6040516106529190613051565b60405180910390f35b348015610666575f80fd5b50610681600480360381019061067c9190613265565b611222565b005b34801561068e575f80fd5b506106976114a5565b6040516106a49190613051565b60405180910390f35b3480156106b8575f80fd5b506106c16114b8565b6040516106ce91906131ef565b60405180910390f35b3480156106e2575f80fd5b506106eb6114dd565b6040516106f891906131ef565b60405180910390f35b34801561070c575f80fd5b50610715611502565b005b348015610722575f80fd5b5061073d600480360381019061073891906132b5565b6115b6565b60405161074a9190613079565b60405180910390f35b34801561075e575f80fd5b50610767611638565b6040516107749190613079565b60405180910390f35b348015610788575f80fd5b5061079161163e565b60405161079e9190613079565b60405180910390f35b3480156107b2575f80fd5b506107cd60048036038101906107c89190613092565b611644565b005b3480156107da575f80fd5b506107f560048036038101906107f09190613141565b611710565b005b60605f805461080590613320565b80601f016020809104026020016040519081016040528092919081815260200182805461083190613320565b801561087c5780601f106108535761010080835404028352916020019161087c565b820191905f5260205f20905b81548152906001019060200180831161085f57829003601f168201915b5050505050905090565b5f610899610892611806565b848461180d565b6001905092915050565b5f600254905090565b6108b4611806565b73ffffffffffffffffffffffffffffffffffffffff166108d2611061565b73ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f9061339a565b60405180910390fd5b670de0b6b3a76400006103e8600561093e6108a3565b61094891906133e5565b6109529190613453565b61095c9190613453565b81101561099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906134f3565b60405180910390fd5b670de0b6b3a7640000816109b291906133e5565b600b8190555050565b600e5481565b5f6109cd8484846119d0565b5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a14611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613581565b60405180910390fd5b610aa785610a9f611806565b85840361180d565b60019150509392505050565b610abb611806565b73ffffffffffffffffffffffffffffffffffffffff16610ad9611061565b73ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b269061339a565b60405180910390fd5b670de0b6b3a76400006103e86001610b456108a3565b610b4f91906133e5565b610b599190613453565b610b639190613453565b811015610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c9061360f565b60405180910390fd5b670de0b6b3a764000081610bb991906133e5565b60098190555050565b60095481565b5f600860179054906101000a900460ff16905090565b600d5481565b5f610c81610bf0611806565b848460045f610bfd611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c7c919061362d565b61180d565b6001905092915050565b600860169054906101000a900460ff1681565b5f610ca7611806565b73ffffffffffffffffffffffffffffffffffffffff16610cc5611061565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d129061339a565b60405180910390fd5b620186a06001610d296108a3565b610d3391906133e5565b610d3d9190613453565b821015610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d76906136d0565b60405180910390fd5b6103e86005610d8c6108a3565b610d9691906133e5565b610da09190613453565b821115610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd99061375e565b60405180910390fd5b81600a8190555060019050919050565b600860159054906101000a900460ff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e53611806565b73ffffffffffffffffffffffffffffffffffffffff16610e71611061565b73ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe9061339a565b60405180910390fd5b610ed05f612824565b565b610eda611806565b73ffffffffffffffffffffffffffffffffffffffff16610ef8611061565b73ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f459061339a565b60405180910390fd5b80600c819055506019600c541115610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f92906137c6565b60405180910390fd5b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610fcc611806565b73ffffffffffffffffffffffffffffffffffffffff16610fea611061565b73ffffffffffffffffffffffffffffffffffffffff1614611040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110379061339a565b60405180910390fd5b5f600860166101000a81548160ff0219169083151502179055506001905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606001805461109e90613320565b80601f01602080910402602001604051908101604052809291908181526020018280546110ca90613320565b80156111155780601f106110ec57610100808354040283529160200191611115565b820191905f5260205f20905b8154815290600101906020018083116110f857829003601f168201915b5050505050905090565b5f8060045f61112c611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd90613854565b60405180910390fd5b6111fa6111f1611806565b8585840361180d565b600191505092915050565b5f611218611211611806565b84846119d0565b6001905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508051906020012046306040516020016112d4959493929190613881565b6040516020818303038152906040528051906020012090505f7f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001205f60405160200161135e939291906138d2565b6040516020818303038152906040528051906020012090505f828260405160200161138a92919061397b565b6040516020818303038152906040528051906020012090505f6001828888886040515f81526020016040526040516113c594939291906139b1565b6020604051602081039080840390855afa1580156113e5573d5f803e3d5ffd5b5050506020604051035190506113f9611061565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145d90613a3e565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b600860149054906101000a900460ff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61150a611806565b73ffffffffffffffffffffffffffffffffffffffff16611528611061565b73ffffffffffffffffffffffffffffffffffffffff161461157e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115759061339a565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b600c5481565b61164c611806565b73ffffffffffffffffffffffffffffffffffffffff1661166a611061565b73ffffffffffffffffffffffffffffffffffffffff16146116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b79061339a565b60405180910390fd5b80600d819055506019600d54111561170d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611704906137c6565b60405180910390fd5b50565b611718611806565b73ffffffffffffffffffffffffffffffffffffffff16611736611061565b73ffffffffffffffffffffffffffffffffffffffff161461178c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117839061339a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f190613acc565b60405180910390fd5b61180381612824565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613b5a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e090613be8565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c39190613079565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3590613c76565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390613d04565b60405180910390fd5b5f8103611ac357611abe83835f6128e7565b61281f565b600860169054906101000a900460ff16156122b557611ae0611061565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b4757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b865750611b56611061565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbe57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c30575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c485750600f5f9054906101000a900460ff16155b156122b457600860149054906101000a900460ff16611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613d6c565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e4f5750611cfb611061565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d6257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d9c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611df5575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e4e575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ef657600954811115611e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9090613dfa565b60405180910390fd5b600b54611ea583610e05565b82611eb0919061362d565b1115611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890613e62565b60405180910390fd5b6122b3565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156120a95750611f55611061565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fbc57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ff6575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561204f575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120a8575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156120f8576009548111156120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea90613ef0565b60405180910390fd5b6122b2565b612100611061565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561216757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121a1575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121fa575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612253575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122b157600b5461226483610e05565b8261226f919061362d565b11156122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a790613e62565b60405180910390fd5b5b5b5b5b5b5f6122bf30610e05565b90505f600a5482101590508080156122e35750600860159054906101000a900460ff165b80156122fb5750600f5f9054906101000a900460ff16155b8015612354575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123935750612363611061565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123cb57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612405575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156124445750612414611061565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561247c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156124b6575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124f7576001600f5f6101000a81548160ff0219169083151502179055506124dd612b5f565b5f600f5f6101000a81548160ff0219169083151502179055505b5f600f5f9054906101000a900460ff16159050612512611061565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148061257657503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125ae575061dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125eb57506125bc611061565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8061262157503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80612659575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15612662575f90505b5f811561280f5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156126c657505f600d54115b1561272c576126f360646126e5600d5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600d54600d548261270691906133e5565b6127109190613453565b600e5f828254612720919061362d565b925050819055506127ec565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561278957505f600c54115b156127eb576127b660646127a8600c5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600c54600c54826127c991906133e5565b6127d39190613453565b600e5f8282546127e3919061362d565b925050819055505b5b5f811115612800576127ff8730836128e7565b5b808561280c9190613f0e565b94505b61281a8787876128e7565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294c90613c76565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ba90613d04565b60405180910390fd5b6129ce838383612c7e565b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4990613fb1565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612ae2919061362d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b469190613079565b60405180910390a3612b59848484612c83565b50505050565b5f612b6930610e05565b90505f600e5490505f80831480612b7f57505f82145b15612b8c57505050612c52565b6014600a54612b9b91906133e5565b831115612bb4576014600a54612bb191906133e5565b92505b612bbd83612c88565b5f600e8190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612c0990613ffc565b5f6040518083038185875af1925050503d805f8114612c43576040519150601f19603f3d011682016040523d82523d5f602084013e612c48565b606091505b5050809150505050505b565b5f8183612c6191906133e5565b905092915050565b5f8183612c769190613453565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115612ca457612ca3614010565b5b604051908082528060200260200182016040528015612cd25781602001602082028036833780820191505090505b50905030815f81518110612ce957612ce861403d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612db1919061407e565b81600181518110612dc557612dc461403d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e2b3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461180d565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612e8d959493929190614199565b5f604051808303815f87803b158015612ea4575f80fd5b505af1158015612eb6573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612ef5578082015181840152602081019050612eda565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612f1a82612ebe565b612f248185612ec8565b9350612f34818560208601612ed8565b612f3d81612f00565b840191505092915050565b5f6020820190508181035f830152612f608184612f10565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f9582612f6c565b9050919050565b612fa581612f8b565b8114612faf575f80fd5b50565b5f81359050612fc081612f9c565b92915050565b5f819050919050565b612fd881612fc6565b8114612fe2575f80fd5b50565b5f81359050612ff381612fcf565b92915050565b5f806040838503121561300f5761300e612f68565b5b5f61301c85828601612fb2565b925050602061302d85828601612fe5565b9150509250929050565b5f8115159050919050565b61304b81613037565b82525050565b5f6020820190506130645f830184613042565b92915050565b61307381612fc6565b82525050565b5f60208201905061308c5f83018461306a565b92915050565b5f602082840312156130a7576130a6612f68565b5b5f6130b484828501612fe5565b91505092915050565b5f805f606084860312156130d4576130d3612f68565b5b5f6130e186828701612fb2565b93505060206130f286828701612fb2565b925050604061310386828701612fe5565b9150509250925092565b5f60ff82169050919050565b6131228161310d565b82525050565b5f60208201905061313b5f830184613119565b92915050565b5f6020828403121561315657613155612f68565b5b5f61316384828501612fb2565b91505092915050565b5f819050919050565b5f61318f61318a61318584612f6c565b61316c565b612f6c565b9050919050565b5f6131a082613175565b9050919050565b5f6131b182613196565b9050919050565b6131c1816131a7565b82525050565b5f6020820190506131da5f8301846131b8565b92915050565b6131e981612f8b565b82525050565b5f6020820190506132025f8301846131e0565b92915050565b6132118161310d565b811461321b575f80fd5b50565b5f8135905061322c81613208565b92915050565b5f819050919050565b61324481613232565b811461324e575f80fd5b50565b5f8135905061325f8161323b565b92915050565b5f805f6060848603121561327c5761327b612f68565b5b5f6132898682870161321e565b935050602061329a86828701613251565b92505060406132ab86828701613251565b9150509250925092565b5f80604083850312156132cb576132ca612f68565b5b5f6132d885828601612fb2565b92505060206132e985828601612fb2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061333757607f821691505b60208210810361334a576133496132f3565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613384602083612ec8565b915061338f82613350565b602082019050919050565b5f6020820190508181035f8301526133b181613378565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133ef82612fc6565b91506133fa83612fc6565b925082820261340881612fc6565b9150828204841483151761341f5761341e6133b8565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61345d82612fc6565b915061346883612fc6565b92508261347857613477613426565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f77657220745f8201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b5f6134dd602883612ec8565b91506134e882613483565b604082019050919050565b5f6020820190508181035f83015261350a816134d1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61356b602883612ec8565b915061357682613511565b604082019050919050565b5f6020820190508181035f8301526135988161355f565b9050919050565b7f43616e6e6f7420736574206d617854786e53697a65206c6f776572207468616e5f8201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b5f6135f9602583612ec8565b91506136048261359f565b604082019050919050565b5f6020820190508181035f830152613626816135ed565b9050919050565b5f61363782612fc6565b915061364283612fc6565b925082820190508082111561365a576136596133b8565b5b92915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6136ba603583612ec8565b91506136c582613660565b604082019050919050565b5f6020820190508181035f8301526136e7816136ae565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613748603483612ec8565b9150613753826136ee565b604082019050919050565b5f6020820190508181035f8301526137758161373c565b9050919050565b7f4d757374206b656570206665657320617420323525206f72206c6573730000005f82015250565b5f6137b0601d83612ec8565b91506137bb8261377c565b602082019050919050565b5f6020820190508181035f8301526137dd816137a4565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61383e602583612ec8565b9150613849826137e4565b604082019050919050565b5f6020820190508181035f83015261386b81613832565b9050919050565b61387b81613232565b82525050565b5f60a0820190506138945f830188613872565b6138a16020830187613872565b6138ae6040830186613872565b6138bb606083018561306a565b6138c860808301846131e0565b9695505050505050565b5f6060820190506138e55f830186613872565b6138f26020830185613872565b6138ff604083018461306a565b949350505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f613945600283613907565b915061395082613911565b600282019050919050565b5f819050919050565b61397561397082613232565b61395b565b82525050565b5f61398582613939565b91506139918285613964565b6020820191506139a18284613964565b6020820191508190509392505050565b5f6080820190506139c45f830187613872565b6139d16020830186613119565b6139de6040830185613872565b6139eb6060830184613872565b95945050505050565b7f496e76616c6964207369676e61747572650000000000000000000000000000005f82015250565b5f613a28601183612ec8565b9150613a33826139f4565b602082019050919050565b5f6020820190508181035f830152613a5581613a1c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613ab6602683612ec8565b9150613ac182613a5c565b604082019050919050565b5f6020820190508181035f830152613ae381613aaa565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b44602483612ec8565b9150613b4f82613aea565b604082019050919050565b5f6020820190508181035f830152613b7181613b38565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bd2602283612ec8565b9150613bdd82613b78565b604082019050919050565b5f6020820190508181035f830152613bff81613bc6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c60602583612ec8565b9150613c6b82613c06565b604082019050919050565b5f6020820190508181035f830152613c8d81613c54565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cee602383612ec8565b9150613cf982613c94565b604082019050919050565b5f6020820190508181035f830152613d1b81613ce2565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613d56601683612ec8565b9150613d6182613d22565b602082019050919050565b5f6020820190508181035f830152613d8381613d4a565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854786e53697a652e000000000000000000000000000000000000000000602082015250565b5f613de4602b83612ec8565b9150613def82613d8a565b604082019050919050565b5f6020820190508181035f830152613e1181613dd8565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e4c601383612ec8565b9150613e5782613e18565b602082019050919050565b5f6020820190508181035f830152613e7981613e40565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854786e53697a652e0000000000000000000000000000000000000000602082015250565b5f613eda602c83612ec8565b9150613ee582613e80565b604082019050919050565b5f6020820190508181035f830152613f0781613ece565b9050919050565b5f613f1882612fc6565b9150613f2383612fc6565b9250828203905081811115613f3b57613f3a6133b8565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f9b602683612ec8565b9150613fa682613f41565b604082019050919050565b5f6020820190508181035f830152613fc881613f8f565b9050919050565b5f81905092915050565b50565b5f613fe75f83613fcf565b9150613ff282613fd9565b5f82019050919050565b5f61400682613fdc565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061407881612f9c565b92915050565b5f6020828403121561409357614092612f68565b5b5f6140a08482850161406a565b91505092915050565b5f819050919050565b5f6140cc6140c76140c2846140a9565b61316c565b612fc6565b9050919050565b6140dc816140b2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61411481612f8b565b82525050565b5f614125838361410b565b60208301905092915050565b5f602082019050919050565b5f614147826140e2565b61415181856140ec565b935061415c836140fc565b805f5b8381101561418c578151614173888261411a565b975061417e83614131565b92505060018101905061415f565b5085935050505092915050565b5f60a0820190506141ac5f83018861306a565b6141b960208301876140d3565b81810360408301526141cb818661413d565b90506141da60608301856131e0565b6141e7608083018461306a565b969550505050505056fea26469706673582212208d1b61234037d4ecaa3572b27ea6f1fb7c62521113432e0cdcf3c676cb3c02b664736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000001cd69332f4027f61f40796e59170bea55464dc450000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000054d6963687900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d49434859000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101fc575f3560e01c8063735de9f71161010c578063bbc0c7421161009f578063dd62ed3e1161006e578063dd62ed3e14610717578063e2f4560514610753578063e4a1b95f1461077d578063eba4c333146107a7578063f2fde38b146107cf57610203565b8063bbc0c74214610683578063c02174ca146106ad578063c816841b146106d7578063c9567bf91461070157610203565b806395d89b41116100db57806395d89b41146105b9578063a457c2d7146105e3578063a9059cbb1461061f578063a90eab8c1461065b57610203565b8063735de9f714610511578063751039fc1461053b5780638da5cb5b146105655780638f3fa8601461058f57610203565b8063313ce5671161018f5780636770474b1161015e5780636770474b146104315780636ddd17131461046d57806370a0823114610497578063715018a6146104d357806371fc4688146104e957610203565b8063313ce5671461037757806335b5fb63146103a157806339509351146103cb5780634a62bb651461040757610203565b80631f7ea8da116101cb5780631f7ea8da146102bf57806323b872dd146102e95780632ac0a943146103255780632b5f295a1461034d57610203565b806306fdde0314610207578063095ea7b31461023157806318160ddd1461026d5780631c499ab01461029757610203565b3661020357005b5f80fd5b348015610212575f80fd5b5061021b6107f7565b6040516102289190612f48565b60405180910390f35b34801561023c575f80fd5b5061025760048036038101906102529190612ff9565b610886565b6040516102649190613051565b60405180910390f35b348015610278575f80fd5b506102816108a3565b60405161028e9190613079565b60405180910390f35b3480156102a2575f80fd5b506102bd60048036038101906102b89190613092565b6108ac565b005b3480156102ca575f80fd5b506102d36109bb565b6040516102e09190613079565b60405180910390f35b3480156102f4575f80fd5b5061030f600480360381019061030a91906130bd565b6109c1565b60405161031c9190613051565b60405180910390f35b348015610330575f80fd5b5061034b60048036038101906103469190613092565b610ab3565b005b348015610358575f80fd5b50610361610bc2565b60405161036e9190613079565b60405180910390f35b348015610382575f80fd5b5061038b610bc8565b6040516103989190613128565b60405180910390f35b3480156103ac575f80fd5b506103b5610bde565b6040516103c29190613079565b60405180910390f35b3480156103d6575f80fd5b506103f160048036038101906103ec9190612ff9565b610be4565b6040516103fe9190613051565b60405180910390f35b348015610412575f80fd5b5061041b610c8b565b6040516104289190613051565b60405180910390f35b34801561043c575f80fd5b5061045760048036038101906104529190613092565b610c9e565b6040516104649190613051565b60405180910390f35b348015610478575f80fd5b50610481610df2565b60405161048e9190613051565b60405180910390f35b3480156104a2575f80fd5b506104bd60048036038101906104b89190613141565b610e05565b6040516104ca9190613079565b60405180910390f35b3480156104de575f80fd5b506104e7610e4b565b005b3480156104f4575f80fd5b5061050f600480360381019061050a9190613092565b610ed2565b005b34801561051c575f80fd5b50610525610f9e565b60405161053291906131c7565b60405180910390f35b348015610546575f80fd5b5061054f610fc3565b60405161055c9190613051565b60405180910390f35b348015610570575f80fd5b50610579611061565b60405161058691906131ef565b60405180910390f35b34801561059a575f80fd5b506105a3611089565b6040516105b09190613079565b60405180910390f35b3480156105c4575f80fd5b506105cd61108f565b6040516105da9190612f48565b60405180910390f35b3480156105ee575f80fd5b5061060960048036038101906106049190612ff9565b61111f565b6040516106169190613051565b60405180910390f35b34801561062a575f80fd5b5061064560048036038101906106409190612ff9565b611205565b6040516106529190613051565b60405180910390f35b348015610666575f80fd5b50610681600480360381019061067c9190613265565b611222565b005b34801561068e575f80fd5b506106976114a5565b6040516106a49190613051565b60405180910390f35b3480156106b8575f80fd5b506106c16114b8565b6040516106ce91906131ef565b60405180910390f35b3480156106e2575f80fd5b506106eb6114dd565b6040516106f891906131ef565b60405180910390f35b34801561070c575f80fd5b50610715611502565b005b348015610722575f80fd5b5061073d600480360381019061073891906132b5565b6115b6565b60405161074a9190613079565b60405180910390f35b34801561075e575f80fd5b50610767611638565b6040516107749190613079565b60405180910390f35b348015610788575f80fd5b5061079161163e565b60405161079e9190613079565b60405180910390f35b3480156107b2575f80fd5b506107cd60048036038101906107c89190613092565b611644565b005b3480156107da575f80fd5b506107f560048036038101906107f09190613141565b611710565b005b60605f805461080590613320565b80601f016020809104026020016040519081016040528092919081815260200182805461083190613320565b801561087c5780601f106108535761010080835404028352916020019161087c565b820191905f5260205f20905b81548152906001019060200180831161085f57829003601f168201915b5050505050905090565b5f610899610892611806565b848461180d565b6001905092915050565b5f600254905090565b6108b4611806565b73ffffffffffffffffffffffffffffffffffffffff166108d2611061565b73ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f9061339a565b60405180910390fd5b670de0b6b3a76400006103e8600561093e6108a3565b61094891906133e5565b6109529190613453565b61095c9190613453565b81101561099e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610995906134f3565b60405180910390fd5b670de0b6b3a7640000816109b291906133e5565b600b8190555050565b600e5481565b5f6109cd8484846119d0565b5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a14611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613581565b60405180910390fd5b610aa785610a9f611806565b85840361180d565b60019150509392505050565b610abb611806565b73ffffffffffffffffffffffffffffffffffffffff16610ad9611061565b73ffffffffffffffffffffffffffffffffffffffff1614610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b269061339a565b60405180910390fd5b670de0b6b3a76400006103e86001610b456108a3565b610b4f91906133e5565b610b599190613453565b610b639190613453565b811015610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c9061360f565b60405180910390fd5b670de0b6b3a764000081610bb991906133e5565b60098190555050565b60095481565b5f600860179054906101000a900460ff16905090565b600d5481565b5f610c81610bf0611806565b848460045f610bfd611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c7c919061362d565b61180d565b6001905092915050565b600860169054906101000a900460ff1681565b5f610ca7611806565b73ffffffffffffffffffffffffffffffffffffffff16610cc5611061565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d129061339a565b60405180910390fd5b620186a06001610d296108a3565b610d3391906133e5565b610d3d9190613453565b821015610d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d76906136d0565b60405180910390fd5b6103e86005610d8c6108a3565b610d9691906133e5565b610da09190613453565b821115610de2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd99061375e565b60405180910390fd5b81600a8190555060019050919050565b600860159054906101000a900460ff1681565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e53611806565b73ffffffffffffffffffffffffffffffffffffffff16610e71611061565b73ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe9061339a565b60405180910390fd5b610ed05f612824565b565b610eda611806565b73ffffffffffffffffffffffffffffffffffffffff16610ef8611061565b73ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f459061339a565b60405180910390fd5b80600c819055506019600c541115610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f92906137c6565b60405180910390fd5b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610fcc611806565b73ffffffffffffffffffffffffffffffffffffffff16610fea611061565b73ffffffffffffffffffffffffffffffffffffffff1614611040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110379061339a565b60405180910390fd5b5f600860166101000a81548160ff0219169083151502179055506001905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606001805461109e90613320565b80601f01602080910402602001604051908101604052809291908181526020018280546110ca90613320565b80156111155780601f106110ec57610100808354040283529160200191611115565b820191905f5260205f20905b8154815290600101906020018083116110f857829003601f168201915b5050505050905090565b5f8060045f61112c611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd90613854565b60405180910390fd5b6111fa6111f1611806565b8585840361180d565b600191505092915050565b5f611218611211611806565b84846119d0565b6001905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152508051906020012046306040516020016112d4959493929190613881565b6040516020818303038152906040528051906020012090505f7f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001205f60405160200161135e939291906138d2565b6040516020818303038152906040528051906020012090505f828260405160200161138a92919061397b565b6040516020818303038152906040528051906020012090505f6001828888886040515f81526020016040526040516113c594939291906139b1565b6020604051602081039080840390855afa1580156113e5573d5f803e3d5ffd5b5050506020604051035190506113f9611061565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145d90613a3e565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b600860149054906101000a900460ff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61150a611806565b73ffffffffffffffffffffffffffffffffffffffff16611528611061565b73ffffffffffffffffffffffffffffffffffffffff161461157e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115759061339a565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b600c5481565b61164c611806565b73ffffffffffffffffffffffffffffffffffffffff1661166a611061565b73ffffffffffffffffffffffffffffffffffffffff16146116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b79061339a565b60405180910390fd5b80600d819055506019600d54111561170d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611704906137c6565b60405180910390fd5b50565b611718611806565b73ffffffffffffffffffffffffffffffffffffffff16611736611061565b73ffffffffffffffffffffffffffffffffffffffff161461178c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117839061339a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f190613acc565b60405180910390fd5b61180381612824565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613b5a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e090613be8565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c39190613079565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3590613c76565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390613d04565b60405180910390fd5b5f8103611ac357611abe83835f6128e7565b61281f565b600860169054906101000a900460ff16156122b557611ae0611061565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b4757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b865750611b56611061565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbe57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bf657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c30575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c485750600f5f9054906101000a900460ff16155b156122b457600860149054906101000a900460ff16611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613d6c565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e4f5750611cfb611061565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d6257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d9c575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611df5575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611e4e575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ef657600954811115611e99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9090613dfa565b60405180910390fd5b600b54611ea583610e05565b82611eb0919061362d565b1115611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890613e62565b60405180910390fd5b6122b3565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156120a95750611f55611061565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fbc57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ff6575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561204f575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120a8575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156120f8576009548111156120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea90613ef0565b60405180910390fd5b6122b2565b612100611061565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561216757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121a1575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121fa575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612253575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122b157600b5461226483610e05565b8261226f919061362d565b11156122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a790613e62565b60405180910390fd5b5b5b5b5b5b5f6122bf30610e05565b90505f600a5482101590508080156122e35750600860159054906101000a900460ff165b80156122fb5750600f5f9054906101000a900460ff16155b8015612354575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123935750612363611061565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123cb57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612405575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156124445750612414611061565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561247c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156124b6575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124f7576001600f5f6101000a81548160ff0219169083151502179055506124dd612b5f565b5f600f5f6101000a81548160ff0219169083151502179055505b5f600f5f9054906101000a900460ff16159050612512611061565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148061257657503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125ae575061dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b806125eb57506125bc611061565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8061262157503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80612659575061dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15612662575f90505b5f811561280f5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156126c657505f600d54115b1561272c576126f360646126e5600d5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600d54600d548261270691906133e5565b6127109190613453565b600e5f828254612720919061362d565b925050819055506127ec565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561278957505f600c54115b156127eb576127b660646127a8600c5488612c5490919063ffffffff16565b612c6990919063ffffffff16565b9050600c54600c54826127c991906133e5565b6127d39190613453565b600e5f8282546127e3919061362d565b925050819055505b5b5f811115612800576127ff8730836128e7565b5b808561280c9190613f0e565b94505b61281a8787876128e7565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294c90613c76565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ba90613d04565b60405180910390fd5b6129ce838383612c7e565b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4990613fb1565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612ae2919061362d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b469190613079565b60405180910390a3612b59848484612c83565b50505050565b5f612b6930610e05565b90505f600e5490505f80831480612b7f57505f82145b15612b8c57505050612c52565b6014600a54612b9b91906133e5565b831115612bb4576014600a54612bb191906133e5565b92505b612bbd83612c88565b5f600e8190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612c0990613ffc565b5f6040518083038185875af1925050503d805f8114612c43576040519150601f19603f3d011682016040523d82523d5f602084013e612c48565b606091505b5050809150505050505b565b5f8183612c6191906133e5565b905092915050565b5f8183612c769190613453565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115612ca457612ca3614010565b5b604051908082528060200260200182016040528015612cd25781602001602082028036833780820191505090505b50905030815f81518110612ce957612ce861403d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612db1919061407e565b81600181518110612dc557612dc461403d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e2b3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461180d565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612e8d959493929190614199565b5f604051808303815f87803b158015612ea4575f80fd5b505af1158015612eb6573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612ef5578082015181840152602081019050612eda565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612f1a82612ebe565b612f248185612ec8565b9350612f34818560208601612ed8565b612f3d81612f00565b840191505092915050565b5f6020820190508181035f830152612f608184612f10565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f9582612f6c565b9050919050565b612fa581612f8b565b8114612faf575f80fd5b50565b5f81359050612fc081612f9c565b92915050565b5f819050919050565b612fd881612fc6565b8114612fe2575f80fd5b50565b5f81359050612ff381612fcf565b92915050565b5f806040838503121561300f5761300e612f68565b5b5f61301c85828601612fb2565b925050602061302d85828601612fe5565b9150509250929050565b5f8115159050919050565b61304b81613037565b82525050565b5f6020820190506130645f830184613042565b92915050565b61307381612fc6565b82525050565b5f60208201905061308c5f83018461306a565b92915050565b5f602082840312156130a7576130a6612f68565b5b5f6130b484828501612fe5565b91505092915050565b5f805f606084860312156130d4576130d3612f68565b5b5f6130e186828701612fb2565b93505060206130f286828701612fb2565b925050604061310386828701612fe5565b9150509250925092565b5f60ff82169050919050565b6131228161310d565b82525050565b5f60208201905061313b5f830184613119565b92915050565b5f6020828403121561315657613155612f68565b5b5f61316384828501612fb2565b91505092915050565b5f819050919050565b5f61318f61318a61318584612f6c565b61316c565b612f6c565b9050919050565b5f6131a082613175565b9050919050565b5f6131b182613196565b9050919050565b6131c1816131a7565b82525050565b5f6020820190506131da5f8301846131b8565b92915050565b6131e981612f8b565b82525050565b5f6020820190506132025f8301846131e0565b92915050565b6132118161310d565b811461321b575f80fd5b50565b5f8135905061322c81613208565b92915050565b5f819050919050565b61324481613232565b811461324e575f80fd5b50565b5f8135905061325f8161323b565b92915050565b5f805f6060848603121561327c5761327b612f68565b5b5f6132898682870161321e565b935050602061329a86828701613251565b92505060406132ab86828701613251565b9150509250925092565b5f80604083850312156132cb576132ca612f68565b5b5f6132d885828601612fb2565b92505060206132e985828601612fb2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061333757607f821691505b60208210810361334a576133496132f3565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613384602083612ec8565b915061338f82613350565b602082019050919050565b5f6020820190508181035f8301526133b181613378565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133ef82612fc6565b91506133fa83612fc6565b925082820261340881612fc6565b9150828204841483151761341f5761341e6133b8565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61345d82612fc6565b915061346883612fc6565b92508261347857613477613426565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f77657220745f8201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b5f6134dd602883612ec8565b91506134e882613483565b604082019050919050565b5f6020820190508181035f83015261350a816134d1565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61356b602883612ec8565b915061357682613511565b604082019050919050565b5f6020820190508181035f8301526135988161355f565b9050919050565b7f43616e6e6f7420736574206d617854786e53697a65206c6f776572207468616e5f8201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b5f6135f9602583612ec8565b91506136048261359f565b604082019050919050565b5f6020820190508181035f830152613626816135ed565b9050919050565b5f61363782612fc6565b915061364283612fc6565b925082820190508082111561365a576136596133b8565b5b92915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6136ba603583612ec8565b91506136c582613660565b604082019050919050565b5f6020820190508181035f8301526136e7816136ae565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613748603483612ec8565b9150613753826136ee565b604082019050919050565b5f6020820190508181035f8301526137758161373c565b9050919050565b7f4d757374206b656570206665657320617420323525206f72206c6573730000005f82015250565b5f6137b0601d83612ec8565b91506137bb8261377c565b602082019050919050565b5f6020820190508181035f8301526137dd816137a4565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61383e602583612ec8565b9150613849826137e4565b604082019050919050565b5f6020820190508181035f83015261386b81613832565b9050919050565b61387b81613232565b82525050565b5f60a0820190506138945f830188613872565b6138a16020830187613872565b6138ae6040830186613872565b6138bb606083018561306a565b6138c860808301846131e0565b9695505050505050565b5f6060820190506138e55f830186613872565b6138f26020830185613872565b6138ff604083018461306a565b949350505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f613945600283613907565b915061395082613911565b600282019050919050565b5f819050919050565b61397561397082613232565b61395b565b82525050565b5f61398582613939565b91506139918285613964565b6020820191506139a18284613964565b6020820191508190509392505050565b5f6080820190506139c45f830187613872565b6139d16020830186613119565b6139de6040830185613872565b6139eb6060830184613872565b95945050505050565b7f496e76616c6964207369676e61747572650000000000000000000000000000005f82015250565b5f613a28601183612ec8565b9150613a33826139f4565b602082019050919050565b5f6020820190508181035f830152613a5581613a1c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613ab6602683612ec8565b9150613ac182613a5c565b604082019050919050565b5f6020820190508181035f830152613ae381613aaa565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b44602483612ec8565b9150613b4f82613aea565b604082019050919050565b5f6020820190508181035f830152613b7181613b38565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bd2602283612ec8565b9150613bdd82613b78565b604082019050919050565b5f6020820190508181035f830152613bff81613bc6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c60602583612ec8565b9150613c6b82613c06565b604082019050919050565b5f6020820190508181035f830152613c8d81613c54565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cee602383612ec8565b9150613cf982613c94565b604082019050919050565b5f6020820190508181035f830152613d1b81613ce2565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613d56601683612ec8565b9150613d6182613d22565b602082019050919050565b5f6020820190508181035f830152613d8381613d4a565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854786e53697a652e000000000000000000000000000000000000000000602082015250565b5f613de4602b83612ec8565b9150613def82613d8a565b604082019050919050565b5f6020820190508181035f830152613e1181613dd8565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e4c601383612ec8565b9150613e5782613e18565b602082019050919050565b5f6020820190508181035f830152613e7981613e40565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854786e53697a652e0000000000000000000000000000000000000000602082015250565b5f613eda602c83612ec8565b9150613ee582613e80565b604082019050919050565b5f6020820190508181035f830152613f0781613ece565b9050919050565b5f613f1882612fc6565b9150613f2383612fc6565b9250828203905081811115613f3b57613f3a6133b8565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f9b602683612ec8565b9150613fa682613f41565b604082019050919050565b5f6020820190508181035f830152613fc881613f8f565b9050919050565b5f81905092915050565b50565b5f613fe75f83613fcf565b9150613ff282613fd9565b5f82019050919050565b5f61400682613fdc565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061407881612f9c565b92915050565b5f6020828403121561409357614092612f68565b5b5f6140a08482850161406a565b91505092915050565b5f819050919050565b5f6140cc6140c76140c2846140a9565b61316c565b612fc6565b9050919050565b6140dc816140b2565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61411481612f8b565b82525050565b5f614125838361410b565b60208301905092915050565b5f602082019050919050565b5f614147826140e2565b61415181856140ec565b935061415c836140fc565b805f5b8381101561418c578151614173888261411a565b975061417e83614131565b92505060018101905061415f565b5085935050505092915050565b5f60a0820190506141ac5f83018861306a565b6141b960208301876140d3565b81810360408301526141cb818661413d565b90506141da60608301856131e0565b6141e7608083018461306a565b969550505050505056fea26469706673582212208d1b61234037d4ecaa3572b27ea6f1fb7c62521113432e0cdcf3c676cb3c02b664736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000001cd69332f4027f61f40796e59170bea55464dc450000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000054d6963687900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d49434859000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Michy
Arg [1] : symbol_ (string): MICHY
Arg [2] : decimals_ (uint8): 18
Arg [3] : totalNativeSupply_ (uint256): 1000000000
Arg [4] : marketingWallet_ (address): 0x1CD69332F4027F61f40796e59170bea55464dC45
Arg [5] : buyFee_ (uint256): 25
Arg [6] : sellFee_ (uint256): 25
-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [4] : 0000000000000000000000001cd69332f4027f61f40796e59170bea55464dc45
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [8] : 4d69636879000000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [10] : 4d49434859000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
14961:9229:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10306:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11037:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10627:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18177:221;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15487:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11397:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18803:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15305:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16760:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15450:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11897:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15228:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18406:389;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15190:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10743:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;811:103;;;;;;;;;;;;;:::i;:::-;;19023:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15036:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18048:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;588:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15377:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10414:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12120:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11214:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16978:1062;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15150:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15118:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15083:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16860:110;;;;;;;;;;;;;:::i;:::-;;10878:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15337:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15414:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19212:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;922:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10306:100;10360:13;10393:5;10386:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10306:100;:::o;11037:169::-;11120:4;11137:39;11146:12;:10;:12::i;:::-;11160:7;11169:6;11137:8;:39::i;:::-;11194:4;11187:11;;11037:169;;;;:::o;10627:108::-;10688:7;10715:12;;10708:19;;10627:108;:::o;18177:221::-;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18297:4:::1;18289;18284:1;18268:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18267:26;;;;:::i;:::-;18266:35;;;;:::i;:::-;18256:6;:45;;18248:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;18383:6;18373;:17;;;;:::i;:::-;18357:13;:33;;;;18177:221:::0;:::o;15487:30::-;;;;:::o;11397:492::-;11537:4;11554:36;11564:6;11572:9;11583:6;11554:9;:36::i;:::-;11603:24;11630:11;:19;11642:6;11630:19;;;;;;;;;;;;;;;:33;11650:12;:10;:12::i;:::-;11630:33;;;;;;;;;;;;;;;;11603:60;;11702:6;11682:16;:26;;11674:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11789:57;11798:6;11806:12;:10;:12::i;:::-;11839:6;11820:16;:25;11789:8;:57::i;:::-;11877:4;11870:11;;;11397:492;;;;;:::o;18803:212::-;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18920:4:::1;18912;18907:1;18891:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18890:26;;;;:::i;:::-;18889:35;;;;:::i;:::-;18879:6;:45;;18871:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;19000:6;18990;:17;;;;:::i;:::-;18977:10;:30;;;;18803:212:::0;:::o;15305:25::-;;;;:::o;16760:92::-;16810:5;16835:9;;;;;;;;;;;16828:16;;16760:92;:::o;15450:28::-;;;;:::o;11897:215::-;11985:4;12002:80;12011:12;:10;:12::i;:::-;12025:7;12071:10;12034:11;:25;12046:12;:10;:12::i;:::-;12034:25;;;;;;;;;;;;;;;:34;12060:7;12034:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12002:8;:80::i;:::-;12100:4;12093:11;;11897:215;;;;:::o;15228:33::-;;;;;;;;;;;;;:::o;18406:389::-;18485:4;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18545:6:::1;18540:1;18524:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18523:28;;;;:::i;:::-;18510:9;:41;;18502:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;18663:4;18658:1;18642:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18641:26;;;;:::i;:::-;18628:9;:39;;18620:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;18756:9;18735:18;:30;;;;18783:4;18776:11;;18406:389:::0;;;:::o;15190:31::-;;;;;;;;;;;;;:::o;10743:127::-;10817:7;10844:9;:18;10854:7;10844:18;;;;;;;;;;;;;;;;10837:25;;10743:127;;;:::o;811:103::-;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;876:30:::1;903:1;876:18;:30::i;:::-;811:103::o:0;19023:181::-;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19113:12:::1;19098;:27;;;;19160:2;19144:12;;:18;;19136:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19023:181:::0;:::o;15036:40::-;;;;;;;;;;;;;:::o;18048:121::-;18100:4;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18134:5:::1;18117:14;;:22;;;;;;;;;;;;;;;;;;18157:4;18150:11;;18048:121:::0;:::o;588:87::-;634:7;661:6;;;;;;;;;;;654:13;;588:87;:::o;15377:28::-;;;;:::o;10414:104::-;10470:13;10503:7;10496:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10414:104;:::o;12120:413::-;12213:4;12230:24;12257:11;:25;12269:12;:10;:12::i;:::-;12257:25;;;;;;;;;;;;;;;:34;12283:7;12257:34;;;;;;;;;;;;;;;;12230:61;;12330:15;12310:16;:35;;12302:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12423:67;12432:12;:10;:12::i;:::-;12446:7;12474:15;12455:16;:34;12423:8;:67::i;:::-;12521:4;12514:11;;;12120:413;;;;:::o;11214:175::-;11300:4;11317:42;11327:12;:10;:12::i;:::-;11341:9;11352:6;11317:9;:42::i;:::-;11377:4;11370:11;;11214:175;;;;:::o;16978:1062::-;17062:18;17136:95;17260:22;;;;;;;;;;;;;;;;;17250:33;;;;;;17312:10;;;;;;;;;;;;;;;;;17302:21;;;;;;17342:13;17382:4;17107:295;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17083:330;;;;;;17062:351;;17426:18;17500:49;17578:23;;;;;;;;;;;;;;;;;17568:34;;;;;;17629:1;17471:175;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17447:210;;;;;;17426:231;;17670:14;17775:10;17804;17711:134;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17687:169;;;;;;17670:186;;17869:14;17886:26;17896:6;17904:1;17907;17910;17886:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17869:43;;17941:7;:5;:7::i;:::-;17931:17;;:6;:17;;;17923:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;17999:4;17983:13;;:20;;;;;;;;;;;;;;;;;;18028:4;18014:11;;:18;;;;;;;;;;;;;;;;;;17051:989;;;;16978:1062;;;:::o;15150:33::-;;;;;;;;;;;;;:::o;15118:23::-;;;;;;;;;;;;;:::o;15083:26::-;;;;;;;;;;;;;:::o;16860:110::-;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16929:4:::1;16913:13;;:20;;;;;;;;;;;;;;;;;;16958:4;16944:11;;:18;;;;;;;;;;;;;;;;;;16860:110::o:0;10878:151::-;10967:7;10994:11;:18;11006:5;10994:18;;;;;;;;;;;;;;;:27;11013:7;10994:27;;;;;;;;;;;;;;;;10987:34;;10878:151;;;;:::o;15337:33::-;;;;:::o;15414:27::-;;;;:::o;19212:184::-;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19304:12:::1;19288:13;:28;;;;19352:2;19335:13;;:19;;19327:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;19212:184:::0;:::o;922:201::-;734:12;:10;:12::i;:::-;723:23;;:7;:5;:7::i;:::-;:23;;;715:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1031:1:::1;1011:22;;:8;:22;;::::0;1003:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1087:28;1106:8;1087:18;:28::i;:::-;922:201:::0;:::o;134:98::-;187:7;214:10;207:17;;134:98;:::o;13547:380::-;13700:1;13683:19;;:5;:19;;;13675:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13781:1;13762:21;;:7;:21;;;13754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13865:6;13835:11;:18;13847:5;13835:18;;;;;;;;;;;;;;;:27;13854:7;13835:27;;;;;;;;;;;;;;;:36;;;;13903:7;13887:32;;13896:5;13887:32;;;13912:6;13887:32;;;;;;:::i;:::-;;;;;;;;13547:380;;;:::o;20538:3534::-;20652:1;20636:18;;:4;:18;;;20628:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20729:1;20715:16;;:2;:16;;;20707:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20798:1;20788:6;:11;20784:93;;20816:28;20832:4;20838:2;20842:1;20816:15;:28::i;:::-;20859:7;;20784:93;20893:14;;;;;;;;;;;20889:1642;;;20936:7;:5;:7::i;:::-;20928:15;;:4;:15;;;;:57;;;;;20980:4;20964:21;;:4;:21;;;;20928:57;:91;;;;;21012:7;:5;:7::i;:::-;21006:13;;:2;:13;;;;20928:91;:131;;;;;21054:4;21040:19;;:2;:19;;;;20928:131;:168;;;;;21094:1;21080:16;;:2;:16;;;;20928:168;:210;;;;;21131:6;21117:21;;:2;:21;;;;20928:210;:240;;;;;21160:8;;;;;;;;;;;21159:9;20928:240;20924:1596;;;21212:13;;;;;;;;;;;21204:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;21331:11;;;;;;;;;;;21315:28;;:4;:28;;;:238;;;;;21394:7;:5;:7::i;:::-;21388:13;;:2;:13;;;;:37;;;;;21420:4;21406:19;;:2;:19;;;;21388:37;:62;;;;;21443:6;21429:21;;:2;:21;;;;21388:62;:115;;;;;21489:13;;;;;;;;;;;21475:28;;:2;:28;;;;21388:115;:146;;;;;21522:11;;;;;;;;;;;21508:26;;:2;:26;;;;21388:146;21315:238;21311:1194;;;21596:10;;21586:6;:20;;21578:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;21711:13;;21694;21704:2;21694:9;:13::i;:::-;21685:6;:22;;;;:::i;:::-;:39;;21677:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21311:1194;;;21838:11;;;;;;;;;;;21824:26;;:2;:26;;;:229;;;;;21886:7;:5;:7::i;:::-;21878:15;;:4;:15;;;;:41;;;;;21914:4;21898:21;;:4;:21;;;;21878:41;:68;;;;;21939:6;21923:23;;:4;:23;;;;21878:68;:123;;;;;21987:13;;;;;;;;;;;21971:30;;:4;:30;;;;21878:123;:156;;;;;22022:11;;;;;;;;;;;22006:28;;:4;:28;;;;21878:156;21824:229;21820:685;;;22096:10;;22086:6;:20;;22078:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;21820:685;;;22231:7;:5;:7::i;:::-;22225:13;;:2;:13;;;;:37;;;;;22257:4;22243:19;;:2;:19;;;;22225:37;:62;;;;;22280:6;22266:21;;:2;:21;;;;22225:62;:115;;;;;22326:13;;;;;;;;;;;22312:28;;:2;:28;;;;22225:115;:146;;;;;22359:11;;;;;;;;;;;22345:26;;:2;:26;;;;22225:146;22198:307;;;22448:13;;22431;22441:2;22431:9;:13::i;:::-;22422:6;:22;;;;:::i;:::-;:39;;22414:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;22198:307;21820:685;21311:1194;20924:1596;20889:1642;22543:23;22569:24;22587:4;22569:9;:24::i;:::-;22543:50;;22604:12;22638:18;;22619:15;:37;;22604:52;;22671:7;:35;;;;;22695:11;;;;;;;;;;;22671:35;:61;;;;;22724:8;;;;;;;;;;;22723:9;22671:61;:106;;;;;22765:11;;;;;;;;;;;22749:28;;:4;:28;;;;22671:106;:138;;;;;22802:7;:5;:7::i;:::-;22794:15;;:4;:15;;;;22671:138;:177;;;;;22843:4;22827:21;;:4;:21;;;;22671:177;:218;;;;;22882:6;22866:23;;:4;:23;;;;22671:218;:248;;;;;22912:7;:5;:7::i;:::-;22906:13;;:2;:13;;;;22671:248;:285;;;;;22951:4;22937:19;;:2;:19;;;;22671:285;:324;;;;;22988:6;22974:21;;:2;:21;;;;22671:324;22667:431;;;23026:4;23015:8;;:15;;;;;;;;;;;;;;;;;;23045:10;:8;:10::i;:::-;23081:5;23070:8;;:16;;;;;;;;;;;;;;;;;;22667:431;23110:12;23126:8;;;;;;;;;;;23125:9;23110:24;;23171:7;:5;:7::i;:::-;23163:15;;:4;:15;;;:41;;;;23199:4;23183:21;;:4;:21;;;23163:41;:69;;;;23225:6;23209:23;;:4;:23;;;23163:69;:100;;;;23256:7;:5;:7::i;:::-;23250:13;;:2;:13;;;23163:100;:124;;;;23282:4;23268:19;;:2;:19;;;23163:124;:150;;;;23306:6;23292:21;;:2;:21;;;23163:150;23145:208;;;23348:5;23338:15;;23145:208;23366:11;23396:7;23392:627;;;23462:11;;;;;;;;;;;23448:26;;:2;:26;;;:47;;;;;23494:1;23478:13;;:17;23448:47;23444:446;;;23522:34;23552:3;23522:25;23533:13;;23522:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;23516:40;;23618:13;;23601;;23595:3;:19;;;;:::i;:::-;23594:37;;;;:::i;:::-;23575:15;;:56;;;;;;;:::i;:::-;;;;;;;;23444:446;;;23709:11;;;;;;;;;;;23693:28;;:4;:28;;;:48;;;;;23740:1;23725:12;;:16;23693:48;23689:201;;;23768:33;23797:3;23768:24;23779:12;;23768:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;23762:39;;23862:12;;23846;;23840:3;:18;;;;:::i;:::-;23839:35;;;;:::i;:::-;23820:15;;:54;;;;;;;:::i;:::-;;;;;;;;23689:201;23444:446;23916:1;23910:3;:7;23906:71;;;23936:41;23952:4;23966;23973:3;23936:15;:41::i;:::-;23906:71;24004:3;23994:13;;;;;:::i;:::-;;;23392:627;24031:33;24047:4;24053:2;24057:6;24031:15;:33::i;:::-;20617:3455;;;;20538:3534;;;;:::o;1131:191::-;1205:16;1224:6;;;;;;;;;;;1205:25;;1250:8;1241:6;;:17;;;;;;;;;;;;;;;;;;1305:8;1274:40;;1295:8;1274:40;;;;;;;;;;;;1194:128;1131:191;:::o;13935:733::-;14093:1;14075:20;;:6;:20;;;14067:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14177:1;14156:23;;:9;:23;;;14148:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14232:47;14253:6;14261:9;14272:6;14232:20;:47::i;:::-;14292:21;14316:9;:17;14326:6;14316:17;;;;;;;;;;;;;;;;14292:41;;14369:6;14352:13;:23;;14344:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14490:6;14474:13;:22;14454:9;:17;14464:6;14454:17;;;;;;;;;;;;;;;:42;;;;14542:6;14518:9;:20;14528:9;14518:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14583:9;14566:35;;14575:6;14566:35;;;14594:6;14566:35;;;;;;:::i;:::-;;;;;;;;14614:46;14634:6;14642:9;14653:6;14614:19;:46::i;:::-;14056:612;13935:733;;;:::o;19404:535::-;19443:23;19469:24;19487:4;19469:9;:24::i;:::-;19443:50;;19504:25;19532:15;;19504:43;;19558:12;19606:1;19587:15;:20;:46;;;;19632:1;19611:17;:22;19587:46;19583:72;;;19648:7;;;;;19583:72;19710:2;19689:18;;:23;;;;:::i;:::-;19671:15;:41;19667:101;;;19766:2;19745:18;;:23;;;;:::i;:::-;19727:41;;19667:101;19781:33;19798:15;19781:16;:33::i;:::-;19845:1;19827:15;:19;;;;19881:8;;;;;;;;;;;19873:22;;19904:21;19873:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19859:72;;;;;19432:507;;;19404:535;:::o;2710:98::-;2768:7;2799:1;2795;:5;;;;:::i;:::-;2788:12;;2710:98;;;;:::o;2816:::-;2874:7;2905:1;2901;:5;;;;:::i;:::-;2894:12;;2816:98;;;;:::o;14676:125::-;;;;:::o;14809:124::-;;;;:::o;19947:583::-;20073:21;20111:1;20097:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20073:40;;20142:4;20124;20129:1;20124:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20168:13;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20158:4;20163:1;20158:7;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;;;;20201:60;20218:4;20233:13;;;;;;;;;;;20249:11;20201:8;:60::i;:::-;20300:13;;;;;;;;;;;:64;;;20379:11;20405:1;20449:4;20476;20496:15;20300:222;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20002:528;19947:583;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:60::-;5551:3;5572:5;5565:12;;5523:60;;;:::o;5589:142::-;5639:9;5672:53;5690:34;5699:24;5717:5;5699:24;:::i;:::-;5690:34;:::i;:::-;5672:53;:::i;:::-;5659:66;;5589:142;;;:::o;5737:126::-;5787:9;5820:37;5851:5;5820:37;:::i;:::-;5807:50;;5737:126;;;:::o;5869:152::-;5945:9;5978:37;6009:5;5978:37;:::i;:::-;5965:50;;5869:152;;;:::o;6027:183::-;6140:63;6197:5;6140:63;:::i;:::-;6135:3;6128:76;6027:183;;:::o;6216:274::-;6335:4;6373:2;6362:9;6358:18;6350:26;;6386:97;6480:1;6469:9;6465:17;6456:6;6386:97;:::i;:::-;6216:274;;;;:::o;6496:118::-;6583:24;6601:5;6583:24;:::i;:::-;6578:3;6571:37;6496:118;;:::o;6620:222::-;6713:4;6751:2;6740:9;6736:18;6728:26;;6764:71;6832:1;6821:9;6817:17;6808:6;6764:71;:::i;:::-;6620:222;;;;:::o;6848:118::-;6919:22;6935:5;6919:22;:::i;:::-;6912:5;6909:33;6899:61;;6956:1;6953;6946:12;6899:61;6848:118;:::o;6972:135::-;7016:5;7054:6;7041:20;7032:29;;7070:31;7095:5;7070:31;:::i;:::-;6972:135;;;;:::o;7113:77::-;7150:7;7179:5;7168:16;;7113:77;;;:::o;7196:122::-;7269:24;7287:5;7269:24;:::i;:::-;7262:5;7259:35;7249:63;;7308:1;7305;7298:12;7249:63;7196:122;:::o;7324:139::-;7370:5;7408:6;7395:20;7386:29;;7424:33;7451:5;7424:33;:::i;:::-;7324:139;;;;:::o;7469:615::-;7544:6;7552;7560;7609:2;7597:9;7588:7;7584:23;7580:32;7577:119;;;7615:79;;:::i;:::-;7577:119;7735:1;7760:51;7803:7;7794:6;7783:9;7779:22;7760:51;:::i;:::-;7750:61;;7706:115;7860:2;7886:53;7931:7;7922:6;7911:9;7907:22;7886:53;:::i;:::-;7876:63;;7831:118;7988:2;8014:53;8059:7;8050:6;8039:9;8035:22;8014:53;:::i;:::-;8004:63;;7959:118;7469:615;;;;;:::o;8090:474::-;8158:6;8166;8215:2;8203:9;8194:7;8190:23;8186:32;8183:119;;;8221:79;;:::i;:::-;8183:119;8341:1;8366:53;8411:7;8402:6;8391:9;8387:22;8366:53;:::i;:::-;8356:63;;8312:117;8468:2;8494:53;8539:7;8530:6;8519:9;8515:22;8494:53;:::i;:::-;8484:63;;8439:118;8090:474;;;;;:::o;8570:180::-;8618:77;8615:1;8608:88;8715:4;8712:1;8705:15;8739:4;8736:1;8729:15;8756:320;8800:6;8837:1;8831:4;8827:12;8817:22;;8884:1;8878:4;8874:12;8905:18;8895:81;;8961:4;8953:6;8949:17;8939:27;;8895:81;9023:2;9015:6;9012:14;8992:18;8989:38;8986:84;;9042:18;;:::i;:::-;8986:84;8807:269;8756:320;;;:::o;9082:182::-;9222:34;9218:1;9210:6;9206:14;9199:58;9082:182;:::o;9270:366::-;9412:3;9433:67;9497:2;9492:3;9433:67;:::i;:::-;9426:74;;9509:93;9598:3;9509:93;:::i;:::-;9627:2;9622:3;9618:12;9611:19;;9270:366;;;:::o;9642:419::-;9808:4;9846:2;9835:9;9831:18;9823:26;;9895:9;9889:4;9885:20;9881:1;9870:9;9866:17;9859:47;9923:131;10049:4;9923:131;:::i;:::-;9915:139;;9642:419;;;:::o;10067:180::-;10115:77;10112:1;10105:88;10212:4;10209:1;10202:15;10236:4;10233:1;10226:15;10253:410;10293:7;10316:20;10334:1;10316:20;:::i;:::-;10311:25;;10350:20;10368:1;10350:20;:::i;:::-;10345:25;;10405:1;10402;10398:9;10427:30;10445:11;10427:30;:::i;:::-;10416:41;;10606:1;10597:7;10593:15;10590:1;10587:22;10567:1;10560:9;10540:83;10517:139;;10636:18;;:::i;:::-;10517:139;10301:362;10253:410;;;;:::o;10669:180::-;10717:77;10714:1;10707:88;10814:4;10811:1;10804:15;10838:4;10835:1;10828:15;10855:185;10895:1;10912:20;10930:1;10912:20;:::i;:::-;10907:25;;10946:20;10964:1;10946:20;:::i;:::-;10941:25;;10985:1;10975:35;;10990:18;;:::i;:::-;10975:35;11032:1;11029;11025:9;11020:14;;10855:185;;;;:::o;11046:227::-;11186:34;11182:1;11174:6;11170:14;11163:58;11255:10;11250:2;11242:6;11238:15;11231:35;11046:227;:::o;11279:366::-;11421:3;11442:67;11506:2;11501:3;11442:67;:::i;:::-;11435:74;;11518:93;11607:3;11518:93;:::i;:::-;11636:2;11631:3;11627:12;11620:19;;11279:366;;;:::o;11651:419::-;11817:4;11855:2;11844:9;11840:18;11832:26;;11904:9;11898:4;11894:20;11890:1;11879:9;11875:17;11868:47;11932:131;12058:4;11932:131;:::i;:::-;11924:139;;11651:419;;;:::o;12076:227::-;12216:34;12212:1;12204:6;12200:14;12193:58;12285:10;12280:2;12272:6;12268:15;12261:35;12076:227;:::o;12309:366::-;12451:3;12472:67;12536:2;12531:3;12472:67;:::i;:::-;12465:74;;12548:93;12637:3;12548:93;:::i;:::-;12666:2;12661:3;12657:12;12650:19;;12309:366;;;:::o;12681:419::-;12847:4;12885:2;12874:9;12870:18;12862:26;;12934:9;12928:4;12924:20;12920:1;12909:9;12905:17;12898:47;12962:131;13088:4;12962:131;:::i;:::-;12954:139;;12681:419;;;:::o;13106:224::-;13246:34;13242:1;13234:6;13230:14;13223:58;13315:7;13310:2;13302:6;13298:15;13291:32;13106:224;:::o;13336:366::-;13478:3;13499:67;13563:2;13558:3;13499:67;:::i;:::-;13492:74;;13575:93;13664:3;13575:93;:::i;:::-;13693:2;13688:3;13684:12;13677:19;;13336:366;;;:::o;13708:419::-;13874:4;13912:2;13901:9;13897:18;13889:26;;13961:9;13955:4;13951:20;13947:1;13936:9;13932:17;13925:47;13989:131;14115:4;13989:131;:::i;:::-;13981:139;;13708:419;;;:::o;14133:191::-;14173:3;14192:20;14210:1;14192:20;:::i;:::-;14187:25;;14226:20;14244:1;14226:20;:::i;:::-;14221:25;;14269:1;14266;14262:9;14255:16;;14290:3;14287:1;14284:10;14281:36;;;14297:18;;:::i;:::-;14281:36;14133:191;;;;:::o;14330:240::-;14470:34;14466:1;14458:6;14454:14;14447:58;14539:23;14534:2;14526:6;14522:15;14515:48;14330:240;:::o;14576:366::-;14718:3;14739:67;14803:2;14798:3;14739:67;:::i;:::-;14732:74;;14815:93;14904:3;14815:93;:::i;:::-;14933:2;14928:3;14924:12;14917:19;;14576:366;;;:::o;14948:419::-;15114:4;15152:2;15141:9;15137:18;15129:26;;15201:9;15195:4;15191:20;15187:1;15176:9;15172:17;15165:47;15229:131;15355:4;15229:131;:::i;:::-;15221:139;;14948:419;;;:::o;15373:239::-;15513:34;15509:1;15501:6;15497:14;15490:58;15582:22;15577:2;15569:6;15565:15;15558:47;15373:239;:::o;15618:366::-;15760:3;15781:67;15845:2;15840:3;15781:67;:::i;:::-;15774:74;;15857:93;15946:3;15857:93;:::i;:::-;15975:2;15970:3;15966:12;15959:19;;15618:366;;;:::o;15990:419::-;16156:4;16194:2;16183:9;16179:18;16171:26;;16243:9;16237:4;16233:20;16229:1;16218:9;16214:17;16207:47;16271:131;16397:4;16271:131;:::i;:::-;16263:139;;15990:419;;;:::o;16415:179::-;16555:31;16551:1;16543:6;16539:14;16532:55;16415:179;:::o;16600:366::-;16742:3;16763:67;16827:2;16822:3;16763:67;:::i;:::-;16756:74;;16839:93;16928:3;16839:93;:::i;:::-;16957:2;16952:3;16948:12;16941:19;;16600:366;;;:::o;16972:419::-;17138:4;17176:2;17165:9;17161:18;17153:26;;17225:9;17219:4;17215:20;17211:1;17200:9;17196:17;17189:47;17253:131;17379:4;17253:131;:::i;:::-;17245:139;;16972:419;;;:::o;17397:224::-;17537:34;17533:1;17525:6;17521:14;17514:58;17606:7;17601:2;17593:6;17589:15;17582:32;17397:224;:::o;17627:366::-;17769:3;17790:67;17854:2;17849:3;17790:67;:::i;:::-;17783:74;;17866:93;17955:3;17866:93;:::i;:::-;17984:2;17979:3;17975:12;17968:19;;17627:366;;;:::o;17999:419::-;18165:4;18203:2;18192:9;18188:18;18180:26;;18252:9;18246:4;18242:20;18238:1;18227:9;18223:17;18216:47;18280:131;18406:4;18280:131;:::i;:::-;18272:139;;17999:419;;;:::o;18424:118::-;18511:24;18529:5;18511:24;:::i;:::-;18506:3;18499:37;18424:118;;:::o;18548:664::-;18753:4;18791:3;18780:9;18776:19;18768:27;;18805:71;18873:1;18862:9;18858:17;18849:6;18805:71;:::i;:::-;18886:72;18954:2;18943:9;18939:18;18930:6;18886:72;:::i;:::-;18968;19036:2;19025:9;19021:18;19012:6;18968:72;:::i;:::-;19050;19118:2;19107:9;19103:18;19094:6;19050:72;:::i;:::-;19132:73;19200:3;19189:9;19185:19;19176:6;19132:73;:::i;:::-;18548:664;;;;;;;;:::o;19218:442::-;19367:4;19405:2;19394:9;19390:18;19382:26;;19418:71;19486:1;19475:9;19471:17;19462:6;19418:71;:::i;:::-;19499:72;19567:2;19556:9;19552:18;19543:6;19499:72;:::i;:::-;19581;19649:2;19638:9;19634:18;19625:6;19581:72;:::i;:::-;19218:442;;;;;;:::o;19666:148::-;19768:11;19805:3;19790:18;;19666:148;;;;:::o;19820:214::-;19960:66;19956:1;19948:6;19944:14;19937:90;19820:214;:::o;20040:400::-;20200:3;20221:84;20303:1;20298:3;20221:84;:::i;:::-;20214:91;;20314:93;20403:3;20314:93;:::i;:::-;20432:1;20427:3;20423:11;20416:18;;20040:400;;;:::o;20446:79::-;20485:7;20514:5;20503:16;;20446:79;;;:::o;20531:157::-;20636:45;20656:24;20674:5;20656:24;:::i;:::-;20636:45;:::i;:::-;20631:3;20624:58;20531:157;;:::o;20694:663::-;20935:3;20957:148;21101:3;20957:148;:::i;:::-;20950:155;;21115:75;21186:3;21177:6;21115:75;:::i;:::-;21215:2;21210:3;21206:12;21199:19;;21228:75;21299:3;21290:6;21228:75;:::i;:::-;21328:2;21323:3;21319:12;21312:19;;21348:3;21341:10;;20694:663;;;;;:::o;21363:545::-;21536:4;21574:3;21563:9;21559:19;21551:27;;21588:71;21656:1;21645:9;21641:17;21632:6;21588:71;:::i;:::-;21669:68;21733:2;21722:9;21718:18;21709:6;21669:68;:::i;:::-;21747:72;21815:2;21804:9;21800:18;21791:6;21747:72;:::i;:::-;21829;21897:2;21886:9;21882:18;21873:6;21829:72;:::i;:::-;21363:545;;;;;;;:::o;21914:167::-;22054:19;22050:1;22042:6;22038:14;22031:43;21914:167;:::o;22087:366::-;22229:3;22250:67;22314:2;22309:3;22250:67;:::i;:::-;22243:74;;22326:93;22415:3;22326:93;:::i;:::-;22444:2;22439:3;22435:12;22428:19;;22087:366;;;:::o;22459:419::-;22625:4;22663:2;22652:9;22648:18;22640:26;;22712:9;22706:4;22702:20;22698:1;22687:9;22683:17;22676:47;22740:131;22866:4;22740:131;:::i;:::-;22732:139;;22459:419;;;:::o;22884:225::-;23024:34;23020:1;23012:6;23008:14;23001:58;23093:8;23088:2;23080:6;23076:15;23069:33;22884:225;:::o;23115:366::-;23257:3;23278:67;23342:2;23337:3;23278:67;:::i;:::-;23271:74;;23354:93;23443:3;23354:93;:::i;:::-;23472:2;23467:3;23463:12;23456:19;;23115:366;;;:::o;23487:419::-;23653:4;23691:2;23680:9;23676:18;23668:26;;23740:9;23734:4;23730:20;23726:1;23715:9;23711:17;23704:47;23768:131;23894:4;23768:131;:::i;:::-;23760:139;;23487:419;;;:::o;23912:223::-;24052:34;24048:1;24040:6;24036:14;24029:58;24121:6;24116:2;24108:6;24104:15;24097:31;23912:223;:::o;24141:366::-;24283:3;24304:67;24368:2;24363:3;24304:67;:::i;:::-;24297:74;;24380:93;24469:3;24380:93;:::i;:::-;24498:2;24493:3;24489:12;24482:19;;24141:366;;;:::o;24513:419::-;24679:4;24717:2;24706:9;24702:18;24694:26;;24766:9;24760:4;24756:20;24752:1;24741:9;24737:17;24730:47;24794:131;24920:4;24794:131;:::i;:::-;24786:139;;24513:419;;;:::o;24938:221::-;25078:34;25074:1;25066:6;25062:14;25055:58;25147:4;25142:2;25134:6;25130:15;25123:29;24938:221;:::o;25165:366::-;25307:3;25328:67;25392:2;25387:3;25328:67;:::i;:::-;25321:74;;25404:93;25493:3;25404:93;:::i;:::-;25522:2;25517:3;25513:12;25506:19;;25165:366;;;:::o;25537:419::-;25703:4;25741:2;25730:9;25726:18;25718:26;;25790:9;25784:4;25780:20;25776:1;25765:9;25761:17;25754:47;25818:131;25944:4;25818:131;:::i;:::-;25810:139;;25537:419;;;:::o;25962:224::-;26102:34;26098:1;26090:6;26086:14;26079:58;26171:7;26166:2;26158:6;26154:15;26147:32;25962:224;:::o;26192:366::-;26334:3;26355:67;26419:2;26414:3;26355:67;:::i;:::-;26348:74;;26431:93;26520:3;26431:93;:::i;:::-;26549:2;26544:3;26540:12;26533:19;;26192:366;;;:::o;26564:419::-;26730:4;26768:2;26757:9;26753:18;26745:26;;26817:9;26811:4;26807:20;26803:1;26792:9;26788:17;26781:47;26845:131;26971:4;26845:131;:::i;:::-;26837:139;;26564:419;;;:::o;26989:222::-;27129:34;27125:1;27117:6;27113:14;27106:58;27198:5;27193:2;27185:6;27181:15;27174:30;26989:222;:::o;27217:366::-;27359:3;27380:67;27444:2;27439:3;27380:67;:::i;:::-;27373:74;;27456:93;27545:3;27456:93;:::i;:::-;27574:2;27569:3;27565:12;27558:19;;27217:366;;;:::o;27589:419::-;27755:4;27793:2;27782:9;27778:18;27770:26;;27842:9;27836:4;27832:20;27828:1;27817:9;27813:17;27806:47;27870:131;27996:4;27870:131;:::i;:::-;27862:139;;27589:419;;;:::o;28014:172::-;28154:24;28150:1;28142:6;28138:14;28131:48;28014:172;:::o;28192:366::-;28334:3;28355:67;28419:2;28414:3;28355:67;:::i;:::-;28348:74;;28431:93;28520:3;28431:93;:::i;:::-;28549:2;28544:3;28540:12;28533:19;;28192:366;;;:::o;28564:419::-;28730:4;28768:2;28757:9;28753:18;28745:26;;28817:9;28811:4;28807:20;28803:1;28792:9;28788:17;28781:47;28845:131;28971:4;28845:131;:::i;:::-;28837:139;;28564:419;;;:::o;28989:230::-;29129:34;29125:1;29117:6;29113:14;29106:58;29198:13;29193:2;29185:6;29181:15;29174:38;28989:230;:::o;29225:366::-;29367:3;29388:67;29452:2;29447:3;29388:67;:::i;:::-;29381:74;;29464:93;29553:3;29464:93;:::i;:::-;29582:2;29577:3;29573:12;29566:19;;29225:366;;;:::o;29597:419::-;29763:4;29801:2;29790:9;29786:18;29778:26;;29850:9;29844:4;29840:20;29836:1;29825:9;29821:17;29814:47;29878:131;30004:4;29878:131;:::i;:::-;29870:139;;29597:419;;;:::o;30022:169::-;30162:21;30158:1;30150:6;30146:14;30139:45;30022:169;:::o;30197:366::-;30339:3;30360:67;30424:2;30419:3;30360:67;:::i;:::-;30353:74;;30436:93;30525:3;30436:93;:::i;:::-;30554:2;30549:3;30545:12;30538:19;;30197:366;;;:::o;30569:419::-;30735:4;30773:2;30762:9;30758:18;30750:26;;30822:9;30816:4;30812:20;30808:1;30797:9;30793:17;30786:47;30850:131;30976:4;30850:131;:::i;:::-;30842:139;;30569:419;;;:::o;30994:231::-;31134:34;31130:1;31122:6;31118:14;31111:58;31203:14;31198:2;31190:6;31186:15;31179:39;30994:231;:::o;31231:366::-;31373:3;31394:67;31458:2;31453:3;31394:67;:::i;:::-;31387:74;;31470:93;31559:3;31470:93;:::i;:::-;31588:2;31583:3;31579:12;31572:19;;31231:366;;;:::o;31603:419::-;31769:4;31807:2;31796:9;31792:18;31784:26;;31856:9;31850:4;31846:20;31842:1;31831:9;31827:17;31820:47;31884:131;32010:4;31884:131;:::i;:::-;31876:139;;31603:419;;;:::o;32028:194::-;32068:4;32088:20;32106:1;32088:20;:::i;:::-;32083:25;;32122:20;32140:1;32122:20;:::i;:::-;32117:25;;32166:1;32163;32159:9;32151:17;;32190:1;32184:4;32181:11;32178:37;;;32195:18;;:::i;:::-;32178:37;32028:194;;;;:::o;32228:225::-;32368:34;32364:1;32356:6;32352:14;32345:58;32437:8;32432:2;32424:6;32420:15;32413:33;32228:225;:::o;32459:366::-;32601:3;32622:67;32686:2;32681:3;32622:67;:::i;:::-;32615:74;;32698:93;32787:3;32698:93;:::i;:::-;32816:2;32811:3;32807:12;32800:19;;32459:366;;;:::o;32831:419::-;32997:4;33035:2;33024:9;33020:18;33012:26;;33084:9;33078:4;33074:20;33070:1;33059:9;33055:17;33048:47;33112:131;33238:4;33112:131;:::i;:::-;33104:139;;32831:419;;;:::o;33256:147::-;33357:11;33394:3;33379:18;;33256:147;;;;:::o;33409:114::-;;:::o;33529:398::-;33688:3;33709:83;33790:1;33785:3;33709:83;:::i;:::-;33702:90;;33801:93;33890:3;33801:93;:::i;:::-;33919:1;33914:3;33910:11;33903:18;;33529:398;;;:::o;33933:379::-;34117:3;34139:147;34282:3;34139:147;:::i;:::-;34132:154;;34303:3;34296:10;;33933:379;;;:::o;34318:180::-;34366:77;34363:1;34356:88;34463:4;34460:1;34453:15;34487:4;34484:1;34477:15;34504:180;34552:77;34549:1;34542:88;34649:4;34646:1;34639:15;34673:4;34670:1;34663:15;34690:143;34747:5;34778:6;34772:13;34763:22;;34794:33;34821:5;34794:33;:::i;:::-;34690:143;;;;:::o;34839:351::-;34909:6;34958:2;34946:9;34937:7;34933:23;34929:32;34926:119;;;34964:79;;:::i;:::-;34926:119;35084:1;35109:64;35165:7;35156:6;35145:9;35141:22;35109:64;:::i;:::-;35099:74;;35055:128;34839:351;;;;:::o;35196:85::-;35241:7;35270:5;35259:16;;35196:85;;;:::o;35287:158::-;35345:9;35378:61;35396:42;35405:32;35431:5;35405:32;:::i;:::-;35396:42;:::i;:::-;35378:61;:::i;:::-;35365:74;;35287:158;;;:::o;35451:147::-;35546:45;35585:5;35546:45;:::i;:::-;35541:3;35534:58;35451:147;;:::o;35604:114::-;35671:6;35705:5;35699:12;35689:22;;35604:114;;;:::o;35724:184::-;35823:11;35857:6;35852:3;35845:19;35897:4;35892:3;35888:14;35873:29;;35724:184;;;;:::o;35914:132::-;35981:4;36004:3;35996:11;;36034:4;36029:3;36025:14;36017:22;;35914:132;;;:::o;36052:108::-;36129:24;36147:5;36129:24;:::i;:::-;36124:3;36117:37;36052:108;;:::o;36166:179::-;36235:10;36256:46;36298:3;36290:6;36256:46;:::i;:::-;36334:4;36329:3;36325:14;36311:28;;36166:179;;;;:::o;36351:113::-;36421:4;36453;36448:3;36444:14;36436:22;;36351:113;;;:::o;36500:732::-;36619:3;36648:54;36696:5;36648:54;:::i;:::-;36718:86;36797:6;36792:3;36718:86;:::i;:::-;36711:93;;36828:56;36878:5;36828:56;:::i;:::-;36907:7;36938:1;36923:284;36948:6;36945:1;36942:13;36923:284;;;37024:6;37018:13;37051:63;37110:3;37095:13;37051:63;:::i;:::-;37044:70;;37137:60;37190:6;37137:60;:::i;:::-;37127:70;;36983:224;36970:1;36967;36963:9;36958:14;;36923:284;;;36927:14;37223:3;37216:10;;36624:608;;;36500:732;;;;:::o;37238:831::-;37501:4;37539:3;37528:9;37524:19;37516:27;;37553:71;37621:1;37610:9;37606:17;37597:6;37553:71;:::i;:::-;37634:80;37710:2;37699:9;37695:18;37686:6;37634:80;:::i;:::-;37761:9;37755:4;37751:20;37746:2;37735:9;37731:18;37724:48;37789:108;37892:4;37883:6;37789:108;:::i;:::-;37781:116;;37907:72;37975:2;37964:9;37960:18;37951:6;37907:72;:::i;:::-;37989:73;38057:3;38046:9;38042:19;38033:6;37989:73;:::i;:::-;37238:831;;;;;;;;:::o
Swarm Source
ipfs://8d1b61234037d4ecaa3572b27ea6f1fb7c62521113432e0cdcf3c676cb3c02b6
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.