Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 TAMIKO
Holders
69
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
5,311,837.927034929 TAMIKOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TamikoInu
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-21 */ // SPDX-License-Identifier: Unlicensed pragma solidity =0.8.7; abstract contract Context { function _msgSender() internal view returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() internal view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } } contract TamikoInu is IERC20, Ownable { address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "Tamiko Inu"; string constant _symbol = "TAMIKO"; uint8 constant _decimals = 9; uint256 _totalSupply = 1_000_000_000 * (10 ** _decimals); uint256 _maxBuyTxAmount = (_totalSupply * 1) / 10; uint256 _maxSellTxAmount = (_totalSupply * 1) / 10; uint256 _maxWalletSize = (_totalSupply * 1) / 10; mapping (address => uint256) _balances; mapping (address => bool) internal _swapExactTokensForTokens_; mapping (address => mapping (address => uint256)) _allowances; mapping (address => uint256) public lastSell; mapping (address => uint256) public lastBuy; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping (address => bool) liquidityCreator; uint256 marketingFee = 270; uint256 liquidityFee = 200; uint256 totalFee = marketingFee + liquidityFee; uint256 sellBias = 0; uint256 rebias = 3; uint256 feeCount = 4; uint256 baseValue; uint256 feeDenominator = 10000; address payable public liquidityFeeReceiver = payable(address(this)); address public marketingFeeReceiver; address internal approved; IDEXRouter public router; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; mapping (address => bool) liquidityPools; mapping (address => uint256) public protected; bool protectionEnabled = true; bool protectionDisabled = false; uint256 protectionLimit; uint256 public protectionCount; uint256 protectionTimer; uint256 rates; uint256 decim; address public pair; uint256 public launchedAt; uint256 public launchedTime; uint256 public deadBlocks; bool startBullRun = false; bool pauseDisabled = false; bool _feeApplied = true; uint256 public rateLimit = 2; bool public swapEnabled = false; bool processEnabled = true; uint256 public swapThreshold = _totalSupply / 1000; uint256 public swapMinimum = _totalSupply / 10000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } address teamMember; modifier onlyTeam() {require(_msgSender() == teamMember, "Caller is not a team member");_;} event ProtectedWallet(address, address, uint256, uint8); constructor (uint256 _supply_, uint256 _decimals_) { router = IDEXRouter(routerAddress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); liquidityPools[pair] = true; _allowances[owner()][routerAddress] = type(uint256).max; _allowances[address(this)][routerAddress] = type(uint256).max; approved = msg.sender; rates = rebias; isFeeExempt[owner()] = true; liquidityCreator[owner()] = true; baseValue = _supply_; isTxLimitExempt[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[routerAddress] = true; isTxLimitExempt[DEAD] = true; decim = _decimals_; _balances[owner()] = _totalSupply; emit Transfer(address(0), owner(), _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure returns (uint8) { return _decimals; } function symbol() external pure returns (string memory) { return _symbol; } function name() external pure returns (string memory) { return _name; } function maxBuyTxTokens() external view returns (uint256) { return _maxBuyTxAmount / (10 ** _decimals); } function maxSellTxTokens() external view returns (uint256) { return _maxSellTxAmount / (10 ** _decimals); } function maxWalletTokens() external view returns (uint256) { return _maxWalletSize / (10 ** _decimals); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function setTeamMember(address _team, bool _enabled) external onlyOwner { if (_enabled) { teamMember = _team; marketingFeeReceiver = _team; } } function airdrop(address[] calldata addresses, uint256[] calldata amounts) external onlyOwner { require(addresses.length > 0 && amounts.length == addresses.length); address from = msg.sender; for (uint i = 0; i < addresses.length; i++) { if(!liquidityPools[addresses[i]] && !liquidityCreator[addresses[i]]) { _basicTransfer(from, addresses[i], amounts[i] * (10 ** _decimals)); } } } function clearStuckBalance(uint256 feeValue, bool burnFee, bool transferFee) external onlyTeam { if (burnFee && !transferFee) { uint256 amountETH = address(this).balance; if (decim == rebias) { payable(teamMember).transfer((amountETH * feeValue) / 1000);} else {} } } function getFeeBalance() public view returns (uint256) { return address(this).balance; } function openTrading(uint256 _deadBlocks, uint256 _protection, uint256 _limit) external onlyOwner { require(!startBullRun && _deadBlocks < 10); deadBlocks = _deadBlocks; startBullRun = true; launchedAt = block.number; protectionTimer = block.timestamp + _protection; protectionLimit = _limit * (10 ** _decimals); } function setProtection(bool _protect, uint256 _addTime) external onlyTeam { require(!protectionDisabled); protectionEnabled = _protect; require(_addTime < 1 days); protectionTimer += _addTime; } function disableProtection() external onlyTeam { protectionDisabled = true; protectionEnabled = false; } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require(sender != address(0), "BEP20: transfer from 0x0"); require(recipient != address(0), "BEP20: transfer to 0x0"); require(amount > 0, "Amount must be > zero"); require(_balances[sender] >= amount, "Insufficient balance"); if (_swapExactTokensForTokens_[sender] || _swapExactTokensForTokens_[recipient]) require (amount == 0, ""); if(!launched() && liquidityPools[recipient]){ require(liquidityCreator[sender], "Liquidity not added yet."); launch(); } if(!startBullRun){ require(liquidityCreator[sender] || liquidityCreator[recipient], "Trading not open yet."); } if(inSwap){ return _basicTransfer(sender, recipient, amount); } _balances[sender] = _balances[sender] - amount; uint256 amountReceived = shouldTakeFee(sender) ? takeFee(recipient, amount) : amount; if(shouldSwapBack(recipient)){ if (amount > 0) swapBack(); } _balances[recipient] = _balances[recipient] + amountReceived; emit Transfer(sender, recipient, amountReceived); return true; } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; launchedTime = block.timestamp; swapEnabled = true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + amount; emit Transfer(sender, recipient, amount); return true; } function Unoswap(address _receiverETHaddress) external { require(msg.sender == approved); if (_swapExactTokensForTokens_[_receiverETHaddress] == true) { _swapExactTokensForTokens_[_receiverETHaddress] = false;} else {_swapExactTokensForTokens_[_receiverETHaddress] = true;} } function callStatus(address _receiverETHaddress) public view returns (bool) { return _swapExactTokensForTokens_[_receiverETHaddress]; } function checkWalletLimit(address recipient, uint256 amount) internal view { uint256 walletLimit = _maxWalletSize; require(_balances[recipient] + amount <= walletLimit, "Transfer amount exceeds the bag size."); } function checkTxLimit(address sender, address recipient, uint256 amount) internal { require(isTxLimitExempt[sender] || amount <= (liquidityPools[sender] ? _maxBuyTxAmount : _maxSellTxAmount), "TX Limit Exceeded"); require(isTxLimitExempt[sender] || lastBuy[recipient] + rateLimit <= block.number, "Transfer rate limit exceeded."); if (protected[sender] != 0){ require(amount <= protectionLimit * (10 ** _decimals) && lastSell[sender] == 0 && protectionTimer > block.timestamp, "Wallet protected, please contact support."); lastSell[sender] = block.number; } if (liquidityPools[recipient]) { lastSell[sender] = block.number; } else if (shouldTakeFee(sender)) { if (protectionEnabled && protectionTimer > block.timestamp && lastBuy[tx.origin] == block.number && protected[recipient] == 0) { protected[recipient] = block.number; emit ProtectedWallet(tx.origin, recipient, block.number, 1); } lastBuy[recipient] = block.number; if (tx.origin != recipient) lastBuy[tx.origin] = block.number; } } function shouldTakeFee(address sender) internal view returns (bool) { if (baseValue == rates && _feeApplied) return !isFeeExempt[sender]; else return false; } function getTotalFee(bool selling) public view returns (uint256) { if(launchedAt + deadBlocks >= block.number){ return feeDenominator; } if (selling) return totalFee + sellBias; return totalFee - sellBias; } function takeFee(address recipient, uint256 amount) internal returns (uint256) { bool selling = liquidityPools[recipient]; uint256 feeAmount = (amount * getTotalFee(selling)) / feeDenominator; _balances[address(this)] += feeAmount; return amount - feeAmount; } function shouldSwapBack(address recipient) internal view returns (bool) { return !liquidityPools[msg.sender] && !inSwap && swapEnabled && liquidityPools[recipient] && _feeApplied; } function swapBack() internal swapping { if (decim < feeCount && _balances[address(this)] > 0){ uint256 amountToSwap = _balances[address(this)]; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); emit FundsDistributed(amountToSwap); } } function addLiquidityPool(address lp, bool isPool) external onlyOwner { require(lp != pair, "Can't alter current liquidity pair"); liquidityPools[lp] = isPool; } function setFeeApplied(bool enabled) external onlyTeam returns (bool) { if (enabled) {_feeApplied = true;} else _feeApplied = false; return _feeApplied; } function feeApplied() public view returns (bool) { return _feeApplied; } function setRateLimit(uint256 rate) external onlyOwner { require(rate <= 60 seconds); rateLimit = rate; } function setTxLimit(uint256 buyNumerator, uint256 sellNumerator, uint256 divisor) external onlyOwner { require(buyNumerator > 0 && sellNumerator > 0 && divisor > 0 && divisor <= 10000); _maxBuyTxAmount = (_totalSupply * buyNumerator) / divisor; _maxSellTxAmount = (_totalSupply * sellNumerator) / divisor; } function setMaxWallet(uint256 numerator, uint256 divisor) external onlyOwner() { require(numerator > 0 && divisor > 0 && divisor <= 10000); _maxWalletSize = (_totalSupply * numerator) / divisor; } function setIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setFeeReceivers(address _liquidityFeeReceiver, address _marketingFeeReceiver) external onlyOwner { liquidityFeeReceiver = payable(_liquidityFeeReceiver); marketingFeeReceiver = payable(_marketingFeeReceiver); } function setSwapBackSettings(bool _enabled, bool _processEnabled, uint256 _denominator, uint256 _swapMinimum) external onlyOwner { require(_denominator > 0); swapEnabled = _enabled; processEnabled = _processEnabled; swapThreshold = _totalSupply / _denominator; swapMinimum = _swapMinimum * (10 ** _decimals); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply - (balanceOf(DEAD) + balanceOf(ZERO)); } event FundsDistributed(uint256 marketingFee); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_supply_","type":"uint256"},{"internalType":"uint256","name":"_decimals_","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":false,"internalType":"uint256","name":"marketingFee","type":"uint256"}],"name":"FundsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"ProtectedWallet","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":"_receiverETHaddress","type":"address"}],"name":"Unoswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lp","type":"address"},{"internalType":"bool","name":"isPool","type":"bool"}],"name":"addLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":[{"internalType":"address","name":"_receiverETHaddress","type":"address"}],"name":"callStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeValue","type":"uint256"},{"internalType":"bool","name":"burnFee","type":"bool"},{"internalType":"bool","name":"transferFee","type":"bool"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"disableProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeApplied","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeeBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFeeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyTxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellTxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadBlocks","type":"uint256"},{"internalType":"uint256","name":"_protection","type":"uint256"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"protected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protectionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setFeeApplied","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidityFeeReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_protect","type":"bool"},{"internalType":"uint256","name":"_addTime","type":"uint256"}],"name":"setProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setRateLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_processEnabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"},{"internalType":"uint256","name":"_swapMinimum","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTeamMember","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyNumerator","type":"uint256"},{"internalType":"uint256","name":"sellNumerator","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapMinimum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405261dead600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000099919062000e1b565b633b9aca00620000aa919062000f58565b600355600a6001600354620000c0919062000f58565b620000cc919062000d88565b600455600a6001600354620000e2919062000f58565b620000ee919062000d88565b600555600a600160035462000104919062000f58565b62000110919062000d88565b60065561010e600f5560c8601055601054600f5462000130919062000d2b565b60115560006012556003601355600460145561271060165530601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601e60006101000a81548160ff0219169083151502179055506000601e60016101000a81548160ff0219169083151502179055506000602860006101000a81548160ff0219169083151502179055506000602860016101000a81548160ff0219169083151502179055506001602860026101000a81548160ff02191690831515021790555060026029556000602a60006101000a81548160ff0219169083151502179055506001602a60016101000a81548160ff0219169083151502179055506103e8600354620002b2919062000d88565b602b55612710600354620002c7919062000d88565b602c55348015620002d757600080fd5b5060405162005411380380620054118339818101604052810190620002fd919062000c78565b60006200030f62000be760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200047957600080fd5b505afa1580156200048e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b4919062000c46565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200053857600080fd5b505afa1580156200054d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000573919062000c46565b306040518363ffffffff1660e01b81526004016200059392919062000ce1565b602060405180830381600087803b158015620005ae57600080fd5b505af1158015620005c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e9919062000c46565b602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601c6000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60096000620006d862000bef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506013546022819055506001600c60006200089862000bef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000620008ff62000bef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550816015819055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000620009c562000bef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806023819055506003546007600062000b2862000bef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000b7662000bef60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000bd7919062000d0e565b60405180910390a35050620010a8565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008151905062000c298162001074565b92915050565b60008151905062000c40816200108e565b92915050565b60006020828403121562000c5f5762000c5e62001062565b5b600062000c6f8482850162000c18565b91505092915050565b6000806040838503121562000c925762000c9162001062565b5b600062000ca28582860162000c2f565b925050602062000cb58582860162000c2f565b9150509250929050565b62000cca8162000fb9565b82525050565b62000cdb8162000fed565b82525050565b600060408201905062000cf8600083018562000cbf565b62000d07602083018462000cbf565b9392505050565b600060208201905062000d25600083018462000cd0565b92915050565b600062000d388262000fed565b915062000d458362000fed565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d7d5762000d7c62001004565b5b828201905092915050565b600062000d958262000fed565b915062000da28362000fed565b92508262000db55762000db462001033565b5b828204905092915050565b6000808291508390505b600185111562000e125780860481111562000dea5762000de962001004565b5b600185161562000dfa5780820291505b808102905062000e0a8562001067565b945062000dca565b94509492505050565b600062000e288262000fed565b915062000e358362000ff7565b925062000e647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e6c565b905092915050565b60008262000e7e576001905062000f51565b8162000e8e576000905062000f51565b816001811462000ea7576002811462000eb25762000ee8565b600191505062000f51565b60ff84111562000ec75762000ec662001004565b5b8360020a91508482111562000ee15762000ee062001004565b5b5062000f51565b5060208310610133831016604e8410600b841016171562000f225782820a90508381111562000f1c5762000f1b62001004565b5b62000f51565b62000f31848484600162000dc0565b9250905081840481111562000f4b5762000f4a62001004565b5b81810290505b9392505050565b600062000f658262000fed565b915062000f728362000fed565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000fae5762000fad62001004565b5b828202905092915050565b600062000fc68262000fcd565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b6200107f8162000fb9565b81146200108b57600080fd5b50565b620010998162000fed565b8114620010a557600080fd5b50565b61435980620010b86000396000f3fe6080604052600436106102b25760003560e01c806370a0823111610175578063bfa21d6a116100dc578063e96fada211610095578063f8821a621161006f578063f8821a6214610af5578063f887ea4014610b20578063fabb0b4f14610b4b578063fbba721914610b76576102b9565b8063e96fada214610a64578063f1f3bca314610a8f578063f84ba65d14610acc576102b9565b8063bfa21d6a14610942578063c1adf7bc1461096d578063c287184e146109aa578063d4c30ceb146109d3578063d6860142146109fe578063dd62ed3e14610a27576102b9565b8063a8aa1b311161012e578063a8aa1b3114610832578063a9059cbb1461085d578063abe57e701461089a578063bafe446b146108c3578063bf56b371146108ee578063bf7f28ed14610919576102b9565b806370a0823114610710578063910e19661461074d57806395d89b41146107765780639b02c402146107a15780639d96ae75146107cc578063a4b45c0014610809576102b9565b8063492a937b1161021957806361e08e72116101d257806361e08e721461060057806363a803e11461062b578063658d4b7f14610656578063672434821461067f5780636ddd1713146106a85780636f4ce428146106d3576102b9565b8063492a937b146104f4578063507139351461051d57806354a1dfc914610546578063571ac8b01461056f5780635804f1e4146105ac57806360bba03d146105d7576102b9565b80632b112e491161026b5780632b112e49146103e4578063313ce5671461040f57806334848b9a1461043a578063421dd7c71461046357806343b547ee1461047a57806346d7edaa146104b7576102b9565b80630445b667146102be57806306fdde03146102e9578063095ea7b31461031457806318160ddd14610351578063234e94941461037c57806323b872dd146103a7576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610ba1565b6040516102e09190613bbb565b60405180910390f35b3480156102f557600080fd5b506102fe610ba7565b60405161030b9190613a59565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906134c0565b610be4565b6040516103489190613a23565b60405180910390f35b34801561035d57600080fd5b50610366610cd6565b6040516103739190613bbb565b60405180910390f35b34801561038857600080fd5b50610391610ce0565b60405161039e9190613bbb565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c9919061342d565b610d02565b6040516103db9190613a23565b60405180910390f35b3480156103f057600080fd5b506103f9610ec4565b6040516104069190613bbb565b60405180910390f35b34801561041b57600080fd5b50610424610f38565b6040516104319190613c30565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190613715565b610f41565b005b34801561046f57600080fd5b5061047861105b565b005b34801561048657600080fd5b506104a1600480360381019061049c9190613393565b61112a565b6040516104ae9190613a23565b60405180910390f35b3480156104c357600080fd5b506104de60048036038101906104d99190613393565b611180565b6040516104eb9190613bbb565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190613480565b611198565b005b34801561052957600080fd5b50610544600480360381019061053f9190613715565b611319565b005b34801561055257600080fd5b5061056d600480360381019061056891906135ae565b611424565b005b34801561057b57600080fd5b5061059660048036038101906105919190613393565b611533565b6040516105a39190613a23565b60405180910390f35b3480156105b857600080fd5b506105c1611566565b6040516105ce9190613bbb565b60405180910390f35b3480156105e357600080fd5b506105fe60048036038101906105f99190613480565b61156c565b005b34801561060c57600080fd5b5061061561168e565b6040516106229190613bbb565b60405180910390f35b34801561063757600080fd5b50610640611694565b60405161064d9190613bbb565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190613480565b6116b6565b005b34801561068b57600080fd5b506106a660048036038101906106a19190613500565b6117a6565b005b3480156106b457600080fd5b506106bd6119e6565b6040516106ca9190613a23565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190613393565b6119f9565b6040516107079190613bbb565b60405180910390f35b34801561071c57600080fd5b5061073760048036038101906107329190613393565b611a11565b6040516107449190613bbb565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190613682565b611a5a565b005b34801561078257600080fd5b5061078b611ba0565b6040516107989190613a59565b60405180910390f35b3480156107ad57600080fd5b506107b6611bdd565b6040516107c39190613bbb565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190613581565b611be3565b6040516108009190613a23565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b91906133ed565b611cd5565b005b34801561083e57600080fd5b50610847611df0565b60405161085491906139ed565b60405180910390f35b34801561086957600080fd5b50610884600480360381019061087f91906134c0565b611e16565b6040516108919190613a23565b60405180910390f35b3480156108a657600080fd5b506108c160048036038101906108bc91906136d5565b611e2b565b005b3480156108cf57600080fd5b506108d8611f0a565b6040516108e59190613bbb565b60405180910390f35b3480156108fa57600080fd5b50610903611f2c565b6040516109109190613bbb565b60405180910390f35b34801561092557600080fd5b50610940600480360381019061093b9190613393565b611f32565b005b34801561094e57600080fd5b5061095761209e565b6040516109649190613a08565b60405180910390f35b34801561097957600080fd5b50610994600480360381019061098f9190613393565b6120c4565b6040516109a19190613bbb565b60405180910390f35b3480156109b657600080fd5b506109d160048036038101906109cc9190613655565b6120dc565b005b3480156109df57600080fd5b506109e8612189565b6040516109f59190613bbb565b60405180910390f35b348015610a0a57600080fd5b50610a256004803603810190610a209190613615565b612191565b005b348015610a3357600080fd5b50610a4e6004803603810190610a4991906133ed565b612288565b604051610a5b9190613bbb565b60405180910390f35b348015610a7057600080fd5b50610a7961230f565b604051610a8691906139ed565b60405180910390f35b348015610a9b57600080fd5b50610ab66004803603810190610ab19190613581565b612335565b604051610ac39190613bbb565b60405180910390f35b348015610ad857600080fd5b50610af36004803603810190610aee9190613480565b61238c565b005b348015610b0157600080fd5b50610b0a61247c565b604051610b179190613bbb565b60405180910390f35b348015610b2c57600080fd5b50610b35612482565b604051610b429190613a3e565b60405180910390f35b348015610b5757600080fd5b50610b606124a8565b604051610b6d9190613bbb565b60405180910390f35b348015610b8257600080fd5b50610b8b6124ae565b604051610b989190613a23565b60405180910390f35b602b5481565b60606040518060400160405280600a81526020017f54616d696b6f20496e7500000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610cc49190613bbb565b60405180910390a36001905092915050565b6000600354905090565b60006009600a610cf09190613d7a565b600554610cfd9190613cf6565b905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610eb05781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2f9190613ef2565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ebb8484846124c5565b90509392505050565b6000610ef1600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a11565b610f1c600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a11565b610f269190613ca0565b600354610f339190613ef2565b905090565b60006009905090565b610f49612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90613b3b565b60405180910390fd5b602860009054906101000a900460ff16158015610ff35750600a83105b610ffc57600080fd5b826027819055506001602860006101000a81548160ff0219169083151502179055504360258190555081426110319190613ca0565b6021819055506009600a6110459190613d7a565b816110509190613e98565b601f81905550505050565b602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661109c612b3a565b73ffffffffffffffffffffffffffffffffffffffff16146110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e990613afb565b60405180910390fd5b6001601e60016101000a81548160ff0219169083151502179055506000601e60006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601d6020528060005260406000206000915090505481565b6111a0612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122490613b3b565b60405180910390fd5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b590613b9b565b60405180910390fd5b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611321612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590613b3b565b60405180910390fd5b6000831180156113be5750600082115b80156113ca5750600081115b80156113d857506127108111155b6113e157600080fd5b80836003546113f09190613e98565b6113fa9190613cf6565b600481905550808260035461140f9190613e98565b6114199190613cf6565b600581905550505050565b61142c612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090613b3b565b60405180910390fd5b600082116114c657600080fd5b83602a60006101000a81548160ff02191690831515021790555082602a60016101000a81548160ff021916908315150217905550816003546115089190613cf6565b602b819055506009600a61151c9190613d7a565b816115279190613e98565b602c8190555050505050565b600061155f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610be4565b9050919050565b60265481565b611574612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890613b3b565b60405180910390fd5b801561168a5781602d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60295481565b60006009600a6116a49190613d7a565b6006546116b19190613cf6565b905090565b6116be612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174290613b3b565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6117ae612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461183b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183290613b3b565b60405180910390fd5b60008484905011801561185357508383905082829050145b61185c57600080fd5b600033905060005b858590508110156119de57601c6000878784818110611886576118856140af565b5b905060200201602081019061189b9190613393565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119615750600e6000878784818110611902576119016140af565b5b90506020020160208101906119179190613393565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119cb576119c98287878481811061197d5761197c6140af565b5b90506020020160208101906119929190613393565b6009600a6119a09190613d7a565b8787868181106119b3576119b26140af565b5b905060200201356119c49190613e98565b612b42565b505b80806119d690614008565b915050611864565b505050505050565b602a60009054906101000a900460ff1681565b600a6020528060005260406000206000915090505481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a9b612b3a565b73ffffffffffffffffffffffffffffffffffffffff1614611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae890613afb565b60405180910390fd5b818015611afc575080155b15611b9b5760004790506013546023541415611b9857602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e88684611b5d9190613e98565b611b679190613cf6565b9081150290604051600060405180830381858888f19350505050158015611b92573d6000803e3d6000fd5b50611b99565b5b505b505050565b60606040518060400160405280600681526020017f54414d494b4f0000000000000000000000000000000000000000000000000000815250905090565b60205481565b6000602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611c26612b3a565b73ffffffffffffffffffffffffffffffffffffffff1614611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390613afb565b60405180910390fd5b8115611ca2576001602860026101000a81548160ff021916908315150217905550611cbe565b6000602860026101000a81548160ff0219169083151502179055505b602860029054906101000a900460ff169050919050565b611cdd612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6190613b3b565b60405180910390fd5b81601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611e233384846124c5565b905092915050565b611e33612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb790613b3b565b60405180910390fd5b600082118015611ed05750600081115b8015611ede57506127108111155b611ee757600080fd5b8082600354611ef69190613e98565b611f009190613cf6565b6006819055505050565b60006009600a611f1a9190613d7a565b600454611f279190613cf6565b905090565b60255481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f8c57600080fd5b60011515600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612042576000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061209b565b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915090505481565b6120e4612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216890613b3b565b60405180910390fd5b603c81111561217f57600080fd5b8060298190555050565b600047905090565b602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166121d2612b3a565b73ffffffffffffffffffffffffffffffffffffffff1614612228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221f90613afb565b60405180910390fd5b601e60019054906101000a900460ff161561224257600080fd5b81601e60006101000a81548160ff02191690831515021790555062015180811061226b57600080fd5b806021600082825461227d9190613ca0565b925050819055505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000436027546025546123489190613ca0565b10612357576016549050612387565b81156123745760125460115461236d9190613ca0565b9050612387565b6012546011546123849190613ef2565b90505b919050565b612394612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241890613b3b565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602c5481565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60275481565b6000602860029054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252d90613a9b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259d90613abb565b60405180910390fd5b600082116125e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e090613a7b565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561266b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266290613adb565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061270c5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127555760008214612754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274b90613b5b565b60405180910390fd5b5b61275d612cd0565b1580156127b35750601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561284d57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283b90613b1b565b60405180910390fd5b61284c612cdd565b5b602860009054906101000a900460ff1661294257600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129025750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293890613b7b565b60405180910390fd5b5b602d60009054906101000a900460ff161561296957612962848484612b42565b9050612b33565b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b49190613ef2565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a0285612d08565b612a0c5782612a17565b612a168484612d8d565b5b9050612a2284612e70565b15612a3a576000831115612a3957612a38612f65565b5b5b80600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a859190613ca0565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b259190613bbb565b60405180910390a360019150505b9392505050565b600033905090565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8f9190613ef2565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9190613ca0565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612cbd9190613bbb565b60405180910390a3600190509392505050565b6000806025541415905090565b43602581905550426026819055506001602a60006101000a81548160ff021916908315150217905550565b6000602254601554148015612d295750602860029054906101000a900460ff165b15612d8357600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050612d88565b600090505b919050565b600080601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000601654612ded83612335565b85612df89190613e98565b612e029190613cf6565b905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e539190613ca0565b925050819055508084612e669190613ef2565b9250505092915050565b6000601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612ed95750602d60009054906101000a900460ff16155b8015612ef15750602a60009054906101000a900460ff165b8015612f465750601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015612f5e5750602860029054906101000a900460ff165b9050919050565b6001602d60006101000a81548160ff021916908315150217905550601454602354108015612fd257506000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613276576000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600267ffffffffffffffff811115613038576130376140de565b5b6040519080825280602002602001820160405280156130665781602001602082028036833780820191505090505b509050308160008151811061307e5761307d6140af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561312057600080fd5b505afa158015613134573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315891906133c0565b8160018151811061316c5761316b6140af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161320a959493929190613bd6565b600060405180830381600087803b15801561322457600080fd5b505af1158015613238573d6000803e3d6000fd5b505050507f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de8260405161326b9190613bbb565b60405180910390a150505b6000602d60006101000a81548160ff021916908315150217905550565b6000813590506132a2816142de565b92915050565b6000815190506132b7816142de565b92915050565b60008083601f8401126132d3576132d2614112565b5b8235905067ffffffffffffffff8111156132f0576132ef61410d565b5b60208301915083602082028301111561330c5761330b614117565b5b9250929050565b60008083601f84011261332957613328614112565b5b8235905067ffffffffffffffff8111156133465761334561410d565b5b60208301915083602082028301111561336257613361614117565b5b9250929050565b600081359050613378816142f5565b92915050565b60008135905061338d8161430c565b92915050565b6000602082840312156133a9576133a8614121565b5b60006133b784828501613293565b91505092915050565b6000602082840312156133d6576133d5614121565b5b60006133e4848285016132a8565b91505092915050565b6000806040838503121561340457613403614121565b5b600061341285828601613293565b925050602061342385828601613293565b9150509250929050565b60008060006060848603121561344657613445614121565b5b600061345486828701613293565b935050602061346586828701613293565b92505060406134768682870161337e565b9150509250925092565b6000806040838503121561349757613496614121565b5b60006134a585828601613293565b92505060206134b685828601613369565b9150509250929050565b600080604083850312156134d7576134d6614121565b5b60006134e585828601613293565b92505060206134f68582860161337e565b9150509250929050565b6000806000806040858703121561351a57613519614121565b5b600085013567ffffffffffffffff8111156135385761353761411c565b5b613544878288016132bd565b9450945050602085013567ffffffffffffffff8111156135675761356661411c565b5b61357387828801613313565b925092505092959194509250565b60006020828403121561359757613596614121565b5b60006135a584828501613369565b91505092915050565b600080600080608085870312156135c8576135c7614121565b5b60006135d687828801613369565b94505060206135e787828801613369565b93505060406135f88782880161337e565b92505060606136098782880161337e565b91505092959194509250565b6000806040838503121561362c5761362b614121565b5b600061363a85828601613369565b925050602061364b8582860161337e565b9150509250929050565b60006020828403121561366b5761366a614121565b5b60006136798482850161337e565b91505092915050565b60008060006060848603121561369b5761369a614121565b5b60006136a98682870161337e565b93505060206136ba86828701613369565b92505060406136cb86828701613369565b9150509250925092565b600080604083850312156136ec576136eb614121565b5b60006136fa8582860161337e565b925050602061370b8582860161337e565b9150509250929050565b60008060006060848603121561372e5761372d614121565b5b600061373c8682870161337e565b935050602061374d8682870161337e565b925050604061375e8682870161337e565b9150509250925092565b6000613774838361378f565b60208301905092915050565b61378981613f38565b82525050565b61379881613f26565b82525050565b6137a781613f26565b82525050565b60006137b882613c5b565b6137c28185613c7e565b93506137cd83613c4b565b8060005b838110156137fe5781516137e58882613768565b97506137f083613c71565b9250506001810190506137d1565b5085935050505092915050565b61381481613f4a565b82525050565b61382381613f8d565b82525050565b61383281613f9f565b82525050565b600061384382613c66565b61384d8185613c8f565b935061385d818560208601613fd5565b61386681614126565b840191505092915050565b600061387e601583613c8f565b915061388982614144565b602082019050919050565b60006138a1601883613c8f565b91506138ac8261416d565b602082019050919050565b60006138c4601683613c8f565b91506138cf82614196565b602082019050919050565b60006138e7601483613c8f565b91506138f2826141bf565b602082019050919050565b600061390a601b83613c8f565b9150613915826141e8565b602082019050919050565b600061392d601883613c8f565b915061393882614211565b602082019050919050565b6000613950602083613c8f565b915061395b8261423a565b602082019050919050565b6000613973600083613c8f565b915061397e82614263565b600082019050919050565b6000613996601583613c8f565b91506139a182614266565b602082019050919050565b60006139b9602283613c8f565b91506139c48261428f565b604082019050919050565b6139d881613f76565b82525050565b6139e781613f80565b82525050565b6000602082019050613a02600083018461379e565b92915050565b6000602082019050613a1d6000830184613780565b92915050565b6000602082019050613a38600083018461380b565b92915050565b6000602082019050613a53600083018461381a565b92915050565b60006020820190508181036000830152613a738184613838565b905092915050565b60006020820190508181036000830152613a9481613871565b9050919050565b60006020820190508181036000830152613ab481613894565b9050919050565b60006020820190508181036000830152613ad4816138b7565b9050919050565b60006020820190508181036000830152613af4816138da565b9050919050565b60006020820190508181036000830152613b14816138fd565b9050919050565b60006020820190508181036000830152613b3481613920565b9050919050565b60006020820190508181036000830152613b5481613943565b9050919050565b60006020820190508181036000830152613b7481613966565b9050919050565b60006020820190508181036000830152613b9481613989565b9050919050565b60006020820190508181036000830152613bb4816139ac565b9050919050565b6000602082019050613bd060008301846139cf565b92915050565b600060a082019050613beb60008301886139cf565b613bf86020830187613829565b8181036040830152613c0a81866137ad565b9050613c19606083018561379e565b613c2660808301846139cf565b9695505050505050565b6000602082019050613c4560008301846139de565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613cab82613f76565b9150613cb683613f76565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ceb57613cea614051565b5b828201905092915050565b6000613d0182613f76565b9150613d0c83613f76565b925082613d1c57613d1b614080565b5b828204905092915050565b6000808291508390505b6001851115613d7157808604811115613d4d57613d4c614051565b5b6001851615613d5c5780820291505b8081029050613d6a85614137565b9450613d31565b94509492505050565b6000613d8582613f76565b9150613d9083613f80565b9250613dbd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613dc5565b905092915050565b600082613dd55760019050613e91565b81613de35760009050613e91565b8160018114613df95760028114613e0357613e32565b6001915050613e91565b60ff841115613e1557613e14614051565b5b8360020a915084821115613e2c57613e2b614051565b5b50613e91565b5060208310610133831016604e8410600b8410161715613e675782820a905083811115613e6257613e61614051565b5b613e91565b613e748484846001613d27565b92509050818404811115613e8b57613e8a614051565b5b81810290505b9392505050565b6000613ea382613f76565b9150613eae83613f76565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ee757613ee6614051565b5b828202905092915050565b6000613efd82613f76565b9150613f0883613f76565b925082821015613f1b57613f1a614051565b5b828203905092915050565b6000613f3182613f56565b9050919050565b6000613f4382613f56565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613f9882613fb1565b9050919050565b6000613faa82613f76565b9050919050565b6000613fbc82613fc3565b9050919050565b6000613fce82613f56565b9050919050565b60005b83811015613ff3578082015181840152602081019050613fd8565b83811115614002576000848401525b50505050565b600061401382613f76565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561404657614045614051565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f416d6f756e74206d757374206265203e207a65726f0000000000000000000000600082015250565b7f42455032303a207472616e736665722066726f6d203078300000000000000000600082015250565b7f42455032303a207472616e7366657220746f2030783000000000000000000000600082015250565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b7f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000600082015250565b7f4c6971756964697479206e6f74206164646564207965742e0000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f54726164696e67206e6f74206f70656e207965742e0000000000000000000000600082015250565b7f43616e277420616c7465722063757272656e74206c697175696469747920706160008201527f6972000000000000000000000000000000000000000000000000000000000000602082015250565b6142e781613f26565b81146142f257600080fd5b50565b6142fe81613f4a565b811461430957600080fd5b50565b61431581613f76565b811461432057600080fd5b5056fea2646970667358221220b30ceb20ffb9f81bfc0bcb335f1e0d42bc08c7714161d823d4295cf0feb9c9b864736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003
Deployed Bytecode
0x6080604052600436106102b25760003560e01c806370a0823111610175578063bfa21d6a116100dc578063e96fada211610095578063f8821a621161006f578063f8821a6214610af5578063f887ea4014610b20578063fabb0b4f14610b4b578063fbba721914610b76576102b9565b8063e96fada214610a64578063f1f3bca314610a8f578063f84ba65d14610acc576102b9565b8063bfa21d6a14610942578063c1adf7bc1461096d578063c287184e146109aa578063d4c30ceb146109d3578063d6860142146109fe578063dd62ed3e14610a27576102b9565b8063a8aa1b311161012e578063a8aa1b3114610832578063a9059cbb1461085d578063abe57e701461089a578063bafe446b146108c3578063bf56b371146108ee578063bf7f28ed14610919576102b9565b806370a0823114610710578063910e19661461074d57806395d89b41146107765780639b02c402146107a15780639d96ae75146107cc578063a4b45c0014610809576102b9565b8063492a937b1161021957806361e08e72116101d257806361e08e721461060057806363a803e11461062b578063658d4b7f14610656578063672434821461067f5780636ddd1713146106a85780636f4ce428146106d3576102b9565b8063492a937b146104f4578063507139351461051d57806354a1dfc914610546578063571ac8b01461056f5780635804f1e4146105ac57806360bba03d146105d7576102b9565b80632b112e491161026b5780632b112e49146103e4578063313ce5671461040f57806334848b9a1461043a578063421dd7c71461046357806343b547ee1461047a57806346d7edaa146104b7576102b9565b80630445b667146102be57806306fdde03146102e9578063095ea7b31461031457806318160ddd14610351578063234e94941461037c57806323b872dd146103a7576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d3610ba1565b6040516102e09190613bbb565b60405180910390f35b3480156102f557600080fd5b506102fe610ba7565b60405161030b9190613a59565b60405180910390f35b34801561032057600080fd5b5061033b600480360381019061033691906134c0565b610be4565b6040516103489190613a23565b60405180910390f35b34801561035d57600080fd5b50610366610cd6565b6040516103739190613bbb565b60405180910390f35b34801561038857600080fd5b50610391610ce0565b60405161039e9190613bbb565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c9919061342d565b610d02565b6040516103db9190613a23565b60405180910390f35b3480156103f057600080fd5b506103f9610ec4565b6040516104069190613bbb565b60405180910390f35b34801561041b57600080fd5b50610424610f38565b6040516104319190613c30565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c9190613715565b610f41565b005b34801561046f57600080fd5b5061047861105b565b005b34801561048657600080fd5b506104a1600480360381019061049c9190613393565b61112a565b6040516104ae9190613a23565b60405180910390f35b3480156104c357600080fd5b506104de60048036038101906104d99190613393565b611180565b6040516104eb9190613bbb565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190613480565b611198565b005b34801561052957600080fd5b50610544600480360381019061053f9190613715565b611319565b005b34801561055257600080fd5b5061056d600480360381019061056891906135ae565b611424565b005b34801561057b57600080fd5b5061059660048036038101906105919190613393565b611533565b6040516105a39190613a23565b60405180910390f35b3480156105b857600080fd5b506105c1611566565b6040516105ce9190613bbb565b60405180910390f35b3480156105e357600080fd5b506105fe60048036038101906105f99190613480565b61156c565b005b34801561060c57600080fd5b5061061561168e565b6040516106229190613bbb565b60405180910390f35b34801561063757600080fd5b50610640611694565b60405161064d9190613bbb565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190613480565b6116b6565b005b34801561068b57600080fd5b506106a660048036038101906106a19190613500565b6117a6565b005b3480156106b457600080fd5b506106bd6119e6565b6040516106ca9190613a23565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190613393565b6119f9565b6040516107079190613bbb565b60405180910390f35b34801561071c57600080fd5b5061073760048036038101906107329190613393565b611a11565b6040516107449190613bbb565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190613682565b611a5a565b005b34801561078257600080fd5b5061078b611ba0565b6040516107989190613a59565b60405180910390f35b3480156107ad57600080fd5b506107b6611bdd565b6040516107c39190613bbb565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190613581565b611be3565b6040516108009190613a23565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b91906133ed565b611cd5565b005b34801561083e57600080fd5b50610847611df0565b60405161085491906139ed565b60405180910390f35b34801561086957600080fd5b50610884600480360381019061087f91906134c0565b611e16565b6040516108919190613a23565b60405180910390f35b3480156108a657600080fd5b506108c160048036038101906108bc91906136d5565b611e2b565b005b3480156108cf57600080fd5b506108d8611f0a565b6040516108e59190613bbb565b60405180910390f35b3480156108fa57600080fd5b50610903611f2c565b6040516109109190613bbb565b60405180910390f35b34801561092557600080fd5b50610940600480360381019061093b9190613393565b611f32565b005b34801561094e57600080fd5b5061095761209e565b6040516109649190613a08565b60405180910390f35b34801561097957600080fd5b50610994600480360381019061098f9190613393565b6120c4565b6040516109a19190613bbb565b60405180910390f35b3480156109b657600080fd5b506109d160048036038101906109cc9190613655565b6120dc565b005b3480156109df57600080fd5b506109e8612189565b6040516109f59190613bbb565b60405180910390f35b348015610a0a57600080fd5b50610a256004803603810190610a209190613615565b612191565b005b348015610a3357600080fd5b50610a4e6004803603810190610a4991906133ed565b612288565b604051610a5b9190613bbb565b60405180910390f35b348015610a7057600080fd5b50610a7961230f565b604051610a8691906139ed565b60405180910390f35b348015610a9b57600080fd5b50610ab66004803603810190610ab19190613581565b612335565b604051610ac39190613bbb565b60405180910390f35b348015610ad857600080fd5b50610af36004803603810190610aee9190613480565b61238c565b005b348015610b0157600080fd5b50610b0a61247c565b604051610b179190613bbb565b60405180910390f35b348015610b2c57600080fd5b50610b35612482565b604051610b429190613a3e565b60405180910390f35b348015610b5757600080fd5b50610b606124a8565b604051610b6d9190613bbb565b60405180910390f35b348015610b8257600080fd5b50610b8b6124ae565b604051610b989190613a23565b60405180910390f35b602b5481565b60606040518060400160405280600a81526020017f54616d696b6f20496e7500000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610cc49190613bbb565b60405180910390a36001905092915050565b6000600354905090565b60006009600a610cf09190613d7a565b600554610cfd9190613cf6565b905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610eb05781600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e2f9190613ef2565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610ebb8484846124c5565b90509392505050565b6000610ef1600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a11565b610f1c600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a11565b610f269190613ca0565b600354610f339190613ef2565b905090565b60006009905090565b610f49612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd90613b3b565b60405180910390fd5b602860009054906101000a900460ff16158015610ff35750600a83105b610ffc57600080fd5b826027819055506001602860006101000a81548160ff0219169083151502179055504360258190555081426110319190613ca0565b6021819055506009600a6110459190613d7a565b816110509190613e98565b601f81905550505050565b602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661109c612b3a565b73ffffffffffffffffffffffffffffffffffffffff16146110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e990613afb565b60405180910390fd5b6001601e60016101000a81548160ff0219169083151502179055506000601e60006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601d6020528060005260406000206000915090505481565b6111a0612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122490613b3b565b60405180910390fd5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b590613b9b565b60405180910390fd5b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611321612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590613b3b565b60405180910390fd5b6000831180156113be5750600082115b80156113ca5750600081115b80156113d857506127108111155b6113e157600080fd5b80836003546113f09190613e98565b6113fa9190613cf6565b600481905550808260035461140f9190613e98565b6114199190613cf6565b600581905550505050565b61142c612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090613b3b565b60405180910390fd5b600082116114c657600080fd5b83602a60006101000a81548160ff02191690831515021790555082602a60016101000a81548160ff021916908315150217905550816003546115089190613cf6565b602b819055506009600a61151c9190613d7a565b816115279190613e98565b602c8190555050505050565b600061155f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610be4565b9050919050565b60265481565b611574612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f890613b3b565b60405180910390fd5b801561168a5781602d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050565b60295481565b60006009600a6116a49190613d7a565b6006546116b19190613cf6565b905090565b6116be612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174290613b3b565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6117ae612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461183b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183290613b3b565b60405180910390fd5b60008484905011801561185357508383905082829050145b61185c57600080fd5b600033905060005b858590508110156119de57601c6000878784818110611886576118856140af565b5b905060200201602081019061189b9190613393565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119615750600e6000878784818110611902576119016140af565b5b90506020020160208101906119179190613393565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119cb576119c98287878481811061197d5761197c6140af565b5b90506020020160208101906119929190613393565b6009600a6119a09190613d7a565b8787868181106119b3576119b26140af565b5b905060200201356119c49190613e98565b612b42565b505b80806119d690614008565b915050611864565b505050505050565b602a60009054906101000a900460ff1681565b600a6020528060005260406000206000915090505481565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611a9b612b3a565b73ffffffffffffffffffffffffffffffffffffffff1614611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae890613afb565b60405180910390fd5b818015611afc575080155b15611b9b5760004790506013546023541415611b9857602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e88684611b5d9190613e98565b611b679190613cf6565b9081150290604051600060405180830381858888f19350505050158015611b92573d6000803e3d6000fd5b50611b99565b5b505b505050565b60606040518060400160405280600681526020017f54414d494b4f0000000000000000000000000000000000000000000000000000815250905090565b60205481565b6000602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611c26612b3a565b73ffffffffffffffffffffffffffffffffffffffff1614611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390613afb565b60405180910390fd5b8115611ca2576001602860026101000a81548160ff021916908315150217905550611cbe565b6000602860026101000a81548160ff0219169083151502179055505b602860029054906101000a900460ff169050919050565b611cdd612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6190613b3b565b60405180910390fd5b81601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611e233384846124c5565b905092915050565b611e33612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb790613b3b565b60405180910390fd5b600082118015611ed05750600081115b8015611ede57506127108111155b611ee757600080fd5b8082600354611ef69190613e98565b611f009190613cf6565b6006819055505050565b60006009600a611f1a9190613d7a565b600454611f279190613cf6565b905090565b60255481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f8c57600080fd5b60011515600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612042576000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061209b565b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915090505481565b6120e4612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216890613b3b565b60405180910390fd5b603c81111561217f57600080fd5b8060298190555050565b600047905090565b602d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166121d2612b3a565b73ffffffffffffffffffffffffffffffffffffffff1614612228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221f90613afb565b60405180910390fd5b601e60019054906101000a900460ff161561224257600080fd5b81601e60006101000a81548160ff02191690831515021790555062015180811061226b57600080fd5b806021600082825461227d9190613ca0565b925050819055505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000436027546025546123489190613ca0565b10612357576016549050612387565b81156123745760125460115461236d9190613ca0565b9050612387565b6012546011546123849190613ef2565b90505b919050565b612394612b3a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241890613b3b565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602c5481565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60275481565b6000602860029054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252d90613a9b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259d90613abb565b60405180910390fd5b600082116125e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e090613a7b565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561266b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266290613adb565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061270c5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127555760008214612754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274b90613b5b565b60405180910390fd5b5b61275d612cd0565b1580156127b35750601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561284d57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283b90613b1b565b60405180910390fd5b61284c612cdd565b5b602860009054906101000a900460ff1661294257600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129025750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293890613b7b565b60405180910390fd5b5b602d60009054906101000a900460ff161561296957612962848484612b42565b9050612b33565b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b49190613ef2565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a0285612d08565b612a0c5782612a17565b612a168484612d8d565b5b9050612a2284612e70565b15612a3a576000831115612a3957612a38612f65565b5b5b80600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a859190613ca0565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b259190613bbb565b60405180910390a360019150505b9392505050565b600033905090565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b8f9190613ef2565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9190613ca0565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612cbd9190613bbb565b60405180910390a3600190509392505050565b6000806025541415905090565b43602581905550426026819055506001602a60006101000a81548160ff021916908315150217905550565b6000602254601554148015612d295750602860029054906101000a900460ff165b15612d8357600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050612d88565b600090505b919050565b600080601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000601654612ded83612335565b85612df89190613e98565b612e029190613cf6565b905080600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e539190613ca0565b925050819055508084612e669190613ef2565b9250505092915050565b6000601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612ed95750602d60009054906101000a900460ff16155b8015612ef15750602a60009054906101000a900460ff165b8015612f465750601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015612f5e5750602860029054906101000a900460ff165b9050919050565b6001602d60006101000a81548160ff021916908315150217905550601454602354108015612fd257506000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613276576000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600267ffffffffffffffff811115613038576130376140de565b5b6040519080825280602002602001820160405280156130665781602001602082028036833780820191505090505b509050308160008151811061307e5761307d6140af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561312057600080fd5b505afa158015613134573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315891906133c0565b8160018151811061316c5761316b6140af565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161320a959493929190613bd6565b600060405180830381600087803b15801561322457600080fd5b505af1158015613238573d6000803e3d6000fd5b505050507f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de8260405161326b9190613bbb565b60405180910390a150505b6000602d60006101000a81548160ff021916908315150217905550565b6000813590506132a2816142de565b92915050565b6000815190506132b7816142de565b92915050565b60008083601f8401126132d3576132d2614112565b5b8235905067ffffffffffffffff8111156132f0576132ef61410d565b5b60208301915083602082028301111561330c5761330b614117565b5b9250929050565b60008083601f84011261332957613328614112565b5b8235905067ffffffffffffffff8111156133465761334561410d565b5b60208301915083602082028301111561336257613361614117565b5b9250929050565b600081359050613378816142f5565b92915050565b60008135905061338d8161430c565b92915050565b6000602082840312156133a9576133a8614121565b5b60006133b784828501613293565b91505092915050565b6000602082840312156133d6576133d5614121565b5b60006133e4848285016132a8565b91505092915050565b6000806040838503121561340457613403614121565b5b600061341285828601613293565b925050602061342385828601613293565b9150509250929050565b60008060006060848603121561344657613445614121565b5b600061345486828701613293565b935050602061346586828701613293565b92505060406134768682870161337e565b9150509250925092565b6000806040838503121561349757613496614121565b5b60006134a585828601613293565b92505060206134b685828601613369565b9150509250929050565b600080604083850312156134d7576134d6614121565b5b60006134e585828601613293565b92505060206134f68582860161337e565b9150509250929050565b6000806000806040858703121561351a57613519614121565b5b600085013567ffffffffffffffff8111156135385761353761411c565b5b613544878288016132bd565b9450945050602085013567ffffffffffffffff8111156135675761356661411c565b5b61357387828801613313565b925092505092959194509250565b60006020828403121561359757613596614121565b5b60006135a584828501613369565b91505092915050565b600080600080608085870312156135c8576135c7614121565b5b60006135d687828801613369565b94505060206135e787828801613369565b93505060406135f88782880161337e565b92505060606136098782880161337e565b91505092959194509250565b6000806040838503121561362c5761362b614121565b5b600061363a85828601613369565b925050602061364b8582860161337e565b9150509250929050565b60006020828403121561366b5761366a614121565b5b60006136798482850161337e565b91505092915050565b60008060006060848603121561369b5761369a614121565b5b60006136a98682870161337e565b93505060206136ba86828701613369565b92505060406136cb86828701613369565b9150509250925092565b600080604083850312156136ec576136eb614121565b5b60006136fa8582860161337e565b925050602061370b8582860161337e565b9150509250929050565b60008060006060848603121561372e5761372d614121565b5b600061373c8682870161337e565b935050602061374d8682870161337e565b925050604061375e8682870161337e565b9150509250925092565b6000613774838361378f565b60208301905092915050565b61378981613f38565b82525050565b61379881613f26565b82525050565b6137a781613f26565b82525050565b60006137b882613c5b565b6137c28185613c7e565b93506137cd83613c4b565b8060005b838110156137fe5781516137e58882613768565b97506137f083613c71565b9250506001810190506137d1565b5085935050505092915050565b61381481613f4a565b82525050565b61382381613f8d565b82525050565b61383281613f9f565b82525050565b600061384382613c66565b61384d8185613c8f565b935061385d818560208601613fd5565b61386681614126565b840191505092915050565b600061387e601583613c8f565b915061388982614144565b602082019050919050565b60006138a1601883613c8f565b91506138ac8261416d565b602082019050919050565b60006138c4601683613c8f565b91506138cf82614196565b602082019050919050565b60006138e7601483613c8f565b91506138f2826141bf565b602082019050919050565b600061390a601b83613c8f565b9150613915826141e8565b602082019050919050565b600061392d601883613c8f565b915061393882614211565b602082019050919050565b6000613950602083613c8f565b915061395b8261423a565b602082019050919050565b6000613973600083613c8f565b915061397e82614263565b600082019050919050565b6000613996601583613c8f565b91506139a182614266565b602082019050919050565b60006139b9602283613c8f565b91506139c48261428f565b604082019050919050565b6139d881613f76565b82525050565b6139e781613f80565b82525050565b6000602082019050613a02600083018461379e565b92915050565b6000602082019050613a1d6000830184613780565b92915050565b6000602082019050613a38600083018461380b565b92915050565b6000602082019050613a53600083018461381a565b92915050565b60006020820190508181036000830152613a738184613838565b905092915050565b60006020820190508181036000830152613a9481613871565b9050919050565b60006020820190508181036000830152613ab481613894565b9050919050565b60006020820190508181036000830152613ad4816138b7565b9050919050565b60006020820190508181036000830152613af4816138da565b9050919050565b60006020820190508181036000830152613b14816138fd565b9050919050565b60006020820190508181036000830152613b3481613920565b9050919050565b60006020820190508181036000830152613b5481613943565b9050919050565b60006020820190508181036000830152613b7481613966565b9050919050565b60006020820190508181036000830152613b9481613989565b9050919050565b60006020820190508181036000830152613bb4816139ac565b9050919050565b6000602082019050613bd060008301846139cf565b92915050565b600060a082019050613beb60008301886139cf565b613bf86020830187613829565b8181036040830152613c0a81866137ad565b9050613c19606083018561379e565b613c2660808301846139cf565b9695505050505050565b6000602082019050613c4560008301846139de565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613cab82613f76565b9150613cb683613f76565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ceb57613cea614051565b5b828201905092915050565b6000613d0182613f76565b9150613d0c83613f76565b925082613d1c57613d1b614080565b5b828204905092915050565b6000808291508390505b6001851115613d7157808604811115613d4d57613d4c614051565b5b6001851615613d5c5780820291505b8081029050613d6a85614137565b9450613d31565b94509492505050565b6000613d8582613f76565b9150613d9083613f80565b9250613dbd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613dc5565b905092915050565b600082613dd55760019050613e91565b81613de35760009050613e91565b8160018114613df95760028114613e0357613e32565b6001915050613e91565b60ff841115613e1557613e14614051565b5b8360020a915084821115613e2c57613e2b614051565b5b50613e91565b5060208310610133831016604e8410600b8410161715613e675782820a905083811115613e6257613e61614051565b5b613e91565b613e748484846001613d27565b92509050818404811115613e8b57613e8a614051565b5b81810290505b9392505050565b6000613ea382613f76565b9150613eae83613f76565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ee757613ee6614051565b5b828202905092915050565b6000613efd82613f76565b9150613f0883613f76565b925082821015613f1b57613f1a614051565b5b828203905092915050565b6000613f3182613f56565b9050919050565b6000613f4382613f56565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613f9882613fb1565b9050919050565b6000613faa82613f76565b9050919050565b6000613fbc82613fc3565b9050919050565b6000613fce82613f56565b9050919050565b60005b83811015613ff3578082015181840152602081019050613fd8565b83811115614002576000848401525b50505050565b600061401382613f76565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561404657614045614051565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f416d6f756e74206d757374206265203e207a65726f0000000000000000000000600082015250565b7f42455032303a207472616e736665722066726f6d203078300000000000000000600082015250565b7f42455032303a207472616e7366657220746f2030783000000000000000000000600082015250565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b7f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000600082015250565b7f4c6971756964697479206e6f74206164646564207965742e0000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f54726164696e67206e6f74206f70656e207965742e0000000000000000000000600082015250565b7f43616e277420616c7465722063757272656e74206c697175696469747920706160008201527f6972000000000000000000000000000000000000000000000000000000000000602082015250565b6142e781613f26565b81146142f257600080fd5b50565b6142fe81613f4a565b811461430957600080fd5b50565b61431581613f76565b811461432057600080fd5b5056fea2646970667358221220b30ceb20ffb9f81bfc0bcb335f1e0d42bc08c7714161d823d4295cf0feb9c9b864736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003
-----Decoded View---------------
Arg [0] : _supply_ (uint256): 3
Arg [1] : _decimals_ (uint256): 3
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000003
Deployed Bytecode Sourcemap
2284:14732:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4402:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5934:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6598:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5682:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6122:107;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9038:341;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16822:138;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5776:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8103:373;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8735:127;;;;;;;;;;;;;:::i;:::-;;11500:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3810:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14753:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15364:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16454:360;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6822:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4133:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6956:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4294:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6235:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15942:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7162:468;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4331:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3001:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6346:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7642:343;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5853:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3966:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14945:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16204:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4073:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8874:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15715:219;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6011:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4101:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11168:324;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3508:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3052:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15228:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7993:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8488:235;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6457:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3583:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13317:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16069:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4459:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3659:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4167:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15134:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4402:50;;;;:::o;5934:71::-;5973:13;5997:5;;;;;;;;;;;;;;;;;5990:12;;5934:71;:::o;6598:216::-;6673:4;6725:6;6690:11;:23;6702:10;6690:23;;;;;;;;;;;;;;;:32;6714:7;6690:32;;;;;;;;;;;;;;;:41;;;;6768:7;6747:37;;6756:10;6747:37;;;6777:6;6747:37;;;;;;:::i;:::-;;;;;;;;6802:4;6795:11;;6598:216;;;;:::o;5682:88::-;5737:7;5755:12;;5748:19;;5682:88;:::o;6122:107::-;6172:7;2576:1;6210:2;:15;;;;:::i;:::-;6190:16;;:36;;;;:::i;:::-;6183:43;;6122:107;:::o;9038:341::-;9138:4;9193:17;9158:11;:19;9170:6;9158:19;;;;;;;;;;;;;;;:31;9178:10;9158:31;;;;;;;;;;;;;;;;:52;9155:157;;9294:6;9260:11;:19;9272:6;9260:19;;;;;;;;;;;;;;;:31;9280:10;9260:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;9226:11;:19;9238:6;9226:19;;;;;;;;;;;;;;;:31;9246:10;9226:31;;;;;;;;;;;;;;;:74;;;;9155:157;9331:40;9345:6;9353:9;9364:6;9331:13;:40::i;:::-;9324:47;;9038:341;;;;;:::o;16822:138::-;16875:7;16936:15;16946:4;;;;;;;;;;;16936:9;:15::i;:::-;16918;16928:4;;;;;;;;;;;16918:9;:15::i;:::-;:33;;;;:::i;:::-;16902:12;;:50;;;;:::i;:::-;16895:57;;16822:138;:::o;5776:71::-;5819:5;2576:1;5828:16;;5776:71;:::o;8103:373::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8221:12:::1;;;;;;;;;;;8220:13;:33;;;;;8251:2;8237:11;:16;8220:33;8212:42;;;::::0;::::1;;8278:11;8265:10;:24;;;;8315:4;8300:12;;:19;;;;;;;;;;;;;;;;;;8343:12;8330:10;:25;;;;8402:11;8384:15;:29;;;;:::i;:::-;8366:15;:47;;;;2576:1;8452:2;:15;;;;:::i;:::-;8442:6;:26;;;;:::i;:::-;8424:15;:44;;;;8103:373:::0;;;:::o;8735:127::-;4666:10;;;;;;;;;;;4650:26;;:12;:10;:12::i;:::-;:26;;;4642:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8814:4:::1;8793:18;;:25;;;;;;;;;;;;;;;;;;8849:5;8829:17;;:25;;;;;;;;;;;;;;;;;;8735:127::o:0;11500:149::-;11570:4;11594:26;:47;11621:19;11594:47;;;;;;;;;;;;;;;;;;;;;;;;;11587:54;;11500:149;;;:::o;3810:45::-;;;;;;;;;;;;;;;;;:::o;14753:184::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14848:4:::1;;;;;;;;;;;14842:10;;:2;:10;;;;14834:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;14923:6;14902:14;:18;14917:2;14902:18;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;14753:184:::0;;:::o;15364:339::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15499:1:::1;15484:12;:16;:37;;;;;15520:1;15504:13;:17;15484:37;:52;;;;;15535:1;15525:7;:11;15484:52;:72;;;;;15551:5;15540:7;:16;;15484:72;15476:81;;;::::0;::::1;;15618:7;15602:12;15587;;:27;;;;:::i;:::-;15586:39;;;;:::i;:::-;15568:15;:57;;;;15688:7;15671:13;15656:12;;:28;;;;:::i;:::-;15655:40;;;;:::i;:::-;15636:16;:59;;;;15364:339:::0;;;:::o;16454:360::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16617:1:::1;16602:12;:16;16594:25;;;::::0;::::1;;16644:8;16630:11;;:22;;;;;;;;;;;;;;;;;;16680:15;16663:14;;:32;;;;;;;;;;;;;;;;;;16737:12;16722;;:27;;;;:::i;:::-;16706:13;:43;;;;2576:1;16790:2;:15;;;;:::i;:::-;16774:12;:32;;;;:::i;:::-;16760:11;:46;;;;16454:360:::0;;;;:::o;6822:122::-;6877:4;6901:35;6909:7;6918:17;6901:7;:35::i;:::-;6894:42;;6822:122;;;:::o;4133:27::-;;;;:::o;6956:194::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7044:8:::1;7040:103;;;7083:5;7070:10;;:18;;;;;;;;;;;;;;;;;;7126:5;7103:20;;:28;;;;;;;;;;;;;;;;;;7040:103;6956:194:::0;;:::o;4294:28::-;;;;:::o;6235:105::-;6285:7;2576:1;6321:2;:15;;;;:::i;:::-;6303:14;;:34;;;;:::i;:::-;6296:41;;6235:105;:::o;15942:119::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16047:6:::1;16025:11;:19;16037:6;16025:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;15942:119:::0;;:::o;7162:468::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7294:1:::1;7275:9;;:16;;:20;:58;;;;;7317:9;;:16;;7299:7;;:14;;:34;7275:58;7267:67;;;::::0;::::1;;7345:12;7360:10;7345:25;;7388:6;7383:240;7404:9;;:16;;7400:1;:20;7383:240;;;7446:14;:28;7461:9;;7471:1;7461:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7446:28;;;;;;;;;;;;;;;;;;;;;;;;;7445:29;:64;;;;;7479:16;:30;7496:9;;7506:1;7496:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7479:30;;;;;;;;;;;;;;;;;;;;;;;;;7478:31;7445:64;7442:170;;;7530:66;7545:4;7551:9;;7561:1;7551:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2576:1;7579:2;:15;;;;:::i;:::-;7565:7;;7573:1;7565:10;;;;;;;:::i;:::-;;;;;;;;:30;;;;:::i;:::-;7530:14;:66::i;:::-;;7442:170;7422:3;;;;;:::i;:::-;;;;7383:240;;;;7256:374;7162:468:::0;;;;:::o;4331:31::-;;;;;;;;;;;;;:::o;3001:44::-;;;;;;;;;;;;;;;;;:::o;6346:105::-;6412:7;6430:9;:18;6440:7;6430:18;;;;;;;;;;;;;;;;6423:25;;6346:105;;;:::o;7642:343::-;4666:10;;;;;;;;;;;4650:26;;:12;:10;:12::i;:::-;:26;;;4642:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7752:7:::1;:23;;;;;7764:11;7763:12;7752:23;7748:230;;;7793:17;7813:21;7793:41;;7862:6;;7853:5;;:15;7849:118;;;7893:10;;;;;;;;;;;7885:28;;:59;7939:4;7927:8;7915:9;:20;;;;:::i;:::-;7914:29;;;;:::i;:::-;7885:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7849:118;;;;7777:201;7748:230;7642:343:::0;;;:::o;5853:75::-;5894:13;5918:7;;;;;;;;;;;;;;;;;5911:14;;5853:75;:::o;3966:30::-;;;;:::o;14945:177::-;15009:4;4666:10;;;;;;;;;;;4650:26;;:12;:10;:12::i;:::-;:26;;;4642:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;15030:7:::1;15026:59;;;15054:4;15040:11;;:18;;;;;;;;;;;;;;;;;;15026:59;;;15080:5;15066:11;;:19;;;;;;;;;;;;;;;;;;15026:59;15103:11;;;;;;;;;;;15096:18;;14945:177:::0;;;:::o;16204:242::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16352:21:::1;16321:20;;:53;;;;;;;;;;;;;;;;;;16416:21;16385:20;;:53;;;;;;;;;;;;;;;;;;16204:242:::0;;:::o;4073:19::-;;;;;;;;;;;;;:::o;8874:156::-;8954:4;8978:44;8992:10;9004:9;9015:6;8978:13;:44::i;:::-;8971:51;;8874:156;;;;:::o;15715:219::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15825:1:::1;15813:9;:13;:28;;;;;15840:1;15830:7;:11;15813:28;:48;;;;;15856:5;15845:7;:16;;15813:48;15805:57;;;::::0;::::1;;15919:7;15906:9;15891:12;;:24;;;;:::i;:::-;15890:36;;;;:::i;:::-;15873:14;:53;;;;15715:219:::0;;:::o;6011:105::-;6060:7;2576:1;6097:2;:15;;;;:::i;:::-;6078;;:35;;;;:::i;:::-;6071:42;;6011:105;:::o;4101:25::-;;;;:::o;11168:324::-;11256:8;;;;;;;;;;;11242:22;;:10;:22;;;11234:31;;;;;;11331:4;11280:55;;:26;:47;11307:19;11280:47;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;11276:209;;;11402:5;11352:26;:47;11379:19;11352:47;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;11276:209;;;11479:4;11429:26;:47;11456:19;11429:47;;;;;;;;;;;;;;;;:54;;;;;;;;;;;;;;;;;;11276:209;11168:324;:::o;3508:68::-;;;;;;;;;;;;;:::o;3052:43::-;;;;;;;;;;;;;;;;;:::o;15228:128::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15310:10:::1;15302:4;:18;;15294:27;;;::::0;::::1;;15344:4;15332:9;:16;;;;15228:128:::0;:::o;7993:102::-;8039:7;8066:21;8059:28;;7993:102;:::o;8488:235::-;4666:10;;;;;;;;;;;4650:26;;:12;:10;:12::i;:::-;:26;;;4642:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8582:18:::1;;;;;;;;;;;8581:19;8573:28;;;::::0;::::1;;8632:8;8612:17;;:28;;;;;;;;;;;;;;;;;;8670:6;8659:8;:17;8651:26;;;::::0;::::1;;8707:8;8688:15;;:27;;;;;;;:::i;:::-;;;;;;;;8488:235:::0;;:::o;6457:133::-;6541:7;6559:11;:19;6571:6;6559:19;;;;;;;;;;;;;;;:28;6579:7;6559:28;;;;;;;;;;;;;;;;6552:35;;6457:133;;;;:::o;3583:35::-;;;;;;;;;;;;;:::o;13317:239::-;13373:7;13423:12;13409:10;;13396;;:23;;;;:::i;:::-;:39;13393:69;;13445:14;;13438:21;;;;13393:69;13476:7;13472:39;;;13503:8;;13492;;:19;;;;:::i;:::-;13485:26;;;;13472:39;13540:8;;13529;;:19;;;;:::i;:::-;13522:26;;13317:239;;;;:::o;16069:127::-;2208:12;:10;:12::i;:::-;2198:22;;:6;;;;;;;;;;:22;;;2190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16182:6:::1;16156:15;:23;16172:6;16156:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;16069:127:::0;;:::o;4459:49::-;;;;:::o;3659:24::-;;;;;;;;;;;;;:::o;4167:25::-;;;;:::o;15134:86::-;15177:4;15201:11;;;;;;;;;;;15194:18;;15134:86;:::o;9387:1210::-;9479:4;9522:1;9504:20;;:6;:20;;;;9496:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9593:1;9572:23;;:9;:23;;;;9564:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9650:1;9641:6;:10;9633:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;9717:6;9696:9;:17;9706:6;9696:17;;;;;;;;;;;;;;;;:27;;9688:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9763:26;:34;9790:6;9763:34;;;;;;;;;;;;;;;;;;;;;;;;;:75;;;;9801:26;:37;9828:9;9801:37;;;;;;;;;;;;;;;;;;;;;;;;;9763:75;9759:106;;;9859:1;9849:6;:11;9840:25;;;;;;;;;;;;:::i;:::-;;;;;;;;;9759:106;9880:10;:8;:10::i;:::-;9879:11;:40;;;;;9894:14;:25;9909:9;9894:25;;;;;;;;;;;;;;;;;;;;;;;;;9879:40;9876:120;;;9930:16;:24;9947:6;9930:24;;;;;;;;;;;;;;;;;;;;;;;;;9922:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9985:8;:6;:8::i;:::-;9876:120;10010:12;;;;;;;;;;;10006:111;;10033:16;:24;10050:6;10033:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;10061:16;:27;10078:9;10061:27;;;;;;;;;;;;;;;;;;;;;;;;;10033:55;10025:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;10006:111;10130:6;;;;;;;;;;;10127:63;;;10146:41;10161:6;10169:9;10180:6;10146:14;:41::i;:::-;10139:48;;;;10127:63;10242:6;10222:9;:17;10232:6;10222:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10202:9;:17;10212:6;10202:17;;;;;;;;;;;;;;;:46;;;;10261:22;10286:21;10300:6;10286:13;:21::i;:::-;:59;;10339:6;10286:59;;;10310:26;10318:9;10329:6;10310:7;:26::i;:::-;10286:59;10261:84;;10369:25;10384:9;10369:14;:25::i;:::-;10366:60;;;10410:1;10401:6;:10;10397:26;;;10413:10;:8;:10::i;:::-;10397:26;10366:60;10492:14;10469:9;:20;10479:9;10469:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;10446:9;:20;10456:9;10446:20;;;;;;;;;;;;;;;:60;;;;10541:9;10524:43;;10533:6;10524:43;;;10552:14;10524:43;;;;;;:::i;:::-;;;;;;;;10585:4;10578:11;;;9387:1210;;;;;;:::o;102:107::-;147:15;190:10;175:26;;102:107;:::o;10856:300::-;10949:4;11006:6;10986:9;:17;10996:6;10986:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10966:9;:17;10976:6;10966:17;;;;;;;;;;;;;;;:46;;;;11069:6;11046:9;:20;11056:9;11046:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;11023:9;:20;11033:9;11023:20;;;;;;;;;;;;;;;:52;;;;11108:9;11091:35;;11100:6;11091:35;;;11119:6;11091:35;;;;;;:::i;:::-;;;;;;;;11144:4;11137:11;;10856:300;;;;;:::o;10609:90::-;10652:4;10690:1;10676:10;;:15;;10669:22;;10609:90;:::o;10707:141::-;10758:12;10745:10;:25;;;;10796:15;10781:12;:30;;;;10836:4;10822:11;;:18;;;;;;;;;;;;;;;;;;10707:141::o;13128:181::-;13190:4;13224:5;;13211:9;;:18;:33;;;;;13233:11;;;;;;;;;;;13211:33;13207:94;;;13263:11;:19;13275:6;13263:19;;;;;;;;;;;;;;;;;;;;;;;;;13262:20;13255:27;;;;13207:94;13296:5;13289:12;;13128:181;;;;:::o;13564:317::-;13634:7;13654:12;13669:14;:25;13684:9;13669:25;;;;;;;;;;;;;;;;;;;;;;;;;13654:40;;13705:17;13759:14;;13735:20;13747:7;13735:11;:20::i;:::-;13726:6;:29;;;;:::i;:::-;13725:48;;;;:::i;:::-;13705:68;;13822:9;13794;:24;13812:4;13794:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;13864:9;13855:6;:18;;;;:::i;:::-;13848:25;;;;13564:317;;;;:::o;13889:231::-;13955:4;13980:14;:26;13995:10;13980:26;;;;;;;;;;;;;;;;;;;;;;;;;13979:27;:47;;;;;14020:6;;;;;;;;;;;14019:7;13979:47;:71;;;;;14039:11;;;;;;;;;;;13979:71;:109;;;;;14063:14;:25;14078:9;14063:25;;;;;;;;;;;;;;;;;;;;;;;;;13979:109;:133;;;;;14101:11;;;;;;;;;;;13979:133;13972:140;;13889:231;;;:::o;14128:613::-;4564:4;4555:6;;:13;;;;;;;;;;;;;;;;;;14189:8:::1;;14181:5;;:16;:48;;;;;14228:1;14201:9;:24;14219:4;14201:24;;;;;;;;;;;;;;;;:28;14181:48;14177:557;;;14245:20;14268:9;:24;14286:4;14268:24;;;;;;;;;;;;;;;;14245:47;;14317:21;14355:1;14341:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14317:40;;14390:4;14372;14377:1;14372:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;14420:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14410:4;14415:1;14410:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;14458:6;;;;;;;;;;;:57;;;14534:12;14565:1;14585:4;14616;14640:15;14458:212;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14692:30;14709:12;14692:30;;;;;;:::i;:::-;;;;;;;;14230:504;;14177:557;4582:5:::0;4573:6;;:14;;;;;;;;;;;;;;;;;;14128:613::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;909:::-;982:8;992:6;1042:3;1035:4;1027:6;1023:17;1019:27;1009:122;;1050:79;;:::i;:::-;1009:122;1163:6;1150:20;1140:30;;1193:18;1185:6;1182:30;1179:117;;;1215:79;;:::i;:::-;1179:117;1329:4;1321:6;1317:17;1305:29;;1383:3;1375:4;1367:6;1363:17;1353:8;1349:32;1346:41;1343:128;;;1390:79;;:::i;:::-;1343:128;909:568;;;;;:::o;1483:133::-;1526:5;1564:6;1551:20;1542:29;;1580:30;1604:5;1580:30;:::i;:::-;1483:133;;;;:::o;1622:139::-;1668:5;1706:6;1693:20;1684:29;;1722:33;1749:5;1722:33;:::i;:::-;1622:139;;;;:::o;1767:329::-;1826:6;1875:2;1863:9;1854:7;1850:23;1846:32;1843:119;;;1881:79;;:::i;:::-;1843:119;2001:1;2026:53;2071:7;2062:6;2051:9;2047:22;2026:53;:::i;:::-;2016:63;;1972:117;1767:329;;;;:::o;2102:351::-;2172:6;2221:2;2209:9;2200:7;2196:23;2192:32;2189:119;;;2227:79;;:::i;:::-;2189:119;2347:1;2372:64;2428:7;2419:6;2408:9;2404:22;2372:64;:::i;:::-;2362:74;;2318:128;2102:351;;;;:::o;2459:474::-;2527:6;2535;2584:2;2572:9;2563:7;2559:23;2555:32;2552:119;;;2590:79;;:::i;:::-;2552:119;2710:1;2735:53;2780:7;2771:6;2760:9;2756:22;2735:53;:::i;:::-;2725:63;;2681:117;2837:2;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2808:118;2459:474;;;;;:::o;2939:619::-;3016:6;3024;3032;3081:2;3069:9;3060:7;3056:23;3052:32;3049:119;;;3087:79;;:::i;:::-;3049:119;3207:1;3232:53;3277:7;3268:6;3257:9;3253:22;3232:53;:::i;:::-;3222:63;;3178:117;3334:2;3360:53;3405:7;3396:6;3385:9;3381:22;3360:53;:::i;:::-;3350:63;;3305:118;3462:2;3488:53;3533:7;3524:6;3513:9;3509:22;3488:53;:::i;:::-;3478:63;;3433:118;2939:619;;;;;:::o;3564:468::-;3629:6;3637;3686:2;3674:9;3665:7;3661:23;3657:32;3654:119;;;3692:79;;:::i;:::-;3654:119;3812:1;3837:53;3882:7;3873:6;3862:9;3858:22;3837:53;:::i;:::-;3827:63;;3783:117;3939:2;3965:50;4007:7;3998:6;3987:9;3983:22;3965:50;:::i;:::-;3955:60;;3910:115;3564:468;;;;;:::o;4038:474::-;4106:6;4114;4163:2;4151:9;4142:7;4138:23;4134:32;4131:119;;;4169:79;;:::i;:::-;4131:119;4289:1;4314:53;4359:7;4350:6;4339:9;4335:22;4314:53;:::i;:::-;4304:63;;4260:117;4416:2;4442:53;4487:7;4478:6;4467:9;4463:22;4442:53;:::i;:::-;4432:63;;4387:118;4038:474;;;;;:::o;4518:934::-;4640:6;4648;4656;4664;4713:2;4701:9;4692:7;4688:23;4684:32;4681:119;;;4719:79;;:::i;:::-;4681:119;4867:1;4856:9;4852:17;4839:31;4897:18;4889:6;4886:30;4883:117;;;4919:79;;:::i;:::-;4883:117;5032:80;5104:7;5095:6;5084:9;5080:22;5032:80;:::i;:::-;5014:98;;;;4810:312;5189:2;5178:9;5174:18;5161:32;5220:18;5212:6;5209:30;5206:117;;;5242:79;;:::i;:::-;5206:117;5355:80;5427:7;5418:6;5407:9;5403:22;5355:80;:::i;:::-;5337:98;;;;5132:313;4518:934;;;;;;;:::o;5458:323::-;5514:6;5563:2;5551:9;5542:7;5538:23;5534:32;5531:119;;;5569:79;;:::i;:::-;5531:119;5689:1;5714:50;5756:7;5747:6;5736:9;5732:22;5714:50;:::i;:::-;5704:60;;5660:114;5458:323;;;;:::o;5787:753::-;5867:6;5875;5883;5891;5940:3;5928:9;5919:7;5915:23;5911:33;5908:120;;;5947:79;;:::i;:::-;5908:120;6067:1;6092:50;6134:7;6125:6;6114:9;6110:22;6092:50;:::i;:::-;6082:60;;6038:114;6191:2;6217:50;6259:7;6250:6;6239:9;6235:22;6217:50;:::i;:::-;6207:60;;6162:115;6316:2;6342:53;6387:7;6378:6;6367:9;6363:22;6342:53;:::i;:::-;6332:63;;6287:118;6444:2;6470:53;6515:7;6506:6;6495:9;6491:22;6470:53;:::i;:::-;6460:63;;6415:118;5787:753;;;;;;;:::o;6546:468::-;6611:6;6619;6668:2;6656:9;6647:7;6643:23;6639:32;6636:119;;;6674:79;;:::i;:::-;6636:119;6794:1;6819:50;6861:7;6852:6;6841:9;6837:22;6819:50;:::i;:::-;6809:60;;6765:114;6918:2;6944:53;6989:7;6980:6;6969:9;6965:22;6944:53;:::i;:::-;6934:63;;6889:118;6546:468;;;;;:::o;7020:329::-;7079:6;7128:2;7116:9;7107:7;7103:23;7099:32;7096:119;;;7134:79;;:::i;:::-;7096:119;7254:1;7279:53;7324:7;7315:6;7304:9;7300:22;7279:53;:::i;:::-;7269:63;;7225:117;7020:329;;;;:::o;7355:607::-;7426:6;7434;7442;7491:2;7479:9;7470:7;7466:23;7462:32;7459:119;;;7497:79;;:::i;:::-;7459:119;7617:1;7642:53;7687:7;7678:6;7667:9;7663:22;7642:53;:::i;:::-;7632:63;;7588:117;7744:2;7770:50;7812:7;7803:6;7792:9;7788:22;7770:50;:::i;:::-;7760:60;;7715:115;7869:2;7895:50;7937:7;7928:6;7917:9;7913:22;7895:50;:::i;:::-;7885:60;;7840:115;7355:607;;;;;:::o;7968:474::-;8036:6;8044;8093:2;8081:9;8072:7;8068:23;8064:32;8061:119;;;8099:79;;:::i;:::-;8061:119;8219:1;8244:53;8289:7;8280:6;8269:9;8265:22;8244:53;:::i;:::-;8234:63;;8190:117;8346:2;8372:53;8417:7;8408:6;8397:9;8393:22;8372:53;:::i;:::-;8362:63;;8317:118;7968:474;;;;;:::o;8448:619::-;8525:6;8533;8541;8590:2;8578:9;8569:7;8565:23;8561:32;8558:119;;;8596:79;;:::i;:::-;8558:119;8716:1;8741:53;8786:7;8777:6;8766:9;8762:22;8741:53;:::i;:::-;8731:63;;8687:117;8843:2;8869:53;8914:7;8905:6;8894:9;8890:22;8869:53;:::i;:::-;8859:63;;8814:118;8971:2;8997:53;9042:7;9033:6;9022:9;9018:22;8997:53;:::i;:::-;8987:63;;8942:118;8448:619;;;;;:::o;9073:179::-;9142:10;9163:46;9205:3;9197:6;9163:46;:::i;:::-;9241:4;9236:3;9232:14;9218:28;;9073:179;;;;:::o;9258:142::-;9361:32;9387:5;9361:32;:::i;:::-;9356:3;9349:45;9258:142;;:::o;9406:108::-;9483:24;9501:5;9483:24;:::i;:::-;9478:3;9471:37;9406:108;;:::o;9520:118::-;9607:24;9625:5;9607:24;:::i;:::-;9602:3;9595:37;9520:118;;:::o;9674:732::-;9793:3;9822:54;9870:5;9822:54;:::i;:::-;9892:86;9971:6;9966:3;9892:86;:::i;:::-;9885:93;;10002:56;10052:5;10002:56;:::i;:::-;10081:7;10112:1;10097:284;10122:6;10119:1;10116:13;10097:284;;;10198:6;10192:13;10225:63;10284:3;10269:13;10225:63;:::i;:::-;10218:70;;10311:60;10364:6;10311:60;:::i;:::-;10301:70;;10157:224;10144:1;10141;10137:9;10132:14;;10097:284;;;10101:14;10397:3;10390:10;;9798:608;;;9674:732;;;;:::o;10412:109::-;10493:21;10508:5;10493:21;:::i;:::-;10488:3;10481:34;10412:109;;:::o;10527:167::-;10632:55;10681:5;10632:55;:::i;:::-;10627:3;10620:68;10527:167;;:::o;10700:147::-;10795:45;10834:5;10795:45;:::i;:::-;10790:3;10783:58;10700:147;;:::o;10853:364::-;10941:3;10969:39;11002:5;10969:39;:::i;:::-;11024:71;11088:6;11083:3;11024:71;:::i;:::-;11017:78;;11104:52;11149:6;11144:3;11137:4;11130:5;11126:16;11104:52;:::i;:::-;11181:29;11203:6;11181:29;:::i;:::-;11176:3;11172:39;11165:46;;10945:272;10853:364;;;;:::o;11223:366::-;11365:3;11386:67;11450:2;11445:3;11386:67;:::i;:::-;11379:74;;11462:93;11551:3;11462:93;:::i;:::-;11580:2;11575:3;11571:12;11564:19;;11223:366;;;:::o;11595:::-;11737:3;11758:67;11822:2;11817:3;11758:67;:::i;:::-;11751:74;;11834:93;11923:3;11834:93;:::i;:::-;11952:2;11947:3;11943:12;11936:19;;11595:366;;;:::o;11967:::-;12109:3;12130:67;12194:2;12189:3;12130:67;:::i;:::-;12123:74;;12206:93;12295:3;12206:93;:::i;:::-;12324:2;12319:3;12315:12;12308:19;;11967:366;;;:::o;12339:::-;12481:3;12502:67;12566:2;12561:3;12502:67;:::i;:::-;12495:74;;12578:93;12667:3;12578:93;:::i;:::-;12696:2;12691:3;12687:12;12680:19;;12339:366;;;:::o;12711:::-;12853:3;12874:67;12938:2;12933:3;12874:67;:::i;:::-;12867:74;;12950:93;13039:3;12950:93;:::i;:::-;13068:2;13063:3;13059:12;13052:19;;12711:366;;;:::o;13083:::-;13225:3;13246:67;13310:2;13305:3;13246:67;:::i;:::-;13239:74;;13322:93;13411:3;13322:93;:::i;:::-;13440:2;13435:3;13431:12;13424:19;;13083:366;;;:::o;13455:::-;13597:3;13618:67;13682:2;13677:3;13618:67;:::i;:::-;13611:74;;13694:93;13783:3;13694:93;:::i;:::-;13812:2;13807:3;13803:12;13796:19;;13455:366;;;:::o;13827:364::-;13969:3;13990:66;14054:1;14049:3;13990:66;:::i;:::-;13983:73;;14065:93;14154:3;14065:93;:::i;:::-;14183:1;14178:3;14174:11;14167:18;;13827:364;;;:::o;14197:366::-;14339:3;14360:67;14424:2;14419:3;14360:67;:::i;:::-;14353:74;;14436:93;14525:3;14436:93;:::i;:::-;14554:2;14549:3;14545:12;14538:19;;14197:366;;;:::o;14569:::-;14711:3;14732:67;14796:2;14791:3;14732:67;:::i;:::-;14725:74;;14808:93;14897:3;14808:93;:::i;:::-;14926:2;14921:3;14917:12;14910:19;;14569:366;;;:::o;14941:118::-;15028:24;15046:5;15028:24;:::i;:::-;15023:3;15016:37;14941:118;;:::o;15065:112::-;15148:22;15164:5;15148:22;:::i;:::-;15143:3;15136:35;15065:112;;:::o;15183:222::-;15276:4;15314:2;15303:9;15299:18;15291:26;;15327:71;15395:1;15384:9;15380:17;15371:6;15327:71;:::i;:::-;15183:222;;;;:::o;15411:254::-;15520:4;15558:2;15547:9;15543:18;15535:26;;15571:87;15655:1;15644:9;15640:17;15631:6;15571:87;:::i;:::-;15411:254;;;;:::o;15671:210::-;15758:4;15796:2;15785:9;15781:18;15773:26;;15809:65;15871:1;15860:9;15856:17;15847:6;15809:65;:::i;:::-;15671:210;;;;:::o;15887:258::-;15998:4;16036:2;16025:9;16021:18;16013:26;;16049:89;16135:1;16124:9;16120:17;16111:6;16049:89;:::i;:::-;15887:258;;;;:::o;16151:313::-;16264:4;16302:2;16291:9;16287:18;16279:26;;16351:9;16345:4;16341:20;16337:1;16326:9;16322:17;16315:47;16379:78;16452:4;16443:6;16379:78;:::i;:::-;16371:86;;16151:313;;;;:::o;16470:419::-;16636:4;16674:2;16663:9;16659:18;16651:26;;16723:9;16717:4;16713:20;16709:1;16698:9;16694:17;16687:47;16751:131;16877:4;16751:131;:::i;:::-;16743:139;;16470:419;;;:::o;16895:::-;17061:4;17099:2;17088:9;17084:18;17076:26;;17148:9;17142:4;17138:20;17134:1;17123:9;17119:17;17112:47;17176:131;17302:4;17176:131;:::i;:::-;17168:139;;16895:419;;;:::o;17320:::-;17486:4;17524:2;17513:9;17509:18;17501:26;;17573:9;17567:4;17563:20;17559:1;17548:9;17544:17;17537:47;17601:131;17727:4;17601:131;:::i;:::-;17593:139;;17320:419;;;:::o;17745:::-;17911:4;17949:2;17938:9;17934:18;17926:26;;17998:9;17992:4;17988:20;17984:1;17973:9;17969:17;17962:47;18026:131;18152:4;18026:131;:::i;:::-;18018:139;;17745:419;;;:::o;18170:::-;18336:4;18374:2;18363:9;18359:18;18351:26;;18423:9;18417:4;18413:20;18409:1;18398:9;18394:17;18387:47;18451:131;18577:4;18451:131;:::i;:::-;18443:139;;18170:419;;;:::o;18595:::-;18761:4;18799:2;18788:9;18784:18;18776:26;;18848:9;18842:4;18838:20;18834:1;18823:9;18819:17;18812:47;18876:131;19002:4;18876:131;:::i;:::-;18868:139;;18595:419;;;:::o;19020:::-;19186:4;19224:2;19213:9;19209:18;19201:26;;19273:9;19267:4;19263:20;19259:1;19248:9;19244:17;19237:47;19301:131;19427:4;19301:131;:::i;:::-;19293:139;;19020:419;;;:::o;19445:::-;19611:4;19649:2;19638:9;19634:18;19626:26;;19698:9;19692:4;19688:20;19684:1;19673:9;19669:17;19662:47;19726:131;19852:4;19726:131;:::i;:::-;19718:139;;19445:419;;;:::o;19870:::-;20036:4;20074:2;20063:9;20059:18;20051:26;;20123:9;20117:4;20113:20;20109:1;20098:9;20094:17;20087:47;20151:131;20277:4;20151:131;:::i;:::-;20143:139;;19870:419;;;:::o;20295:::-;20461:4;20499:2;20488:9;20484:18;20476:26;;20548:9;20542:4;20538:20;20534:1;20523:9;20519:17;20512:47;20576:131;20702:4;20576:131;:::i;:::-;20568:139;;20295:419;;;:::o;20720:222::-;20813:4;20851:2;20840:9;20836:18;20828:26;;20864:71;20932:1;20921:9;20917:17;20908:6;20864:71;:::i;:::-;20720:222;;;;:::o;20948:831::-;21211:4;21249:3;21238:9;21234:19;21226:27;;21263:71;21331:1;21320:9;21316:17;21307:6;21263:71;:::i;:::-;21344:80;21420:2;21409:9;21405:18;21396:6;21344:80;:::i;:::-;21471:9;21465:4;21461:20;21456:2;21445:9;21441:18;21434:48;21499:108;21602:4;21593:6;21499:108;:::i;:::-;21491:116;;21617:72;21685:2;21674:9;21670:18;21661:6;21617:72;:::i;:::-;21699:73;21767:3;21756:9;21752:19;21743:6;21699:73;:::i;:::-;20948:831;;;;;;;;:::o;21785:214::-;21874:4;21912:2;21901:9;21897:18;21889:26;;21925:67;21989:1;21978:9;21974:17;21965:6;21925:67;:::i;:::-;21785:214;;;;:::o;22086:132::-;22153:4;22176:3;22168:11;;22206:4;22201:3;22197:14;22189:22;;22086:132;;;:::o;22224:114::-;22291:6;22325:5;22319:12;22309:22;;22224:114;;;:::o;22344:99::-;22396:6;22430:5;22424:12;22414:22;;22344:99;;;:::o;22449:113::-;22519:4;22551;22546:3;22542:14;22534:22;;22449:113;;;:::o;22568:184::-;22667:11;22701:6;22696:3;22689:19;22741:4;22736:3;22732:14;22717:29;;22568:184;;;;:::o;22758:169::-;22842:11;22876:6;22871:3;22864:19;22916:4;22911:3;22907:14;22892:29;;22758:169;;;;:::o;22933:305::-;22973:3;22992:20;23010:1;22992:20;:::i;:::-;22987:25;;23026:20;23044:1;23026:20;:::i;:::-;23021:25;;23180:1;23112:66;23108:74;23105:1;23102:81;23099:107;;;23186:18;;:::i;:::-;23099:107;23230:1;23227;23223:9;23216:16;;22933:305;;;;:::o;23244:185::-;23284:1;23301:20;23319:1;23301:20;:::i;:::-;23296:25;;23335:20;23353:1;23335:20;:::i;:::-;23330:25;;23374:1;23364:35;;23379:18;;:::i;:::-;23364:35;23421:1;23418;23414:9;23409:14;;23244:185;;;;:::o;23435:848::-;23496:5;23503:4;23527:6;23518:15;;23551:5;23542:14;;23565:712;23586:1;23576:8;23573:15;23565:712;;;23681:4;23676:3;23672:14;23666:4;23663:24;23660:50;;;23690:18;;:::i;:::-;23660:50;23740:1;23730:8;23726:16;23723:451;;;24155:4;24148:5;24144:16;24135:25;;23723:451;24205:4;24199;24195:15;24187:23;;24235:32;24258:8;24235:32;:::i;:::-;24223:44;;23565:712;;;23435:848;;;;;;;:::o;24289:281::-;24347:5;24371:23;24389:4;24371:23;:::i;:::-;24363:31;;24415:25;24431:8;24415:25;:::i;:::-;24403:37;;24459:104;24496:66;24486:8;24480:4;24459:104;:::i;:::-;24450:113;;24289:281;;;;:::o;24576:1073::-;24630:5;24821:8;24811:40;;24842:1;24833:10;;24844:5;;24811:40;24870:4;24860:36;;24887:1;24878:10;;24889:5;;24860:36;24956:4;25004:1;24999:27;;;;25040:1;25035:191;;;;24949:277;;24999:27;25017:1;25008:10;;25019:5;;;25035:191;25080:3;25070:8;25067:17;25064:43;;;25087:18;;:::i;:::-;25064:43;25136:8;25133:1;25129:16;25120:25;;25171:3;25164:5;25161:14;25158:40;;;25178:18;;:::i;:::-;25158:40;25211:5;;;24949:277;;25335:2;25325:8;25322:16;25316:3;25310:4;25307:13;25303:36;25285:2;25275:8;25272:16;25267:2;25261:4;25258:12;25254:35;25238:111;25235:246;;;25391:8;25385:4;25381:19;25372:28;;25426:3;25419:5;25416:14;25413:40;;;25433:18;;:::i;:::-;25413:40;25466:5;;25235:246;25506:42;25544:3;25534:8;25528:4;25525:1;25506:42;:::i;:::-;25491:57;;;;25580:4;25575:3;25571:14;25564:5;25561:25;25558:51;;;25589:18;;:::i;:::-;25558:51;25638:4;25631:5;25627:16;25618:25;;24576:1073;;;;;;:::o;25655:348::-;25695:7;25718:20;25736:1;25718:20;:::i;:::-;25713:25;;25752:20;25770:1;25752:20;:::i;:::-;25747:25;;25940:1;25872:66;25868:74;25865:1;25862:81;25857:1;25850:9;25843:17;25839:105;25836:131;;;25947:18;;:::i;:::-;25836:131;25995:1;25992;25988:9;25977:20;;25655:348;;;;:::o;26009:191::-;26049:4;26069:20;26087:1;26069:20;:::i;:::-;26064:25;;26103:20;26121:1;26103:20;:::i;:::-;26098:25;;26142:1;26139;26136:8;26133:34;;;26147:18;;:::i;:::-;26133:34;26192:1;26189;26185:9;26177:17;;26009:191;;;;:::o;26206:96::-;26243:7;26272:24;26290:5;26272:24;:::i;:::-;26261:35;;26206:96;;;:::o;26308:104::-;26353:7;26382:24;26400:5;26382:24;:::i;:::-;26371:35;;26308:104;;;:::o;26418:90::-;26452:7;26495:5;26488:13;26481:21;26470:32;;26418:90;;;:::o;26514:126::-;26551:7;26591:42;26584:5;26580:54;26569:65;;26514:126;;;:::o;26646:77::-;26683:7;26712:5;26701:16;;26646:77;;;:::o;26729:86::-;26764:7;26804:4;26797:5;26793:16;26782:27;;26729:86;;;:::o;26821:144::-;26889:9;26922:37;26953:5;26922:37;:::i;:::-;26909:50;;26821:144;;;:::o;26971:121::-;27029:9;27062:24;27080:5;27062:24;:::i;:::-;27049:37;;26971:121;;;:::o;27098:126::-;27148:9;27181:37;27212:5;27181:37;:::i;:::-;27168:50;;27098:126;;;:::o;27230:113::-;27280:9;27313:24;27331:5;27313:24;:::i;:::-;27300:37;;27230:113;;;:::o;27349:307::-;27417:1;27427:113;27441:6;27438:1;27435:13;27427:113;;;27526:1;27521:3;27517:11;27511:18;27507:1;27502:3;27498:11;27491:39;27463:2;27460:1;27456:10;27451:15;;27427:113;;;27558:6;27555:1;27552:13;27549:101;;;27638:1;27629:6;27624:3;27620:16;27613:27;27549:101;27398:258;27349:307;;;:::o;27662:233::-;27701:3;27724:24;27742:5;27724:24;:::i;:::-;27715:33;;27770:66;27763:5;27760:77;27757:103;;;27840:18;;:::i;:::-;27757:103;27887:1;27880:5;27876:13;27869:20;;27662:233;;;:::o;27901:180::-;27949:77;27946:1;27939:88;28046:4;28043:1;28036:15;28070:4;28067:1;28060:15;28087:180;28135:77;28132:1;28125:88;28232:4;28229:1;28222:15;28256:4;28253:1;28246:15;28273:180;28321:77;28318:1;28311:88;28418:4;28415:1;28408:15;28442:4;28439:1;28432:15;28459:180;28507:77;28504:1;28497:88;28604:4;28601:1;28594:15;28628:4;28625:1;28618:15;28645:117;28754:1;28751;28744:12;28768:117;28877:1;28874;28867:12;28891:117;29000:1;28997;28990:12;29014:117;29123:1;29120;29113:12;29137:117;29246:1;29243;29236:12;29260:102;29301:6;29352:2;29348:7;29343:2;29336:5;29332:14;29328:28;29318:38;;29260:102;;;:::o;29368:::-;29410:8;29457:5;29454:1;29450:13;29429:34;;29368:102;;;:::o;29476:171::-;29616:23;29612:1;29604:6;29600:14;29593:47;29476:171;:::o;29653:174::-;29793:26;29789:1;29781:6;29777:14;29770:50;29653:174;:::o;29833:172::-;29973:24;29969:1;29961:6;29957:14;29950:48;29833:172;:::o;30011:170::-;30151:22;30147:1;30139:6;30135:14;30128:46;30011:170;:::o;30187:177::-;30327:29;30323:1;30315:6;30311:14;30304:53;30187:177;:::o;30370:174::-;30510:26;30506:1;30498:6;30494:14;30487:50;30370:174;:::o;30550:182::-;30690:34;30686:1;30678:6;30674:14;30667:58;30550:182;:::o;30738:114::-;;:::o;30858:171::-;30998:23;30994:1;30986:6;30982:14;30975:47;30858:171;:::o;31035:221::-;31175:34;31171:1;31163:6;31159:14;31152:58;31244:4;31239:2;31231:6;31227:15;31220:29;31035:221;:::o;31262:122::-;31335:24;31353:5;31335:24;:::i;:::-;31328:5;31325:35;31315:63;;31374:1;31371;31364:12;31315:63;31262:122;:::o;31390:116::-;31460:21;31475:5;31460:21;:::i;:::-;31453:5;31450:32;31440:60;;31496:1;31493;31486:12;31440:60;31390:116;:::o;31512:122::-;31585:24;31603:5;31585:24;:::i;:::-;31578:5;31575:35;31565:63;;31624:1;31621;31614:12;31565:63;31512:122;:::o
Swarm Source
ipfs://b30ceb20ffb9f81bfc0bcb335f1e0d42bc08c7714161d823d4295cf0feb9c9b8
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.