ERC-20
Overview
Max Total Supply
21,000,000 CATSv2
Holders
82
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,976 CATSv2Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Catoshi
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-02 */ // SPDX-License-Identifier: MIT /* * Copyright © 2020 reflect.finance. ALL RIGHTS RESERVED. */ pragma solidity ^0.6.2; interface IERC20 { function totalSupply() external view returns(uint); function balanceOf(address account) external view returns(uint); function transfer(address recipient, uint amount) external returns(bool); function allowance(address owner, address spender) external view returns(uint); function approve(address spender, uint amount) external returns(bool); function transferFrom(address sender, address recipient, uint amount) external returns(bool); event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); } library Address { function isContract(address account) internal view returns(bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash:= extcodehash(account) } return (codehash != 0x0 && codehash != accountHash); } } contract Context { constructor() internal {} // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns(address payable) { return msg.sender; } } library SafeMath { function add(uint a, uint b) internal pure returns(uint) { uint c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint a, uint b) internal pure returns(uint) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint a, uint b, string memory errorMessage) internal pure returns(uint) { require(b <= a, errorMessage); uint c = a - b; return c; } function mul(uint a, uint b) internal pure returns(uint) { if (a == 0) { return 0; } uint c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint a, uint b) internal pure returns(uint) { return div(a, b, "SafeMath: division by zero"); } function div(uint a, uint b, string memory errorMessage) internal pure returns(uint) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; function factory() external pure returns (address); function WETH() external pure returns (address); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () public{ address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Catoshi is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name; string private _symbol; uint8 private _decimals = 18; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => uint256) private _balances; mapping (uint256 => bool) private nonceProcessed; uint256 _nonce = 0; mapping (address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private constant _supply = 42 * 10**6 * 10**18; // total supply of the catoshi token uint256 private _totalSupply = 0; uint256 private _tTotal; uint256 private _rTotal; uint256 private _tFeeTotal; uint256 private _bridgeFee = 2; uint256 private _processedFees = 100000000000; bool private isBridgingEnabled; address public _bridgeAddress = address(0xd070544810510865114Ad5A0b6a821A5BD2E7C49); address public _bridgeFeesAddress = address(0xD378dBeD86689D0dBA19Ca2bab322B6f23765288); address public _swapContractAddress; address private _uni = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // uniswapV2Router on mainnet IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(_uni); address private uniswapV2Pair; // TODO: change this out with the final charity wallet address address private _charityWallet = 0xc16FCEED92f1cA3398C50df46532E33Ce513B420; address system; // Max transfer size per wallet uint256 private _MAX_TX_SIZE; uint private curTime; event SwapRequest( address to, uint256 amount, uint256 nonce ); modifier onlySystem() { require(system == _msgSender(), "Ownable: caller is not the system"); _; } constructor (string memory cats_name, string memory cats_symbol,address _system) public { uint256 burnSupply = _supply.div(100).mul(50); // initial burn supply from total supply, 50% // subtract burn supply from total supply _tTotal = _supply.sub(burnSupply); // reflection total from burnt total supply. _rTotal = (MAX - (MAX % _tTotal)); _rOwned[_msgSender()] = _rTotal; // reflection token owned _MAX_TX_SIZE = _tTotal.div(100).div(100).mul(25); // 0.25 percent of totalsupply, max transfer per wallet _name = cats_name; _symbol = cats_symbol; curTime = now; system = _system; isBridgingEnabled = false; uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()) .createPair(address(this), uniswapV2Router.WETH()); emit Transfer(address(0), _msgSender(), _supply); // total supply to contract creator emit Transfer(_msgSender(), address(0), burnSupply); // initial burn 50% token from contract creator } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function setSystem(address _system) external onlyOwner { system = _system; } function getUniswapV2Router() external view returns(address) { return address(uniswapV2Router); } function setUniswapV2Router(address _uniswapV2Router) external onlyOwner { uniswapV2Router = IUniswapV2Router02(_uniswapV2Router); } function setBridgeFeesAddress(address bridgeFeesAddress) external onlyOwner { _bridgeFeesAddress = bridgeFeesAddress; } function setSwapContractAddress (address swapContractAddress) external onlyOwner { _swapContractAddress = swapContractAddress; } function setProcessedFees(uint256 processedFees) external onlyOwner { _processedFees = processedFees; } function getProcessedFees() external view returns (uint256){ return _processedFees; } function setBridgingStatus(bool isEnabled) external onlyOwner { isBridgingEnabled = isEnabled; } function getBridgingStatus() external view returns (bool) { return isBridgingEnabled; } // for another burn like 3.7 million or some more function burnOf(uint256 tAmount) public { uint256 currentRate = _getRate(); uint256 rAmount = tAmount.mul(currentRate); // subtract additional burn from total supply _tTotal = _tTotal.sub(tAmount); // subtract additional burn from reflection supply _rTotal = _rTotal.sub(rAmount); emit Transfer(_msgSender(), address(0), tAmount); } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is already excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is already included"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function getMinute(uint timestamp) public pure returns (uint8) { return uint8((timestamp / 60) % 60); } function _takeLiquidity(uint256 tLiquidity) private { uint256 currentRate = _getRate(); uint256 rLiquidity = tLiquidity.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity); if(_isExcluded[address(this)]) _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, _charityWallet, block.timestamp ); } // function sendETHToCharity(uint256 amount) private { // payable(_charityWallet).transfer(amount); // } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint diffTime = now - curTime; // bot protection max 0.25% of total supply per transaction if(getMinute(diffTime) < 15 ){ if(sender != owner() && recipient != owner()) require(amount <= _MAX_TX_SIZE, "Transfer amount exceeds the mxTxAmount."); } bool useRFI; if(recipient == uniswapV2Pair || msg.sender == _swapContractAddress) { useRFI = false; } else { useRFI = true; } _transferTokens(sender,recipient,amount,useRFI); } function _transferTokens(address sender, address recipient, uint256 amount, bool useRFI) internal{ if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount, useRFI); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount, useRFI); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount, useRFI); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount, useRFI); } else { _transferStandard(sender, recipient, amount, useRFI); } } function _transferStandard(address sender, address recipient, uint256 tAmount, bool useRFI) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); if(useRFI == false) { _rOwned[recipient] = _rOwned[recipient].add(rAmount); emit Transfer(sender,recipient,tAmount); return; } _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); uint256 currentRate = _getRate(); uint256 rBurnFee = burnFee.mul(currentRate); _takeLiquidity(charityFee); swapTokensForEth(balanceOf(address(this))); // sendETHToCharity(address(this).balance); _reflectFee(rFee, tFee); _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply emit Transfer(sender, recipient, tTransferAmount); emit Transfer(_msgSender(), address(0), burnFee); } function _transferToExcluded(address sender, address recipient, uint256 tAmount, bool useRFI) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); if(useRFI == false) { _rOwned[recipient] = _rOwned[recipient].add(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tAmount); emit Transfer(sender,recipient,tAmount); return; } _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); uint256 currentRate = _getRate(); uint256 rBurnFee = burnFee.mul(currentRate); _takeLiquidity(charityFee); swapTokensForEth(balanceOf(address(this))); _reflectFee(rFee, tFee); _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply emit Transfer(sender, recipient, tTransferAmount); emit Transfer(_msgSender(), address(0), burnFee); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount, bool useRFI) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); if(useRFI == false) { _rOwned[recipient] = _rOwned[recipient].add(rAmount); emit Transfer(sender,recipient,tAmount); return; } _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); uint256 currentRate = _getRate(); uint256 rBurnFee = burnFee.mul(currentRate); _takeLiquidity(charityFee); swapTokensForEth(balanceOf(address(this))); _reflectFee(rFee, tFee); _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply emit Transfer(sender, recipient, tTransferAmount); emit Transfer(_msgSender(), address(0), burnFee); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount, bool useRFI) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 burnFee, uint256 charityFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); if(useRFI == false) { _rOwned[recipient] = _rOwned[recipient].add(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tAmount); emit Transfer(sender,recipient,tAmount); return; } _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); uint256 currentRate = _getRate(); uint256 rBurnFee = burnFee.mul(currentRate); _takeLiquidity(charityFee); swapTokensForEth(balanceOf(address(this))); _reflectFee(rFee, tFee); _tTotal = _tTotal.sub(burnFee); // subtract 2% burn from total supply _rTotal = _rTotal.sub(rBurnFee); // subtract 2% burn from reflection supply emit Transfer(sender, recipient, tTransferAmount); emit Transfer(_msgSender(), address(0), burnFee); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 burnFee, uint256 charityFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); uint256 amount = tAmount; (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(amount, tFee, burnFee, charityFee, currentRate); return (rAmount, rTransferAmount, rFee, burnFee, charityFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256, uint256, uint256) { uint256 tFee = tAmount.div(100).mul(3); // 3% reflection fee to token holders uint256 burnFee = tAmount.div(100).mul(2); // 2% tax to burn uint256 charityFee = tAmount.div(100).mul(1); // 1% to charity wallet address uint256 tTransferAmount = tAmount.sub(tFee).sub(burnFee).sub(charityFee); return (tTransferAmount, tFee, burnFee, charityFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 burnFee, uint256 charityFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rBurnFee = burnFee.mul(currentRate); uint256 rCharityFee = charityFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rBurnFee).sub(rCharityFee); return (rAmount, rTransferAmount, rFee); } function _getRate() public view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() public view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } /** * @dev Function to set bridegebase address * @param add Address for bridgebase smart contract. */ function setBridgeAddress(address add) public onlyOwner returns(bool){ require(add != address(0),"Invalid Address"); _bridgeAddress = add; return true; } /** * @dev Function for setting mint fee by owner * @param bridgeFee Mint Fee */ function setSwapFee(uint256 bridgeFee) public onlyOwner returns(bool){ _bridgeFee = bridgeFee; return true; } /** * @dev Function for getting rewards percentage by owner */ function getSwapFee() public view returns(uint256){ return _bridgeFee; } function getSwapStatus(uint256 nonce) view external returns(bool) { return nonceProcessed[nonce]; } function swap (uint256 amount) external payable{ require(isBridgingEnabled, "bridging is disabled"); require(msg.value>= _processedFees, "Insufficient processed fees"); _nonce = _nonce.add(uint256(1)); _transferTokens(_msgSender(),_bridgeAddress,amount,false); emit SwapRequest(_msgSender(),amount,_nonce); } function feeCalculation(uint256 amount) public view returns(uint256) { uint256 _amountAfterFee = (amount-(amount.mul(_bridgeFee)/1000)); return _amountAfterFee; } function swapBack (address to, uint256 amount, uint256 nonce) external onlySystem{ require(!nonceProcessed[nonce], "Swap is already proceeds"); nonceProcessed[nonce] = true; uint256 temp = feeCalculation(amount); uint256 fees = amount.sub(temp); _transferTokens(_bridgeAddress,to,temp,false); _transferTokens(_bridgeAddress,_bridgeFeesAddress,fees,false); } function withdrawETH(uint256 amount, address receiver) external onlyOwner { require(amount <= address(this).balance,"amount exceeds contract balance"); payable(receiver).transfer(amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"cats_name","type":"string"},{"internalType":"string","name":"cats_symbol","type":"string"},{"internalType":"address","name":"_system","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"SwapRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_bridgeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_bridgeFeesAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getCurrentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"burnOf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"feeCalculation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBridgingStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"getMinute","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getProcessedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSwapFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"getSwapStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUniswapV2Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"setBridgeAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bridgeFeesAddress","type":"address"}],"name":"setBridgeFeesAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}],"name":"setBridgingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"processedFees","type":"uint256"}],"name":"setProcessedFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"swapContractAddress","type":"address"}],"name":"setSwapContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"bridgeFee","type":"uint256"}],"name":"setSwapFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_system","type":"address"}],"name":"setSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Router","type":"address"}],"name":"setUniswapV2Router","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526003805460ff1916601290811790915560006009819055600c55600260105564174876e800601155805474d070544810510865114ad5a0b6a821a5bd2e7c4900610100600160a81b0319909116179055601380546001600160a01b031990811673d378dbed86689d0dba19ca2bab322b6f2376528817909155601580548216737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556016805483166001600160a01b03929092169190911790556018805490911673c16fceed92f1ca3398c50df46532e33ce513b420179055348015620000e157600080fd5b506040516200386538038062003865833981810160405260608110156200010757600080fd5b81019080805160405193929190846401000000008211156200012857600080fd5b9083019060208201858111156200013e57600080fd5b82516401000000008111828201881017156200015957600080fd5b82525081516020918201929091019080838360005b83811015620001885781810151838201526020016200016e565b50505050905090810190601f168015620001b65780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001da57600080fd5b908301906020820185811115620001f057600080fd5b82516401000000008111828201881017156200020b57600080fd5b82525081516020918201929091019080838360005b838110156200023a57818101518382015260200162000220565b50505050905090810190601f168015620002685780820380516001836020036101000a031916815260200191505b50604052602001519150600090506200028062000633565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060006200030c6032620002f860646a22bdd88fed9efc6a0000006200063760201b62001e881790919060201c565b6200068a60201b62001eca1790919060201c565b905062000333816a22bdd88fed9efc6a000000620006e860201b62001f231790919060201c565b600d819055600019816200034357fe5b0619600e819055600460006200035862000633565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550620003b96019620002f86064620003a56064600d546200063760201b62001e881790919060201c565b6200063760201b62001e881790919060201c565b601a558351620003d190600190602087019062000836565b508251620003e790600290602086019062000836565b5042601b55601980546001600160a01b0319166001600160a01b03848116919091179091556012805460ff191690556016546040805163c45a015560e01b81529051919092169163c45a0155916004808301926020929190829003018186803b1580156200045457600080fd5b505afa15801562000469573d6000803e3d6000fd5b505050506040513d60208110156200048057600080fd5b5051601654604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b158015620004d357600080fd5b505afa158015620004e8573d6000803e3d6000fd5b505050506040513d6020811015620004ff57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200055257600080fd5b505af115801562000567573d6000803e3d6000fd5b505050506040513d60208110156200057e57600080fd5b5051601780546001600160a01b0319166001600160a01b03909216919091179055620005a962000633565b6001600160a01b031660006001600160a01b0316600080516020620038458339815191526a22bdd88fed9efc6a0000006040518082815260200191505060405180910390a36000620005fa62000633565b6001600160a01b031660008051602062003845833981519152836040518082815260200191505060405180910390a350505050620008d2565b3390565b60006200068183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200073260201b60201c565b90505b92915050565b6000826200069b5750600062000684565b82820282848281620006a957fe5b0414620006815760405162461bcd60e51b8152600401808060200182810382526021815260200180620038246021913960400191505060405180910390fd5b60006200068183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620007d960201b60201c565b60008183620007c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620007865781810151838201526020016200076c565b50505050905090810190601f168015620007b45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620007cf57fe5b0495945050505050565b600081848411156200082e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315620007865781810151838201526020016200076c565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200087957805160ff1916838001178555620008a9565b82800160010185558215620008a9579182015b82811115620008a95782518255916020019190600101906200088c565b50620008b7929150620008bb565b5090565b5b80821115620008b75760008155600101620008bc565b612f4280620008e26000396000f3fe6080604052600436106102715760003560e01c8063715018a61161014f578063a9059cbb116100c1578063eda11ecd1161007a578063eda11ecd1461093a578063ee59660814610964578063f2cc0c181461098e578063f2fde38b146109c1578063f84354f1146109f4578063fa93f88314610a2757610271565b8063a9059cbb1461083d578063cba0e99614610876578063cf950545146108a9578063d4cadf68146108d5578063dd62ed3e146108ea578063e5ffd1a81461092557610271565b80638da5cb5b116101135780638da5cb5b1461077a57806394b918de1461078f57806394e10784146107ac57806395d89b41146107c157806397a9d560146107d6578063a457c2d71461080457610271565b8063715018a6146106c9578063730e3d72146106de5780637f5a22f9146106f35780637f94fdf31461072657806381b4127a1461076557610271565b8063318c136e116101e857806340710e6f116101ac57806340710e6f146105bf5780634549b039146105e9578063558377571461061b57806359efeba71461064e5780636faaf2231461066357806370a082311461069657610271565b8063318c136e146104db57806334e19907146104f057806336118b521461051a57806336ecf57c14610553578063395093511461058657610271565b80631419841d1161023a5780631419841d146103d157806318160ddd1461040457806323b872dd146104195780632c7d077e1461045c5780632d83811914610486578063313ce567146104b057610271565b806271c17514610276578063053ab182146102a757806306fdde03146102d3578063095ea7b31461035d57806313114a9d146103aa575b600080fd5b34801561028257600080fd5b5061028b610a51565b604080516001600160a01b039092168252519081900360200190f35b3480156102b357600080fd5b506102d1600480360360208110156102ca57600080fd5b5035610a60565b005b3480156102df57600080fd5b506102e8610b3c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561032257818101518382015260200161030a565b50505050905090810190601f16801561034f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036957600080fd5b506103966004803603604081101561038057600080fd5b506001600160a01b038135169060200135610bd1565b604080519115158252519081900360200190f35b3480156103b657600080fd5b506103bf610bef565b60408051918252519081900360200190f35b3480156103dd57600080fd5b506102d1600480360360208110156103f457600080fd5b50356001600160a01b0316610bf5565b34801561041057600080fd5b506103bf610c79565b34801561042557600080fd5b506103966004803603606081101561043c57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561046857600080fd5b506103bf6004803603602081101561047f57600080fd5b5035610d06565b34801561049257600080fd5b506103bf600480360360208110156104a957600080fd5b5035610d34565b3480156104bc57600080fd5b506104c5610d94565b6040805160ff9092168252519081900360200190f35b3480156104e757600080fd5b5061028b610d9d565b3480156104fc57600080fd5b506103966004803603602081101561051357600080fd5b5035610db1565b34801561052657600080fd5b506102d16004803603604081101561053d57600080fd5b50803590602001356001600160a01b0316610e1e565b34801561055f57600080fd5b506102d16004803603602081101561057657600080fd5b50356001600160a01b0316610f10565b34801561059257600080fd5b50610396600480360360408110156105a957600080fd5b506001600160a01b038135169060200135610f94565b3480156105cb57600080fd5b506102d1600480360360208110156105e257600080fd5b5035610fe2565b3480156105f557600080fd5b506103bf6004803603604081101561060c57600080fd5b5080359060200135151561105a565b34801561062757600080fd5b506102d16004803603602081101561063e57600080fd5b50356001600160a01b03166110ee565b34801561065a57600080fd5b506103bf611172565b34801561066f57600080fd5b506102d16004803603602081101561068657600080fd5b50356001600160a01b0316611178565b3480156106a257600080fd5b506103bf600480360360208110156106b957600080fd5b50356001600160a01b03166111fc565b3480156106d557600080fd5b506102d161125e565b3480156106ea57600080fd5b5061028b61130a565b3480156106ff57600080fd5b506103966004803603602081101561071657600080fd5b50356001600160a01b0316611319565b34801561073257600080fd5b506102d16004803603606081101561074957600080fd5b506001600160a01b0381351690602081013590604001356113f4565b34801561077157600080fd5b50610396611528565b34801561078657600080fd5b5061028b611531565b6102d1600480360360208110156107a557600080fd5b5035611540565b3480156107b857600080fd5b506103bf611672565b3480156107cd57600080fd5b506102e8611695565b3480156107e257600080fd5b506107eb6116f3565b6040805192835260208301919091528051918290030190f35b34801561081057600080fd5b506103966004803603604081101561082757600080fd5b506001600160a01b038135169060200135611856565b34801561084957600080fd5b506103966004803603604081101561086057600080fd5b506001600160a01b0381351690602001356118be565b34801561088257600080fd5b506103966004803603602081101561089957600080fd5b50356001600160a01b03166118d2565b3480156108b557600080fd5b506102d1600480360360208110156108cc57600080fd5b503515156118f0565b3480156108e157600080fd5b506103bf611965565b3480156108f657600080fd5b506103bf6004803603604081101561090d57600080fd5b506001600160a01b038135811691602001351661196b565b34801561093157600080fd5b5061028b611996565b34801561094657600080fd5b506102d16004803603602081101561095d57600080fd5b50356119a5565b34801561097057600080fd5b506103966004803603602081101561098757600080fd5b5035611a0c565b34801561099a57600080fd5b506102d1600480360360208110156109b157600080fd5b50356001600160a01b0316611a21565b3480156109cd57600080fd5b506102d1600480360360208110156109e457600080fd5b50356001600160a01b0316611bb1565b348015610a0057600080fd5b506102d160048036036020811015610a1757600080fd5b50356001600160a01b0316611cb3565b348015610a3357600080fd5b506104c560048036036020811015610a4a57600080fd5b5035611e7e565b6016546001600160a01b031690565b6000610a6a611f65565b6001600160a01b0381166000908152600a602052604090205490915060ff1615610ac55760405162461bcd60e51b815260040180806020018281038252602c815260200180612ebc602c913960400191505060405180910390fd5b6000610ad083611f69565b5050506001600160a01b038616600090815260046020526040902054939450610afe93925084915050611f23565b6001600160a01b038316600090815260046020526040902055600e54610b249082611f23565b600e55600f54610b349084611fd8565b600f55505050565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b5050505050905090565b6000610be5610bde611f65565b8484612032565b5060015b92915050565b600f5490565b610bfd611f65565b6001600160a01b0316610c0e611531565b6001600160a01b031614610c57576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601680546001600160a01b0319166001600160a01b0392909216919091179055565b600d5490565b6000610c8c84848461211e565b610cfc84610c98611f65565b610cf785604051806060016040528060288152602001612de2602891396001600160a01b038a16600090815260066020526040812090610cd6611f65565b6001600160a01b0316815260208101919091526040016000205491906122ce565b612032565b5060019392505050565b6000806103e8610d2160105485611eca90919063ffffffff16565b81610d2857fe5b0483039150505b919050565b6000600e54821115610d775760405162461bcd60e51b815260040180806020018281038252602a815260200180612d07602a913960400191505060405180910390fd5b6000610d81611672565b9050610d8d8382611e88565b9392505050565b60035460ff1690565b60125461010090046001600160a01b031681565b6000610dbb611f65565b6001600160a01b0316610dcc611531565b6001600160a01b031614610e15576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b50601055600190565b610e26611f65565b6001600160a01b0316610e37611531565b6001600160a01b031614610e80576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b47821115610ed5576040805162461bcd60e51b815260206004820152601f60248201527f616d6f756e74206578636565647320636f6e74726163742062616c616e636500604482015290519081900360640190fd5b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610f0b573d6000803e3d6000fd5b505050565b610f18611f65565b6001600160a01b0316610f29611531565b6001600160a01b031614610f72576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000610be5610fa1611f65565b84610cf78560066000610fb2611f65565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611fd8565b6000610fec611672565b90506000610ffa8383611eca565b600d5490915061100a9084611f23565b600d55600e5461101a9082611f23565b600e556000611027611f65565b6001600160a01b0316600080516020612e53833981519152856040518082815260200191505060405180910390a3505050565b6000600d548311156110b3576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b816110d35760006110c384611f69565b50949650610be995505050505050565b60006110de84611f69565b50939650610be995505050505050565b6110f6611f65565b6001600160a01b0316611107611531565b6001600160a01b031614611150576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601980546001600160a01b0319166001600160a01b0392909216919091179055565b60115490565b611180611f65565b6001600160a01b0316611191611531565b6001600160a01b0316146111da576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a602052604081205460ff161561123c57506001600160a01b038116600090815260056020526040902054610d2f565b6001600160a01b038216600090815260046020526040902054610be990610d34565b611266611f65565b6001600160a01b0316611277611531565b6001600160a01b0316146112c0576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6013546001600160a01b031681565b6000611323611f65565b6001600160a01b0316611334611531565b6001600160a01b03161461137d576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b0382166113ca576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b604482015290519081900360640190fd5b50601280546001600160a01b03831661010002610100600160a81b03199091161790556001919050565b6113fc611f65565b6019546001600160a01b039081169116146114485760405162461bcd60e51b8152600401808060200182810382526021815260200180612da06021913960400191505060405180910390fd5b60008181526008602052604090205460ff16156114ac576040805162461bcd60e51b815260206004820152601860248201527f5377617020697320616c72656164792070726f63656564730000000000000000604482015290519081900360640190fd5b6000818152600860205260408120805460ff191660011790556114ce83610d06565b905060006114dc8483611f23565b6012549091506114fd9061010090046001600160a01b031686846000612365565b601254601354611521916001600160a01b0361010090910481169116836000612365565b5050505050565b60125460ff1690565b6000546001600160a01b031690565b60125460ff1661158e576040805162461bcd60e51b8152602060048201526014602482015273189c9a5919da5b99c81a5cc8191a5cd8589b195960621b604482015290519081900360640190fd5b6011543410156115e5576040805162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e742070726f63657373656420666565730000000000604482015290519081900360640190fd5b6009546115f3906001611fd8565b60095561161a611601611f65565b60125461010090046001600160a01b0316836000612365565b7f714af2e0df39440cfd6686880880018550a3ba31b77971a61cdf8b8635b1bfd5611643611f65565b600954604080516001600160a01b0390931683526020830185905282810191909152519081900360600190a150565b600080600061167f6116f3565b909250905061168e8282611e88565b9250505090565b60028054604080516020601f6000196101006001871615020190941685900493840181900481028201810190925282815260609390929091830182828015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b600e54600d546000918291825b600b54811015611824578260046000600b848154811061171c57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061178157508160056000600b848154811061175a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561179857600e54600d5494509450505050611852565b6117d860046000600b84815481106117ac57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611f23565b925061181a60056000600b84815481106117ee57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611f23565b9150600101611700565b50600d54600e5461183491611e88565b82101561184c57600e54600d54935093505050611852565b90925090505b9091565b6000610be5611863611f65565b84610cf785604051806060016040528060258152602001612ee8602591396006600061188d611f65565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906122ce565b6000610be56118cb611f65565b848461211e565b6001600160a01b03166000908152600a602052604090205460ff1690565b6118f8611f65565b6001600160a01b0316611909611531565b6001600160a01b031614611952576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6012805460ff1916911515919091179055565b60105490565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6014546001600160a01b031681565b6119ad611f65565b6001600160a01b03166119be611531565b6001600160a01b031614611a07576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601155565b60009081526008602052604090205460ff1690565b611a29611f65565b6001600160a01b0316611a3a611531565b6001600160a01b031614611a83576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600a602052604090205460ff1615611af1576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205415611b4b576001600160a01b038116600090815260046020526040902054611b3190610d34565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b611bb9611f65565b6001600160a01b0316611bca611531565b6001600160a01b031614611c13576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b038116611c585760405162461bcd60e51b8152600401808060200182810382526026815260200180612d316026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b611cbb611f65565b6001600160a01b0316611ccc611531565b6001600160a01b031614611d15576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600a602052604090205460ff16611d82576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015290519081900360640190fd5b60005b600b54811015611e7a57816001600160a01b0316600b8281548110611da657fe5b6000918252602090912001546001600160a01b03161415611e7257600b80546000198101908110611dd357fe5b600091825260209091200154600b80546001600160a01b039092169183908110611df957fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600a90925220805460ff19169055600b805480611e4b57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611e7a565b600101611d85565b5050565b603c908190040690565b6000610d8d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c4565b600082611ed957506000610be9565b82820282848281611ee657fe5b0414610d8d5760405162461bcd60e51b8152600401808060200182810382526021815260200180612dc16021913960400191505060405180910390fd5b6000610d8d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122ce565b3390565b6000806000806000806000806000806000611f838c612529565b93509350935093506000611f95611672565b90508c60008080611fa98489898989612597565b92509250925082828289898d8d9f509f509f509f509f509f509f50505050505050505050919395979092949650565b600082820183811015610d8d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166120775760405162461bcd60e51b8152600401808060200182810382526024815260200180612e986024913960400191505060405180910390fd5b6001600160a01b0382166120bc5760405162461bcd60e51b8152600401808060200182810382526022815260200180612d576022913960400191505060405180910390fd5b6001600160a01b03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166121635760405162461bcd60e51b8152600401808060200182810382526025815260200180612e736025913960400191505060405180910390fd5b6001600160a01b0382166121a85760405162461bcd60e51b8152600401808060200182810382526023815260200180612ce46023913960400191505060405180910390fd5b600081116121e75760405162461bcd60e51b8152600401808060200182810382526029815260200180612e2a6029913960400191505060405180910390fd5b601b544203600f6121f782611e7e565b60ff16101561228857612208611531565b6001600160a01b0316846001600160a01b031614158015612242575061222c611531565b6001600160a01b0316836001600160a01b031614155b1561228857601a548211156122885760405162461bcd60e51b8152600401808060200182810382526027815260200180612d796027913960400191505060405180910390fd5b6017546000906001600160a01b03858116911614806122b157506014546001600160a01b031633145b156122be575060006122c2565b5060015b61152185858584612365565b6000818484111561235d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561232257818101518382015260200161230a565b50505050905090810190601f16801561234f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0384166000908152600a602052604090205460ff1680156123a657506001600160a01b0383166000908152600a602052604090205460ff16155b156123bc576123b7848484846125f9565b6124be565b6001600160a01b0384166000908152600a602052604090205460ff161580156123fd57506001600160a01b0383166000908152600a602052604090205460ff165b1561240e576123b784848484612832565b6001600160a01b0384166000908152600a602052604090205460ff1615801561245057506001600160a01b0383166000908152600a602052604090205460ff16155b15612461576123b78484848461299f565b6001600160a01b0384166000908152600a602052604090205460ff1680156124a157506001600160a01b0383166000908152600a602052604090205460ff165b156124b2576123b7848484846129f9565b6124be8484848461299f565b50505050565b600081836125135760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561232257818101518382015260200161230a565b50600083858161251f57fe5b0495945050505050565b600080808080612545600361253f886064611e88565b90611eca565b90506000612559600261253f896064611e88565b9050600061256d600161253f8a6064611e88565b905060006125878261258185818d89611f23565b90611f23565b9993985091965094509092505050565b60008080806125a68986611eca565b905060006125b48987611eca565b905060006125c28988611eca565b905060006125d08989611eca565b905060006125e48261258185818989611f23565b949d949c50929a509298505050505050505050565b600080600080600080600061260d89611f69565b965096509650965096509650965061265389600560008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6001600160a01b038c166000908152600560209081526040808320939093556004905220546126829088611f23565b6001600160a01b038c1660009081526004602052604090205587612714576001600160a01b038a166000908152600460205260409020546126c39088611fd8565b6001600160a01b03808c166000818152600460209081526040918290209490945580518d815290519193928f1692600080516020612e5383398151915292918290030190a3505050505050506124be565b6001600160a01b038a166000908152600460205260409020546127379087611fd8565b6001600160a01b038b1660009081526004602052604081209190915561275b611672565b905060006127698683611eca565b905061277485612a82565b612785612780306111fc565b612b0a565b61278f8784612cbf565b600d5461279c9087611f23565b600d55600e546127ac9082611f23565b600e819055508b6001600160a01b03168d6001600160a01b0316600080516020612e53833981519152866040518082815260200191505060405180910390a360006127f5611f65565b6001600160a01b0316600080516020612e53833981519152886040518082815260200191505060405180910390a350505050505050505050505050565b600080600080600080600061284689611f69565b965096509650965096509650965061288c87600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6001600160a01b038c166000908152600460205260409020558761294d576001600160a01b038a166000908152600460205260409020546128cd9088611fd8565b6001600160a01b038b166000908152600460209081526040808320939093556005905220546128fc908a611fd8565b6001600160a01b03808c166000818152600560209081526040918290209490945580518d815290519193928f1692600080516020612e5383398151915292918290030190a3505050505050506124be565b6001600160a01b038a166000908152600560205260409020546129709083611fd8565b6001600160a01b038b166000908152600560209081526040808320939093556004905220546127379087611fd8565b60008060008060008060006129b389611f69565b965096509650965096509650965061268287600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6000806000806000806000612a0d89611f69565b9650965096509650965096509650612a5389600560008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6001600160a01b038c1660009081526005602090815260408083209390935560049052205461288c9088611f23565b6000612a8c611672565b90506000612a9a8383611eca565b30600090815260046020526040902054909150612ab79082611fd8565b30600090815260046020908152604080832093909355600a9052205460ff1615610f0b5730600090815260056020526040902054612af59084611fd8565b30600090815260056020526040902055505050565b60408051600280825260608083018452926020830190803683370190505090503081600081518110612b3857fe5b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612b8c57600080fd5b505afa158015612ba0573d6000803e3d6000fd5b505050506040513d6020811015612bb657600080fd5b5051815182906001908110612bc757fe5b6001600160a01b039283166020918202929092010152601654612bed9130911684612032565b60165460185460405163791ac94760e01b8152600481018581526000602483018190526001600160a01b0393841660648401819052426084850181905260a060448601908152885160a48701528851969097169663791ac947968a9694958a9590929160c490910190602080880191028083838b5b83811015612c7a578181015183820152602001612c62565b505050509050019650505050505050600060405180830381600087803b158015612ca357600080fd5b505af1158015612cb7573d6000803e3d6000fd5b505050505050565b600e54612ccc9083611f23565b600e55600f54612cdc9082611fd8565b600f55505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d785478416d6f756e742e4f776e61626c653a2063616c6c6572206973206e6f74207468652073797374656d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209d0b6372919bc8b40b976e32bb7ea0d05437a0a524db5c8f2372ecf1082f339d64736f6c634300060c0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000d234f8a93a94c2b40fe7c9f8e6771d4f38a100b200000000000000000000000000000000000000000000000000000000000000074361746f7368690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064341545376320000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106102715760003560e01c8063715018a61161014f578063a9059cbb116100c1578063eda11ecd1161007a578063eda11ecd1461093a578063ee59660814610964578063f2cc0c181461098e578063f2fde38b146109c1578063f84354f1146109f4578063fa93f88314610a2757610271565b8063a9059cbb1461083d578063cba0e99614610876578063cf950545146108a9578063d4cadf68146108d5578063dd62ed3e146108ea578063e5ffd1a81461092557610271565b80638da5cb5b116101135780638da5cb5b1461077a57806394b918de1461078f57806394e10784146107ac57806395d89b41146107c157806397a9d560146107d6578063a457c2d71461080457610271565b8063715018a6146106c9578063730e3d72146106de5780637f5a22f9146106f35780637f94fdf31461072657806381b4127a1461076557610271565b8063318c136e116101e857806340710e6f116101ac57806340710e6f146105bf5780634549b039146105e9578063558377571461061b57806359efeba71461064e5780636faaf2231461066357806370a082311461069657610271565b8063318c136e146104db57806334e19907146104f057806336118b521461051a57806336ecf57c14610553578063395093511461058657610271565b80631419841d1161023a5780631419841d146103d157806318160ddd1461040457806323b872dd146104195780632c7d077e1461045c5780632d83811914610486578063313ce567146104b057610271565b806271c17514610276578063053ab182146102a757806306fdde03146102d3578063095ea7b31461035d57806313114a9d146103aa575b600080fd5b34801561028257600080fd5b5061028b610a51565b604080516001600160a01b039092168252519081900360200190f35b3480156102b357600080fd5b506102d1600480360360208110156102ca57600080fd5b5035610a60565b005b3480156102df57600080fd5b506102e8610b3c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561032257818101518382015260200161030a565b50505050905090810190601f16801561034f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036957600080fd5b506103966004803603604081101561038057600080fd5b506001600160a01b038135169060200135610bd1565b604080519115158252519081900360200190f35b3480156103b657600080fd5b506103bf610bef565b60408051918252519081900360200190f35b3480156103dd57600080fd5b506102d1600480360360208110156103f457600080fd5b50356001600160a01b0316610bf5565b34801561041057600080fd5b506103bf610c79565b34801561042557600080fd5b506103966004803603606081101561043c57600080fd5b506001600160a01b03813581169160208101359091169060400135610c7f565b34801561046857600080fd5b506103bf6004803603602081101561047f57600080fd5b5035610d06565b34801561049257600080fd5b506103bf600480360360208110156104a957600080fd5b5035610d34565b3480156104bc57600080fd5b506104c5610d94565b6040805160ff9092168252519081900360200190f35b3480156104e757600080fd5b5061028b610d9d565b3480156104fc57600080fd5b506103966004803603602081101561051357600080fd5b5035610db1565b34801561052657600080fd5b506102d16004803603604081101561053d57600080fd5b50803590602001356001600160a01b0316610e1e565b34801561055f57600080fd5b506102d16004803603602081101561057657600080fd5b50356001600160a01b0316610f10565b34801561059257600080fd5b50610396600480360360408110156105a957600080fd5b506001600160a01b038135169060200135610f94565b3480156105cb57600080fd5b506102d1600480360360208110156105e257600080fd5b5035610fe2565b3480156105f557600080fd5b506103bf6004803603604081101561060c57600080fd5b5080359060200135151561105a565b34801561062757600080fd5b506102d16004803603602081101561063e57600080fd5b50356001600160a01b03166110ee565b34801561065a57600080fd5b506103bf611172565b34801561066f57600080fd5b506102d16004803603602081101561068657600080fd5b50356001600160a01b0316611178565b3480156106a257600080fd5b506103bf600480360360208110156106b957600080fd5b50356001600160a01b03166111fc565b3480156106d557600080fd5b506102d161125e565b3480156106ea57600080fd5b5061028b61130a565b3480156106ff57600080fd5b506103966004803603602081101561071657600080fd5b50356001600160a01b0316611319565b34801561073257600080fd5b506102d16004803603606081101561074957600080fd5b506001600160a01b0381351690602081013590604001356113f4565b34801561077157600080fd5b50610396611528565b34801561078657600080fd5b5061028b611531565b6102d1600480360360208110156107a557600080fd5b5035611540565b3480156107b857600080fd5b506103bf611672565b3480156107cd57600080fd5b506102e8611695565b3480156107e257600080fd5b506107eb6116f3565b6040805192835260208301919091528051918290030190f35b34801561081057600080fd5b506103966004803603604081101561082757600080fd5b506001600160a01b038135169060200135611856565b34801561084957600080fd5b506103966004803603604081101561086057600080fd5b506001600160a01b0381351690602001356118be565b34801561088257600080fd5b506103966004803603602081101561089957600080fd5b50356001600160a01b03166118d2565b3480156108b557600080fd5b506102d1600480360360208110156108cc57600080fd5b503515156118f0565b3480156108e157600080fd5b506103bf611965565b3480156108f657600080fd5b506103bf6004803603604081101561090d57600080fd5b506001600160a01b038135811691602001351661196b565b34801561093157600080fd5b5061028b611996565b34801561094657600080fd5b506102d16004803603602081101561095d57600080fd5b50356119a5565b34801561097057600080fd5b506103966004803603602081101561098757600080fd5b5035611a0c565b34801561099a57600080fd5b506102d1600480360360208110156109b157600080fd5b50356001600160a01b0316611a21565b3480156109cd57600080fd5b506102d1600480360360208110156109e457600080fd5b50356001600160a01b0316611bb1565b348015610a0057600080fd5b506102d160048036036020811015610a1757600080fd5b50356001600160a01b0316611cb3565b348015610a3357600080fd5b506104c560048036036020811015610a4a57600080fd5b5035611e7e565b6016546001600160a01b031690565b6000610a6a611f65565b6001600160a01b0381166000908152600a602052604090205490915060ff1615610ac55760405162461bcd60e51b815260040180806020018281038252602c815260200180612ebc602c913960400191505060405180910390fd5b6000610ad083611f69565b5050506001600160a01b038616600090815260046020526040902054939450610afe93925084915050611f23565b6001600160a01b038316600090815260046020526040902055600e54610b249082611f23565b600e55600f54610b349084611fd8565b600f55505050565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b5050505050905090565b6000610be5610bde611f65565b8484612032565b5060015b92915050565b600f5490565b610bfd611f65565b6001600160a01b0316610c0e611531565b6001600160a01b031614610c57576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601680546001600160a01b0319166001600160a01b0392909216919091179055565b600d5490565b6000610c8c84848461211e565b610cfc84610c98611f65565b610cf785604051806060016040528060288152602001612de2602891396001600160a01b038a16600090815260066020526040812090610cd6611f65565b6001600160a01b0316815260208101919091526040016000205491906122ce565b612032565b5060019392505050565b6000806103e8610d2160105485611eca90919063ffffffff16565b81610d2857fe5b0483039150505b919050565b6000600e54821115610d775760405162461bcd60e51b815260040180806020018281038252602a815260200180612d07602a913960400191505060405180910390fd5b6000610d81611672565b9050610d8d8382611e88565b9392505050565b60035460ff1690565b60125461010090046001600160a01b031681565b6000610dbb611f65565b6001600160a01b0316610dcc611531565b6001600160a01b031614610e15576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b50601055600190565b610e26611f65565b6001600160a01b0316610e37611531565b6001600160a01b031614610e80576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b47821115610ed5576040805162461bcd60e51b815260206004820152601f60248201527f616d6f756e74206578636565647320636f6e74726163742062616c616e636500604482015290519081900360640190fd5b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610f0b573d6000803e3d6000fd5b505050565b610f18611f65565b6001600160a01b0316610f29611531565b6001600160a01b031614610f72576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000610be5610fa1611f65565b84610cf78560066000610fb2611f65565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611fd8565b6000610fec611672565b90506000610ffa8383611eca565b600d5490915061100a9084611f23565b600d55600e5461101a9082611f23565b600e556000611027611f65565b6001600160a01b0316600080516020612e53833981519152856040518082815260200191505060405180910390a3505050565b6000600d548311156110b3576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b816110d35760006110c384611f69565b50949650610be995505050505050565b60006110de84611f69565b50939650610be995505050505050565b6110f6611f65565b6001600160a01b0316611107611531565b6001600160a01b031614611150576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601980546001600160a01b0319166001600160a01b0392909216919091179055565b60115490565b611180611f65565b6001600160a01b0316611191611531565b6001600160a01b0316146111da576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a602052604081205460ff161561123c57506001600160a01b038116600090815260056020526040902054610d2f565b6001600160a01b038216600090815260046020526040902054610be990610d34565b611266611f65565b6001600160a01b0316611277611531565b6001600160a01b0316146112c0576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6013546001600160a01b031681565b6000611323611f65565b6001600160a01b0316611334611531565b6001600160a01b03161461137d576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b0382166113ca576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b604482015290519081900360640190fd5b50601280546001600160a01b03831661010002610100600160a81b03199091161790556001919050565b6113fc611f65565b6019546001600160a01b039081169116146114485760405162461bcd60e51b8152600401808060200182810382526021815260200180612da06021913960400191505060405180910390fd5b60008181526008602052604090205460ff16156114ac576040805162461bcd60e51b815260206004820152601860248201527f5377617020697320616c72656164792070726f63656564730000000000000000604482015290519081900360640190fd5b6000818152600860205260408120805460ff191660011790556114ce83610d06565b905060006114dc8483611f23565b6012549091506114fd9061010090046001600160a01b031686846000612365565b601254601354611521916001600160a01b0361010090910481169116836000612365565b5050505050565b60125460ff1690565b6000546001600160a01b031690565b60125460ff1661158e576040805162461bcd60e51b8152602060048201526014602482015273189c9a5919da5b99c81a5cc8191a5cd8589b195960621b604482015290519081900360640190fd5b6011543410156115e5576040805162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e742070726f63657373656420666565730000000000604482015290519081900360640190fd5b6009546115f3906001611fd8565b60095561161a611601611f65565b60125461010090046001600160a01b0316836000612365565b7f714af2e0df39440cfd6686880880018550a3ba31b77971a61cdf8b8635b1bfd5611643611f65565b600954604080516001600160a01b0390931683526020830185905282810191909152519081900360600190a150565b600080600061167f6116f3565b909250905061168e8282611e88565b9250505090565b60028054604080516020601f6000196101006001871615020190941685900493840181900481028201810190925282815260609390929091830182828015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b600e54600d546000918291825b600b54811015611824578260046000600b848154811061171c57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061178157508160056000600b848154811061175a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561179857600e54600d5494509450505050611852565b6117d860046000600b84815481106117ac57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611f23565b925061181a60056000600b84815481106117ee57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611f23565b9150600101611700565b50600d54600e5461183491611e88565b82101561184c57600e54600d54935093505050611852565b90925090505b9091565b6000610be5611863611f65565b84610cf785604051806060016040528060258152602001612ee8602591396006600061188d611f65565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906122ce565b6000610be56118cb611f65565b848461211e565b6001600160a01b03166000908152600a602052604090205460ff1690565b6118f8611f65565b6001600160a01b0316611909611531565b6001600160a01b031614611952576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6012805460ff1916911515919091179055565b60105490565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6014546001600160a01b031681565b6119ad611f65565b6001600160a01b03166119be611531565b6001600160a01b031614611a07576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b601155565b60009081526008602052604090205460ff1690565b611a29611f65565b6001600160a01b0316611a3a611531565b6001600160a01b031614611a83576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600a602052604090205460ff1615611af1576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205415611b4b576001600160a01b038116600090815260046020526040902054611b3190610d34565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b611bb9611f65565b6001600160a01b0316611bca611531565b6001600160a01b031614611c13576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b038116611c585760405162461bcd60e51b8152600401808060200182810382526026815260200180612d316026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b611cbb611f65565b6001600160a01b0316611ccc611531565b6001600160a01b031614611d15576040805162461bcd60e51b81526020600482018190526024820152600080516020612e0a833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600a602052604090205460ff16611d82576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015290519081900360640190fd5b60005b600b54811015611e7a57816001600160a01b0316600b8281548110611da657fe5b6000918252602090912001546001600160a01b03161415611e7257600b80546000198101908110611dd357fe5b600091825260209091200154600b80546001600160a01b039092169183908110611df957fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600a90925220805460ff19169055600b805480611e4b57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611e7a565b600101611d85565b5050565b603c908190040690565b6000610d8d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c4565b600082611ed957506000610be9565b82820282848281611ee657fe5b0414610d8d5760405162461bcd60e51b8152600401808060200182810382526021815260200180612dc16021913960400191505060405180910390fd5b6000610d8d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122ce565b3390565b6000806000806000806000806000806000611f838c612529565b93509350935093506000611f95611672565b90508c60008080611fa98489898989612597565b92509250925082828289898d8d9f509f509f509f509f509f509f50505050505050505050919395979092949650565b600082820183811015610d8d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0383166120775760405162461bcd60e51b8152600401808060200182810382526024815260200180612e986024913960400191505060405180910390fd5b6001600160a01b0382166120bc5760405162461bcd60e51b8152600401808060200182810382526022815260200180612d576022913960400191505060405180910390fd5b6001600160a01b03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166121635760405162461bcd60e51b8152600401808060200182810382526025815260200180612e736025913960400191505060405180910390fd5b6001600160a01b0382166121a85760405162461bcd60e51b8152600401808060200182810382526023815260200180612ce46023913960400191505060405180910390fd5b600081116121e75760405162461bcd60e51b8152600401808060200182810382526029815260200180612e2a6029913960400191505060405180910390fd5b601b544203600f6121f782611e7e565b60ff16101561228857612208611531565b6001600160a01b0316846001600160a01b031614158015612242575061222c611531565b6001600160a01b0316836001600160a01b031614155b1561228857601a548211156122885760405162461bcd60e51b8152600401808060200182810382526027815260200180612d796027913960400191505060405180910390fd5b6017546000906001600160a01b03858116911614806122b157506014546001600160a01b031633145b156122be575060006122c2565b5060015b61152185858584612365565b6000818484111561235d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561232257818101518382015260200161230a565b50505050905090810190601f16801561234f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0384166000908152600a602052604090205460ff1680156123a657506001600160a01b0383166000908152600a602052604090205460ff16155b156123bc576123b7848484846125f9565b6124be565b6001600160a01b0384166000908152600a602052604090205460ff161580156123fd57506001600160a01b0383166000908152600a602052604090205460ff165b1561240e576123b784848484612832565b6001600160a01b0384166000908152600a602052604090205460ff1615801561245057506001600160a01b0383166000908152600a602052604090205460ff16155b15612461576123b78484848461299f565b6001600160a01b0384166000908152600a602052604090205460ff1680156124a157506001600160a01b0383166000908152600a602052604090205460ff165b156124b2576123b7848484846129f9565b6124be8484848461299f565b50505050565b600081836125135760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561232257818101518382015260200161230a565b50600083858161251f57fe5b0495945050505050565b600080808080612545600361253f886064611e88565b90611eca565b90506000612559600261253f896064611e88565b9050600061256d600161253f8a6064611e88565b905060006125878261258185818d89611f23565b90611f23565b9993985091965094509092505050565b60008080806125a68986611eca565b905060006125b48987611eca565b905060006125c28988611eca565b905060006125d08989611eca565b905060006125e48261258185818989611f23565b949d949c50929a509298505050505050505050565b600080600080600080600061260d89611f69565b965096509650965096509650965061265389600560008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6001600160a01b038c166000908152600560209081526040808320939093556004905220546126829088611f23565b6001600160a01b038c1660009081526004602052604090205587612714576001600160a01b038a166000908152600460205260409020546126c39088611fd8565b6001600160a01b03808c166000818152600460209081526040918290209490945580518d815290519193928f1692600080516020612e5383398151915292918290030190a3505050505050506124be565b6001600160a01b038a166000908152600460205260409020546127379087611fd8565b6001600160a01b038b1660009081526004602052604081209190915561275b611672565b905060006127698683611eca565b905061277485612a82565b612785612780306111fc565b612b0a565b61278f8784612cbf565b600d5461279c9087611f23565b600d55600e546127ac9082611f23565b600e819055508b6001600160a01b03168d6001600160a01b0316600080516020612e53833981519152866040518082815260200191505060405180910390a360006127f5611f65565b6001600160a01b0316600080516020612e53833981519152886040518082815260200191505060405180910390a350505050505050505050505050565b600080600080600080600061284689611f69565b965096509650965096509650965061288c87600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6001600160a01b038c166000908152600460205260409020558761294d576001600160a01b038a166000908152600460205260409020546128cd9088611fd8565b6001600160a01b038b166000908152600460209081526040808320939093556005905220546128fc908a611fd8565b6001600160a01b03808c166000818152600560209081526040918290209490945580518d815290519193928f1692600080516020612e5383398151915292918290030190a3505050505050506124be565b6001600160a01b038a166000908152600560205260409020546129709083611fd8565b6001600160a01b038b166000908152600560209081526040808320939093556004905220546127379087611fd8565b60008060008060008060006129b389611f69565b965096509650965096509650965061268287600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6000806000806000806000612a0d89611f69565b9650965096509650965096509650612a5389600560008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611f2390919063ffffffff16565b6001600160a01b038c1660009081526005602090815260408083209390935560049052205461288c9088611f23565b6000612a8c611672565b90506000612a9a8383611eca565b30600090815260046020526040902054909150612ab79082611fd8565b30600090815260046020908152604080832093909355600a9052205460ff1615610f0b5730600090815260056020526040902054612af59084611fd8565b30600090815260056020526040902055505050565b60408051600280825260608083018452926020830190803683370190505090503081600081518110612b3857fe5b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612b8c57600080fd5b505afa158015612ba0573d6000803e3d6000fd5b505050506040513d6020811015612bb657600080fd5b5051815182906001908110612bc757fe5b6001600160a01b039283166020918202929092010152601654612bed9130911684612032565b60165460185460405163791ac94760e01b8152600481018581526000602483018190526001600160a01b0393841660648401819052426084850181905260a060448601908152885160a48701528851969097169663791ac947968a9694958a9590929160c490910190602080880191028083838b5b83811015612c7a578181015183820152602001612c62565b505050509050019650505050505050600060405180830381600087803b158015612ca357600080fd5b505af1158015612cb7573d6000803e3d6000fd5b505050505050565b600e54612ccc9083611f23565b600e55600f54612cdc9082611fd8565b600f55505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d785478416d6f756e742e4f776e61626c653a2063616c6c6572206973206e6f74207468652073797374656d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209d0b6372919bc8b40b976e32bb7ea0d05437a0a524db5c8f2372ecf1082f339d64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000d234f8a93a94c2b40fe7c9f8e6771d4f38a100b200000000000000000000000000000000000000000000000000000000000000074361746f7368690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064341545376320000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : cats_name (string): Catoshi
Arg [1] : cats_symbol (string): CATSv2
Arg [2] : _system (address): 0xd234F8a93A94c2b40fe7C9F8E6771d4f38A100B2
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000d234f8a93a94c2b40fe7c9f8e6771d4f38a100b2
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [4] : 4361746f73686900000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [6] : 4341545376320000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
4565:21767:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9921:111;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;9921:111:0;;;;;;;;;;;;;;11450:378;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11450:378:0;;:::i;:::-;;7701:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8613:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8613:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9724:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10044:146;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10044:146:0;-1:-1:-1;;;;;10044:146:0;;:::i;7978:95::-;;;;;;;;;;;;;:::i;8782:313::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8782:313:0;;;;;;;;;;;;;;;;;:::i;25490:185::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25490:185:0;;:::i;12282:253::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12282:253:0;;:::i;7887:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5597;;;;;;;;;;;;;:::i;24717:122::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24717:122:0;;:::i;26117:212::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26117:212:0;;;;;;-1:-1:-1;;;;;26117:212:0;;:::i;10202:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10202:133:0;-1:-1:-1;;;;;10202:133:0;;:::i;9103:218::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9103:218:0;;;;;;;;:::i;11035:407::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11035:407:0;;:::i;11836:438::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11836:438:0;;;;;;;;;:::i;9819:90::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9819:90:0;-1:-1:-1;;;;;9819:90:0;;:::i;10630:99::-;;;;;;;;;;;;;:::i;10347:142::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10347:142:0;-1:-1:-1;;;;;10347:142:0;;:::i;8081:198::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8081:198:0;-1:-1:-1;;;;;8081:198:0;;:::i;4011:148::-;;;;;;;;;;;;;:::i;5687:87::-;;;;;;;;;;;;;:::i;24441:171::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24441:171:0;-1:-1:-1;;;;;24441:171:0;;:::i;25685:418::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25685:418:0;;;;;;;;;;;;;:::i;10858:101::-;;;;;;;;;;;;;:::i;3360:87::-;;;;;;;;;;;;;:::i;25124:358::-;;;;;;;;;;;;;;;;-1:-1:-1;25124:358:0;;:::i;23585:162::-;;;;;;;;;;;;;:::i;7792:87::-;;;;;;;;;;;;;:::i;23755:560::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9329:269;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9329:269:0;;;;;;;;:::i;8287:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8287:167:0;;;;;;;;:::i;9606:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9606:110:0;-1:-1:-1;;;;;9606:110:0;;:::i;10742:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10742:110:0;;;;:::i;24919:80::-;;;;;;;;;;;;;:::i;8462:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8462:143:0;;;;;;;;;;:::i;5781:35::-;;;;;;;;;;;;;:::i;10501:117::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10501:117:0;;:::i;25007:109::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25007:109:0;;:::i;12543:332::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12543:332:0;-1:-1:-1;;;;;12543:332:0;;:::i;4314:244::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4314:244:0;-1:-1:-1;;;;;4314:244:0;;:::i;12883:478::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12883:478:0;-1:-1:-1;;;;;12883:478:0;;:::i;13714:117::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13714:117:0;;:::i;9921:111::-;10008:15;;-1:-1:-1;;;;;10008:15:0;9921:111;:::o;11450:378::-;11502:14;11519:12;:10;:12::i;:::-;-1:-1:-1;;;;;11551:19:0;;;;;;:11;:19;;;;;;11502:29;;-1:-1:-1;11551:19:0;;11550:20;11542:77;;;;-1:-1:-1;;;11542:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11631:15;11656:19;11667:7;11656:10;:19::i;:::-;-1:-1:-1;;;;;;;;11704:15:0;;;;;;:7;:15;;;;;;11630:45;;-1:-1:-1;11704:28:0;;:15;-1:-1:-1;11630:45:0;;-1:-1:-1;;11704:19:0;:28::i;:::-;-1:-1:-1;;;;;11686:15:0;;;;;;:7;:15;;;;;:46;11753:7;;:20;;11765:7;11753:11;:20::i;:::-;11743:7;:30;11797:10;;:23;;11812:7;11797:14;:23::i;:::-;11784:10;:36;-1:-1:-1;;;11450:378:0:o;7701:83::-;7771:5;7764:12;;;;;;;;-1:-1:-1;;7764:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7738:13;;7764:12;;7771:5;;7764:12;;7771:5;7764:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:83;:::o;8613:161::-;8688:4;8705:39;8714:12;:10;:12::i;:::-;8728:7;8737:6;8705:8;:39::i;:::-;-1:-1:-1;8762:4:0;8613:161;;;;;:::o;9724:87::-;9793:10;;9724:87;:::o;10044:146::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;10128:15:::1;:54:::0;;-1:-1:-1;;;;;;10128:54:0::1;-1:-1:-1::0;;;;;10128:54:0;;;::::1;::::0;;;::::1;::::0;;10044:146::o;7978:95::-;8058:7;;7978:95;:::o;8782:313::-;8880:4;8897:36;8907:6;8915:9;8926:6;8897:9;:36::i;:::-;8944:121;8953:6;8961:12;:10;:12::i;:::-;8975:89;9013:6;8975:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8975:19:0;;;;;;:11;:19;;;;;;8995:12;:10;:12::i;:::-;-1:-1:-1;;;;;8975:33:0;;;;;;;;;;;;-1:-1:-1;8975:33:0;;;:89;:37;:89::i;:::-;8944:8;:121::i;:::-;-1:-1:-1;9083:4:0;8782:313;;;;;:::o;25490:185::-;25550:7;25570:23;25628:4;25605:22;25616:10;;25605:6;:10;;:22;;;;:::i;:::-;:27;;;;;;25597:36;;;-1:-1:-1;;25490:185:0;;;;:::o;12282:253::-;12348:7;12387;;12376;:18;;12368:73;;;;-1:-1:-1;;;12368:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12452:19;12475:10;:8;:10::i;:::-;12452:33;-1:-1:-1;12503:24:0;:7;12452:33;12503:11;:24::i;:::-;12496:31;12282:253;-1:-1:-1;;;12282:253:0:o;7887:83::-;7953:9;;;;7887:83;:::o;5597:::-;;;;;;-1:-1:-1;;;;;5597:83:0;;:::o;24717:122::-;24781:4;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;-1:-1:-1;24793:10:0::1;:22:::0;24829:4:::1;::::0;24717:122::o;26117:212::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;26220:21:::1;26210:6;:31;;26202:74;;;::::0;;-1:-1:-1;;;26202:74:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;26287:34;::::0;-1:-1:-1;;;;;26287:26:0;::::1;::::0;:34;::::1;;;::::0;26314:6;;26287:34:::1;::::0;;;26314:6;26287:26;:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;26117:212:::0;;:::o;10202:133::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;10289:18:::1;:38:::0;;-1:-1:-1;;;;;;10289:38:0::1;-1:-1:-1::0;;;;;10289:38:0;;;::::1;::::0;;;::::1;::::0;;10202:133::o;9103:218::-;9191:4;9208:83;9217:12;:10;:12::i;:::-;9231:7;9240:50;9279:10;9240:11;:25;9252:12;:10;:12::i;:::-;-1:-1:-1;;;;;9240:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9240:25:0;;;:34;;;;;;;;;;;:38;:50::i;11035:407::-;11086:19;11109:10;:8;:10::i;:::-;11086:33;-1:-1:-1;11130:15:0;11148:24;:7;11086:33;11148:11;:24::i;:::-;11250:7;;11130:42;;-1:-1:-1;11250:20:0;;11262:7;11250:11;:20::i;:::-;11240:7;:30;11353:7;;:20;;11365:7;11353:11;:20::i;:::-;11343:7;:30;11422:1;11400:12;:10;:12::i;:::-;-1:-1:-1;;;;;11391:43:0;-1:-1:-1;;;;;;;;;;;11426:7:0;11391:43;;;;;;;;;;;;;;;;;;11035:407;;;:::o;11836:438::-;11926:7;11965;;11954;:18;;11946:62;;;;;-1:-1:-1;;;11946:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12024:17;12019:248;;12059:15;12084:19;12095:7;12084:10;:19::i;:::-;-1:-1:-1;12058:45:0;;-1:-1:-1;12118:14:0;;-1:-1:-1;;;;;;12118:14:0;12019:248;12167:23;12199:19;12210:7;12199:10;:19::i;:::-;-1:-1:-1;12165:53:0;;-1:-1:-1;12233:22:0;;-1:-1:-1;;;;;;12233:22:0;9819:90;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;9885:6:::1;:16:::0;;-1:-1:-1;;;;;;9885:16:0::1;-1:-1:-1::0;;;;;9885:16:0;;;::::1;::::0;;;::::1;::::0;;9819:90::o;10630:99::-;10707:14;;10630:99;:::o;10347:142::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;10439:20:::1;:42:::0;;-1:-1:-1;;;;;;10439:42:0::1;-1:-1:-1::0;;;;;10439:42:0;;;::::1;::::0;;;::::1;::::0;;10347:142::o;8081:198::-;-1:-1:-1;;;;;8171:20:0;;8147:7;8171:20;;;:11;:20;;;;;;;;8167:49;;;-1:-1:-1;;;;;;8200:16:0;;;;;;:7;:16;;;;;;8193:23;;8167:49;-1:-1:-1;;;;;8254:16:0;;;;;;:7;:16;;;;;;8234:37;;:19;:37::i;4011:148::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;4118:1:::1;4102:6:::0;;4081:40:::1;::::0;-1:-1:-1;;;;;4102:6:0;;::::1;::::0;4081:40:::1;::::0;4118:1;;4081:40:::1;4149:1;4132:19:::0;;-1:-1:-1;;;;;;4132:19:0::1;::::0;;4011:148::o;5687:87::-;;;-1:-1:-1;;;;;5687:87:0;;:::o;24441:171::-;24505:4;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;24525:17:0;::::1;24517:44;;;::::0;;-1:-1:-1;;;24517:44:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;24517:44:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;24568:14:0::1;:20:::0;;-1:-1:-1;;;;;24568:20:0;::::1;;;-1:-1:-1::0;;;;;;24568:20:0;;::::1;;::::0;;:14:::1;24441:171:::0;;;:::o;25685:418::-;6500:12;:10;:12::i;:::-;6490:6;;-1:-1:-1;;;;;6490:6:0;;;:22;;;6482:68;;;;-1:-1:-1;;;6482:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25786:21:::1;::::0;;;:14:::1;:21;::::0;;;;;::::1;;25785:22;25777:59;;;::::0;;-1:-1:-1;;;25777:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;25847:21;::::0;;;:14:::1;:21;::::0;;;;:28;;-1:-1:-1;;25847:28:0::1;25871:4;25847:28;::::0;;25901:22:::1;25916:6:::0;25901:14:::1;:22::i;:::-;25886:37:::0;-1:-1:-1;25934:12:0::1;25949:16;:6:::0;25886:37;25949:10:::1;:16::i;:::-;25992:14;::::0;25934:31;;-1:-1:-1;25976:45:0::1;::::0;25992:14:::1;::::0;::::1;-1:-1:-1::0;;;;;25992:14:0::1;26007:2:::0;26010:4;26015:5:::1;25976:15;:45::i;:::-;26048:14;::::0;26063:18:::1;::::0;26032:61:::1;::::0;-1:-1:-1;;;;;26048:14:0::1;::::0;;::::1;::::0;::::1;::::0;26063:18:::1;26082:4:::0;26063:18:::1;26032:15;:61::i;:::-;6561:1;;25685:418:::0;;;:::o;10858:101::-;10934:17;;;;10858:101;:::o;3360:87::-;3406:7;3433:6;-1:-1:-1;;;;;3433:6:0;3360:87;:::o;25124:358::-;25190:17;;;;25182:50;;;;;-1:-1:-1;;;25182:50:0;;;;;;;;;;;;-1:-1:-1;;;25182:50:0;;;;;;;;;;;;;;;25263:14;;25251:9;:26;;25243:66;;;;;-1:-1:-1;;;25243:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;25329:6;;:22;;25348:1;25329:10;:22::i;:::-;25320:6;:31;25362:57;25378:12;:10;:12::i;:::-;25391:14;;;;;-1:-1:-1;;;;;25391:14:0;25406:6;25413:5;25362:15;:57::i;:::-;25435:39;25447:12;:10;:12::i;:::-;25467:6;;25435:39;;;-1:-1:-1;;;;;25435:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;25124:358;:::o;23585:162::-;23625:7;23646:15;23663;23682:19;:17;:19::i;:::-;23645:56;;-1:-1:-1;23645:56:0;-1:-1:-1;23719:20:0;23645:56;;23719:11;:20::i;:::-;23712:27;;;;23585:162;:::o;7792:87::-;7864:7;7857:14;;;;;;;-1:-1:-1;;7857:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:13;;7857:14;;7864:7;;7857:14;;7864:7;7857:14;;;;;;;;;;;;;;;;;;;;;;;;23755:560;23851:7;;23887;;23804;;;;;23911:289;23935:9;:16;23931:20;;23911:289;;;24001:7;23977;:21;23985:9;23995:1;23985:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23985:12:0;23977:21;;;;;;;;;;;;;:31;;:66;;;24036:7;24012;:21;24020:9;24030:1;24020:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24020:12:0;24012:21;;;;;;;;;;;;;:31;23977:66;23973:97;;;24053:7;;24062;;24045:25;;;;;;;;;23973:97;24095:34;24107:7;:21;24115:9;24125:1;24115:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24115:12:0;24107:21;;;;;;;;;;;;;24095:7;;:11;:34::i;:::-;24085:44;;24154:34;24166:7;:21;24174:9;24184:1;24174:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24174:12:0;24166:21;;;;;;;;;;;;;24154:7;;:11;:34::i;:::-;24144:44;-1:-1:-1;23953:3:0;;23911:289;;;-1:-1:-1;24236:7:0;;24224;;:20;;:11;:20::i;:::-;24214:7;:30;24210:61;;;24254:7;;24263;;24246:25;;;;;;;;24210:61;24290:7;;-1:-1:-1;24299:7:0;-1:-1:-1;23755:560:0;;;:::o;9329:269::-;9422:4;9439:129;9448:12;:10;:12::i;:::-;9462:7;9471:96;9510:15;9471:96;;;;;;;;;;;;;;;;;:11;:25;9483:12;:10;:12::i;:::-;-1:-1:-1;;;;;9471:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9471:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;8287:167::-;8365:4;8382:42;8392:12;:10;:12::i;:::-;8406:9;8417:6;8382:9;:42::i;9606:110::-;-1:-1:-1;;;;;9688:20:0;9664:4;9688:20;;;:11;:20;;;;;;;;;9606:110::o;10742:::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;10815:17:::1;:29:::0;;-1:-1:-1;;10815:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10742:110::o;24919:80::-;24983:10;;24919:80;:::o;8462:143::-;-1:-1:-1;;;;;8570:18:0;;;8543:7;8570:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8462:143::o;5781:35::-;;;-1:-1:-1;;;;;5781:35:0;;:::o;10501:117::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;10580:14:::1;:30:::0;10501:117::o;25007:109::-;25067:4;25089:21;;;:14;:21;;;;;;;;;25007:109::o;12543:332::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12625:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;12624:21;12616:61;;;::::0;;-1:-1:-1;;;12616:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;12691:16:0;::::1;12710:1;12691:16:::0;;;:7:::1;:16;::::0;;;;;:20;12688:108:::1;;-1:-1:-1::0;;;;;12767:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;12747:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;12728:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;12688:108:::1;-1:-1:-1::0;;;;;12806:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;12806:27:0::1;12829:4;12806:27:::0;;::::1;::::0;;;12844:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;12844:23:0::1;::::0;;::::1;::::0;;12543:332::o;4314:244::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4403:22:0;::::1;4395:73;;;;-1:-1:-1::0;;;4395:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4505:6;::::0;;4484:38:::1;::::0;-1:-1:-1;;;;;4484:38:0;;::::1;::::0;4505:6;::::1;::::0;4484:38:::1;::::0;::::1;4533:6;:17:::0;;-1:-1:-1;;;;;;4533:17:0::1;-1:-1:-1::0;;;;;4533:17:0;;;::::1;::::0;;;::::1;::::0;;4314:244::o;12883:478::-;3591:12;:10;:12::i;:::-;-1:-1:-1;;;;;3580:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;3580:23:0;;3572:68;;;;;-1:-1:-1;;;3572:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3572:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12964:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;12956:60;;;::::0;;-1:-1:-1;;;12956:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;13032:9;13027:327;13051:9;:16:::0;13047:20;::::1;13027:327;;;13109:7;-1:-1:-1::0;;;;;13093:23:0::1;:9;13103:1;13093:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;13093:12:0::1;:23;13089:254;;;13152:9;13162:16:::0;;-1:-1:-1;;13162:20:0;;;13152:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;13137:9:::1;:12:::0;;-1:-1:-1;;;;;13152:31:0;;::::1;::::0;13147:1;;13137:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;13137:46:0::1;-1:-1:-1::0;;;;;13137:46:0;;::::1;;::::0;;13202:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;13241:11:::1;:20:::0;;;;:28;;-1:-1:-1;;13241:28:0::1;::::0;;13288:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;13288:15:0;;;;;-1:-1:-1;;;;;;13288:15:0::1;::::0;;;;;13322:5:::1;;13089:254;13069:3;;13027:327;;;;12883:478:::0;:::o;13714:117::-;13820:2;13802:14;;;;13801:21;;13714:117::o;2049:116::-;2100:4;2120:39;2124:1;2127;2120:39;;;;;;;;;;;;;;;;;:3;:39::i;1832:211::-;1883:4;1900:6;1896:39;;-1:-1:-1;1926:1:0;1919:8;;1896:39;1952:5;;;1956:1;1952;:5;:1;1972:5;;;;;:10;1964:56;;;;-1:-1:-1;;;1964:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1535:120;1586:4;1606:43;1610:1;1613;1606:43;;;;;;;;;;;;;;;;;:3;:43::i;1255:91::-;1330:10;1255:91;:::o;21976:558::-;22035:7;22044;22053;22062;22071;22080;22089;22110:23;22135:12;22149:15;22166:18;22188:20;22200:7;22188:11;:20::i;:::-;22109:99;;;;;;;;22221:19;22244:10;:8;:10::i;:::-;22221:33;-1:-1:-1;22284:7:0;22267:14;;;22363:59;22284:7;22383:4;22389:7;22398:10;22221:33;22363:11;:59::i;:::-;22304:118;;;;;;22451:7;22460:15;22477:4;22483:7;22492:10;22504:15;22521:4;22443:83;;;;;;;;;;;;;;;;;;;;;;;21976:558;;;;;;;;;:::o;1375:154::-;1426:4;1448:5;;;1468:6;;;;1460:46;;;;;-1:-1:-1;;;1460:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13369:337;-1:-1:-1;;;;;13462:19:0;;13454:68;;;;-1:-1:-1;;;13454:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13541:21:0;;13533:68;;;;-1:-1:-1;;;13533:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13614:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13666:32;;;;;;;;;;;;;;;;;13369:337;;;:::o;14999:934::-;-1:-1:-1;;;;;15097:20:0;;15089:70;;;;-1:-1:-1;;;15089:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15178:23:0;;15170:71;;;;-1:-1:-1;;;15170:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15269:1;15260:6;:10;15252:64;;;;-1:-1:-1;;;15252:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15351:7;;15345:3;:13;15464:2;15442:19;15345:13;15442:9;:19::i;:::-;:24;;;15439:193;;;15496:7;:5;:7::i;:::-;-1:-1:-1;;;;;15486:17:0;:6;-1:-1:-1;;;;;15486:17:0;;;:41;;;;;15520:7;:5;:7::i;:::-;-1:-1:-1;;;;;15507:20:0;:9;-1:-1:-1;;;;;15507:20:0;;;15486:41;15483:137;;;15564:12;;15554:6;:22;;15546:74;;;;-1:-1:-1;;;15546:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15690:13;;15652:11;;-1:-1:-1;;;;;15677:26:0;;;15690:13;;15677:26;;:64;;-1:-1:-1;15721:20:0;;-1:-1:-1;;;;;15721:20:0;15707:10;:34;15677:64;15674:165;;;-1:-1:-1;15767:5:0;15674:165;;;-1:-1:-1;15823:4:0;15674:165;15859:47;15875:6;15882:9;15892:6;15899;15859:15;:47::i;1661:165::-;1740:4;1769:12;1761:6;;;;1753:29;;;;-1:-1:-1;;;1753:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1798:5:0;;;1661:165::o;15945:752::-;-1:-1:-1;;;;;16057:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;16081:22:0;;;;;;:11;:22;;;;;;;;16080:23;16057:46;16053:637;;;16120:56;16142:6;16150:9;16161:6;16169;16120:21;:56::i;:::-;16053:637;;;-1:-1:-1;;;;;16199:19:0;;;;;;:11;:19;;;;;;;;16198:20;:46;;;;-1:-1:-1;;;;;;16222:22:0;;;;;;:11;:22;;;;;;;;16198:46;16194:496;;;16261:54;16281:6;16289:9;16300:6;16308;16261:19;:54::i;16194:496::-;-1:-1:-1;;;;;16338:19:0;;;;;;:11;:19;;;;;;;;16337:20;:47;;;;-1:-1:-1;;;;;;16362:22:0;;;;;;:11;:22;;;;;;;;16361:23;16337:47;16333:357;;;16401:52;16419:6;16427:9;16438:6;16446;16401:17;:52::i;16333:357::-;-1:-1:-1;;;;;16475:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;16498:22:0;;;;;;:11;:22;;;;;;;;16475:45;16471:219;;;16537:56;16559:6;16567:9;16578:6;16586;16537:21;:56::i;16471:219::-;16626:52;16644:6;16652:9;16663:6;16671;16626:17;:52::i;:::-;15945:752;;;;:::o;2171:227::-;2250:4;2341:12;2334:5;2326:28;;;;-1:-1:-1;;;2326:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2361:6;2374:1;2370;:5;;;;;;;2171:227;-1:-1:-1;;;;;2171:227:0:o;22542:501::-;22602:7;;;;;22664:23;22685:1;22664:16;:7;22676:3;22664:11;:16::i;:::-;:20;;:23::i;:::-;22649:38;-1:-1:-1;22738:15:0;22756:23;22777:1;22756:16;:7;22768:3;22756:11;:16::i;:23::-;22738:41;-1:-1:-1;22810:18:0;22831:23;22852:1;22831:16;:7;22843:3;22831:11;:16::i;:23::-;22810:44;-1:-1:-1;22899:23:0;22925:46;22810:44;22925:30;22947:7;22925:30;:7;22937:4;22925:11;:17::i;:::-;:21;;:30::i;:46::-;22899:72;23009:4;;-1:-1:-1;23015:7:0;;-1:-1:-1;23015:7:0;-1:-1:-1;22542:501:0;;-1:-1:-1;;;22542:501:0:o;23051:526::-;23183:7;;;;23239:24;:7;23251:11;23239;:24::i;:::-;23221:42;-1:-1:-1;23274:12:0;23289:21;:4;23298:11;23289:8;:21::i;:::-;23274:36;-1:-1:-1;23321:16:0;23340:24;:7;23352:11;23340;:24::i;:::-;23321:43;-1:-1:-1;23375:19:0;23397:27;:10;23412:11;23397:14;:27::i;:::-;23375:49;-1:-1:-1;23445:23:0;23471:48;23375:49;23471:31;23493:8;23471:31;:7;23483:4;23471:11;:17::i;:48::-;23538:7;;;;-1:-1:-1;23564:4:0;;-1:-1:-1;23051:526:0;;-1:-1:-1;;;;;;;;;23051:526:0:o;19259:1201::-;19375:15;19392:23;19417:12;19431:15;19448:18;19468:23;19493:12;19509:19;19520:7;19509:10;:19::i;:::-;19374:154;;;;;;;;;;;;;;19559:28;19579:7;19559;:15;19567:6;-1:-1:-1;;;;;19559:15:0;-1:-1:-1;;;;;19559:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;19541:15:0;;;;;;:7;:15;;;;;;;;:46;;;;19618:7;:15;;;;:28;;19638:7;19618:19;:28::i;:::-;-1:-1:-1;;;;;19600:15:0;;;;;;:7;:15;;;;;:46;19670:15;19667:176;;-1:-1:-1;;;;;19723:18:0;;;;;;:7;:18;;;;;;:31;;19746:7;19723:22;:31::i;:::-;-1:-1:-1;;;;;19702:18:0;;;;;;;:7;:18;;;;;;;;;:52;;;;19776:34;;;;;;;19702:18;;19776:34;;;;-1:-1:-1;;;;;;;;;;;19776:34:0;;;;;;;;19825:7;;;;;;;;;19667:176;-1:-1:-1;;;;;19876:18:0;;;;;;:7;:18;;;;;;:39;;19899:15;19876:22;:39::i;:::-;-1:-1:-1;;;;;19855:18:0;;;;;;:7;:18;;;;;:60;;;;19955:10;:8;:10::i;:::-;19932:33;-1:-1:-1;19976:16:0;19995:24;:7;19932:33;19995:11;:24::i;:::-;19976:43;;20040:26;20055:10;20040:14;:26::i;:::-;20077:42;20094:24;20112:4;20094:9;:24::i;:::-;20077:16;:42::i;:::-;20140:23;20152:4;20158;20140:11;:23::i;:::-;20186:7;;:20;;20198:7;20186:11;:20::i;:::-;20176:7;:30;20265:7;;:21;;20277:8;20265:11;:21::i;:::-;20255:7;:31;;;;20366:9;-1:-1:-1;;;;;20349:44:0;20358:6;-1:-1:-1;;;;;20349:44:0;-1:-1:-1;;;;;;;;;;;20377:15:0;20349:44;;;;;;;;;;;;;;;;;;20440:1;20418:12;:10;:12::i;:::-;-1:-1:-1;;;;;20409:43:0;-1:-1:-1;;;;;;;;;;;20444:7:0;20409:43;;;;;;;;;;;;;;;;;;19259:1201;;;;;;;;;;;;;:::o;17957:1294::-;18071:15;18088:23;18113:12;18127:15;18144:18;18164:23;18189:12;18205:19;18216:7;18205:10;:19::i;:::-;18070:154;;;;;;;;;;;;;;18255:28;18275:7;18255;:15;18263:6;-1:-1:-1;;;;;18255:15:0;-1:-1:-1;;;;;18255:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;18237:15:0;;;;;;:7;:15;;;;;:46;18308:15;18305:243;;-1:-1:-1;;;;;18361:18:0;;;;;;:7;:18;;;;;;:31;;18384:7;18361:22;:31::i;:::-;-1:-1:-1;;;;;18340:18:0;;;;;;:7;:18;;;;;;;;:52;;;;18428:7;:18;;;;:31;;18451:7;18428:22;:31::i;:::-;-1:-1:-1;;;;;18407:18:0;;;;;;;:7;:18;;;;;;;;;:52;;;;18481:34;;;;;;;18407:18;;18481:34;;;;-1:-1:-1;;;;;;;;;;;18481:34:0;;;;;;;;18530:7;;;;;;;;;18305:243;-1:-1:-1;;;;;18581:18:0;;;;;;:7;:18;;;;;;:39;;18604:15;18581:22;:39::i;:::-;-1:-1:-1;;;;;18560:18:0;;;;;;:7;:18;;;;;;;;:60;;;;18654:7;:18;;;;:39;;18677:15;18654:22;:39::i;16705:1244::-;16817:15;16834:23;16859:12;16873:15;16890:18;16910:23;16935:12;16951:19;16962:7;16951:10;:19::i;:::-;16816:154;;;;;;;;;;;;;;17005:28;17025:7;17005;:15;17013:6;-1:-1:-1;;;;;17005:15:0;-1:-1:-1;;;;;17005:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;20468:1345::-;20584:15;20601:23;20626:12;20640:15;20657:18;20677:23;20702:12;20718:19;20729:7;20718:10;:19::i;:::-;20583:154;;;;;;;;;;;;;;20768:28;20788:7;20768;:15;20776:6;-1:-1:-1;;;;;20768:15:0;-1:-1:-1;;;;;20768:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;20750:15:0;;;;;;:7;:15;;;;;;;;:46;;;;20827:7;:15;;;;:28;;20847:7;20827:19;:28::i;13843:355::-;13906:19;13929:10;:8;:10::i;:::-;13906:33;-1:-1:-1;13950:18:0;13971:27;:10;13906:33;13971:14;:27::i;:::-;14050:4;14034:22;;;;:7;:22;;;;;;13950:48;;-1:-1:-1;14034:38:0;;13950:48;14034:26;:38::i;:::-;14025:4;14009:22;;;;:7;:22;;;;;;;;:63;;;;14086:11;:26;;;;;;14083:107;;;14168:4;14152:22;;;;:7;:22;;;;;;:38;;14179:10;14152:26;:38::i;:::-;14143:4;14127:22;;;;:7;:22;;;;;:63;13843:355;;;:::o;14210:647::-;14369:16;;;14383:1;14369:16;;;14345:21;14369:16;;;;;14345:21;14369:16;;;;;;;;;;-1:-1:-1;14369:16:0;14345:40;;14418:4;14400;14405:1;14400:7;;;;;;;;-1:-1:-1;;;;;14400:23:0;;;:7;;;;;;;;;;:23;;;;14448:15;;:22;;;-1:-1:-1;;;14448:22:0;;;;:15;;;;;:20;;:22;;;;;14400:7;;14448:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14448:22:0;14438:7;;:4;;14443:1;;14438:7;;;;;;-1:-1:-1;;;;;14438:32:0;;;:7;;;;;;;;;:32;14519:15;;14487:62;;14504:4;;14519:15;14537:11;14487:8;:62::i;:::-;14596:15;;14782:14;;14596:249;;-1:-1:-1;;;14596:249:0;;;;;;;;:15;:249;;;;;;-1:-1:-1;;;;;14782:14:0;;;14596:249;;;;;;14815:15;14596:249;;;;;;;;;;;;;;;;;;;;;:15;;;;;:66;;14681:11;;14596:15;;14759:4;;14596:249;;;;;;;;;;;;;;;;;:15;:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14210:647;;:::o;21821:147::-;21899:7;;:17;;21911:4;21899:11;:17::i;:::-;21889:7;:27;21940:10;;:20;;21955:4;21940:14;:20::i;:::-;21927:10;:33;-1:-1:-1;;21821:147:0:o
Swarm Source
ipfs://9d0b6372919bc8b40b976e32bb7ea0d05437a0a524db5c8f2372ecf1082f339d
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.