Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000,000 CHOCOBO INU
Holders
20
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
232,414,952,166.365886001 CHOCOBO INUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CHOCOBOINU
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-08 */ // File: scriptsV2/SafeMath.sol pragma solidity ^0.8.4; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } // File: scriptsV2/IUniswapV2Factory.sol pragma solidity ^0.8.0; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } // File: scriptsV2/IERC20.sol pragma solidity ^0.8.4; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } // File: scriptsV2/IUniswapV2Router02.sol pragma solidity ^0.8.0; 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); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } // File: scriptsV2/contextHelper.sol pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } // File: scriptsV2/ERC20Ownable.sol pragma solidity ^0.8.4; contract ERC20Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } // File: contracts/CHOCOBOINU.sol pragma solidity ^0.8.4; contract CHOCOBOINU is IERC20,Context,ERC20Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; mapping (address => uint256) private _ownAmt; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isBlackListed; mapping (address => uint) private _setCoolDown; mapping (address => bool) private _noFeeList; address payable private _taxWallet; address private uniswapV2Pair; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e13 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _maxTxAmount = _tTotal; uint256 private _tFeeTotal; uint256 private _taxFee1; uint256 private _taxFee2; bool private OpenTrades; bool private inSwap = false; bool private enableSwap = false; bool private coolDownEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier swapLock { inSwap = true; _; inSwap = false; } /* TOKENS BASIC INFORMATION ------------------------- **/ string private constant _name = "CHOCOBO INU"; string private constant _symbol = "CHOCOBO INU"; uint8 private constant _decimal = 9; /* TOKENS BASIC INFORMATION ------------------------- **/ /* TOKENS CONSTRUCTOR ------------------ **/ //-------------------------------------------- constructor () { _taxWallet = payable(0x7A10c47faAAB8CB3c1A0519e2d9dbba5669ca480); _ownAmt[_msgSender()] = _rTotal; _noFeeList[owner()] = true; _noFeeList[address(this)] = true; _noFeeList[_taxWallet] = true; /* BLACK LIST OF BOTS ------------------ **/ blackList(0x91B305F0890Fd0534B66D8d479da6529C35A3eeC); /* BLACK LIST OF BOTS ------------------ **/ /*IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); */ /* BLACK LIST OF BOTS ------------------ **/ /* BLACK LIST OF BOTS ------------------ **/ openTrading(); emit Transfer(address(0), address(this), _tTotal); } receive() external payable {} function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimal; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenReflection(_ownAmt[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 setCooldownEnabled(bool onoff) external onlyOwner() { coolDownEnabled = onoff; } function blackList(address _user) public onlyOwner { require(!_isBlackListed[_user], "user already blacklisted"); _isBlackListed[_user] = true; } function removeFromBlacklist(address _user) public onlyOwner { require(_isBlackListed[_user], "user already whitelisted"); _isBlackListed[_user] = false; } function tokenReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); _taxFee1 = 2; _taxFee2 = 10; if (from != owner() && to != owner()) { require(!_isBlackListed[to] && !_isBlackListed[from]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _noFeeList[to] && coolDownEnabled) { // Cooldown require(amount <= _maxTxAmount); require(_setCoolDown[to] < block.timestamp); _setCoolDown[to] = block.timestamp + (30 seconds); } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _noFeeList[from]) { _taxFee1 = 2; _taxFee2 = 10; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && enableSwap) { swapTokensForETH(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendTax(address(this).balance); } } } _tokenTransfer(from,to,amount); } function openTrading() public onlyOwner() { require(!OpenTrades,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); //uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); enableSwap = true; coolDownEnabled = true; _maxTxAmount = 1e13 * 10**9; OpenTrades = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTax) = _getValues(tAmount); _ownAmt[sender] = _ownAmt[sender].sub(rAmount); _ownAmt[recipient] = _ownAmt[recipient].add(rTransferAmount); _takeTax(tTax); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function sendTax(uint256 amount) private { _taxWallet.transfer(amount.div(2)); _taxWallet.transfer(amount.div(2)); } function swapTokensForETH(uint256 tokenAmount) private swapLock { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _takeTax(uint256 tTax) private { uint256 currentRate = _getRate(); uint256 rTax = tTax.mul(currentRate); _ownAmt[address(this)] = _ownAmt[address(this)].add(rTax); } 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 tTransferAmount, uint256 tFee, uint256 tTax) = _getTValues(tAmount, _taxFee1, _taxFee2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTax, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTax); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 liqTax) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTax = tAmount.mul(liqTax).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTax); return (tTransferAmount, tFee, tTax); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTax, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTax = tTax.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTax); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"blackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001c69021e19e0c9bab240000060001962000779565b6200002a9060001962000755565b600a5569021e19e0c9bab2400000600b55600f805463ffffff00191690553480156200005557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600880546001600160a01b031916737a10c47faaab8cb3c1a0519e2d9dbba5669ca480179055600a5460036000620000cc3390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016007600062000106620001ce60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260079093528183208054851660019081179091556008549091168352912080549092161790556200017c7391b305f0890fd0534b66d8d479da6529c35a3eec620001dd565b62000186620002bb565b60405169021e19e0c9bab2400000815230906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36200079a565b6000546001600160a01b031690565b6000546001600160a01b031633146200022c5760405162461bcd60e51b8152602060048201819052602482015260008051602062001f4783398151915260448201526064015b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff1615620002975760405162461bcd60e51b815260206004820152601860248201527f7573657220616c726561647920626c61636b6c69737465640000000000000000604482015260640162000223565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b03163314620003065760405162461bcd60e51b8152602060048201819052602482015260008051602062001f47833981519152604482015260640162000223565b600f5460ff16156200035b5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640162000223565b600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556200039b308269021e19e0c9bab2400000620005db565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d557600080fd5b505afa158015620003ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000410919062000703565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200045957600080fd5b505afa1580156200046e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000494919062000703565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620004dd57600080fd5b505af1158015620004f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000518919062000703565b600980546001600160a01b0319166001600160a01b03928316908117909155600f805469021e19e0c9bab2400000600b5563ffff00ff1916630101000117905560025460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b390604401602060405180830381600087803b1580156200059c57600080fd5b505af1158015620005b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d7919062000733565b5050565b6001600160a01b0383166200063f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000223565b6001600160a01b038216620006a25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000223565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006020828403121562000715578081fd5b81516001600160a01b03811681146200072c578182fd5b9392505050565b60006020828403121562000745578081fd5b815180151581146200072c578182fd5b6000828210156200077457634e487b7160e01b81526011600452602481fd5b500390565b6000826200079557634e487b7160e01b81526012600452602481fd5b500690565b61179d80620007aa6000396000f3fe6080604052600436106100ec5760003560e01c80635932ead11161008a57806395d89b411161005957806395d89b41146100f8578063a9059cbb1461028d578063c9567bf9146102ad578063dd62ed3e146102c257600080fd5b80635932ead11461021057806370a0823114610230578063715018a6146102505780638da5cb5b1461026557600080fd5b806323b872dd116100c657806323b872dd14610192578063313ce567146101b25780634838d165146101ce578063537df3b6146101f057600080fd5b806306fdde03146100f8578063095ea7b31461013b57806318160ddd1461016b57600080fd5b366100f357005b600080fd5b34801561010457600080fd5b50604080518082018252600b81526a43484f434f424f20494e5560a81b60208201529051610132919061159d565b60405180910390f35b34801561014757600080fd5b5061015b61015636600461153a565b610308565b6040519015158152602001610132565b34801561017757600080fd5b5069021e19e0c9bab24000005b604051908152602001610132565b34801561019e57600080fd5b5061015b6101ad3660046114fa565b61031f565b3480156101be57600080fd5b5060405160098152602001610132565b3480156101da57600080fd5b506101ee6101e936600461148a565b610388565b005b3480156101fc57600080fd5b506101ee61020b36600461148a565b610448565b34801561021c57600080fd5b506101ee61022b366004611565565b6104fb565b34801561023c57600080fd5b5061018461024b36600461148a565b610543565b34801561025c57600080fd5b506101ee610565565b34801561027157600080fd5b506000546040516001600160a01b039091168152602001610132565b34801561029957600080fd5b5061015b6102a836600461153a565b6105d9565b3480156102b957600080fd5b506101ee6105e6565b3480156102ce57600080fd5b506101846102dd3660046114c2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103153384846108d1565b5060015b92915050565b600061032c8484846109f5565b61037e843361037985604051806060016040528060288152602001611740602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610d3f565b6108d1565b5060019392505050565b6000546001600160a01b031633146103bb5760405162461bcd60e51b81526004016103b2906115f0565b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff16156104245760405162461bcd60e51b815260206004820152601860248201527f7573657220616c726561647920626c61636b6c6973746564000000000000000060448201526064016103b2565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b031633146104725760405162461bcd60e51b81526004016103b2906115f0565b6001600160a01b03811660009081526005602052604090205460ff166104da5760405162461bcd60e51b815260206004820152601860248201527f7573657220616c72656164792077686974656c6973746564000000000000000060448201526064016103b2565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146105255760405162461bcd60e51b81526004016103b2906115f0565b600f805491151563010000000263ff00000019909216919091179055565b6001600160a01b03811660009081526003602052604081205461031990610d79565b6000546001600160a01b0316331461058f5760405162461bcd60e51b81526004016103b2906115f0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103153384846109f5565b6000546001600160a01b031633146106105760405162461bcd60e51b81526004016103b2906115f0565b600f5460ff16156106635760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b2565b600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a1308269021e19e0c9bab24000006108d1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106da57600080fd5b505afa1580156106ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071291906114a6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561075a57600080fd5b505afa15801561076e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079291906114a6565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081291906114a6565b600980546001600160a01b0319166001600160a01b03928316908117909155600f805469021e19e0c9bab2400000600b5563ffff00ff1916630101000117905560025460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b390604401602060405180830381600087803b15801561089557600080fd5b505af11580156108a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cd9190611581565b5050565b6001600160a01b0383166109335760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b2565b6001600160a01b0382166109945760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a595760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b2565b6001600160a01b038216610abb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b2565b60008111610b1d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b2565b6002600d55600a600e556000546001600160a01b03848116911614801590610b5357506000546001600160a01b03838116911614155b15610d2f576001600160a01b03821660009081526005602052604090205460ff16158015610b9a57506001600160a01b03831660009081526005602052604090205460ff16155b610ba357600080fd5b6009546001600160a01b038481169116148015610bce57506002546001600160a01b03838116911614155b8015610bf357506001600160a01b03821660009081526007602052604090205460ff16155b8015610c085750600f546301000000900460ff165b15610c6557600b54811115610c1c57600080fd5b6001600160a01b0382166000908152600660205260409020544211610c4057600080fd5b610c4b42601e611695565b6001600160a01b0383166000908152600660205260409020555b6009546001600160a01b038381169116148015610c9057506002546001600160a01b03848116911614155b8015610cb557506001600160a01b03831660009081526007602052604090205460ff16155b15610cc5576002600d55600a600e555b6000610cd030610543565b600f54909150610100900460ff16158015610cf957506009546001600160a01b03858116911614155b8015610d0d5750600f5462010000900460ff165b15610d2d57610d1b81610dfd565b478015610d2b57610d2b47610f9c565b505b505b610d3a838383611021565b505050565b60008184841115610d635760405162461bcd60e51b81526004016103b2919061159d565b506000610d7084866116ec565b95945050505050565b6000600a54821115610de05760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016103b2565b6000610dea61102c565b9050610df6838261104f565b9392505050565b600f805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e4f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb91906114a6565b81600181518110610efc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600254610f2291309116846108d1565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f5b908590600090869030904290600401611625565b600060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b5050600f805461ff001916905550505050565b6008546001600160a01b03166108fc610fb683600261104f565b6040518115909202916000818181858888f19350505050158015610fde573d6000803e3d6000fd5b506008546001600160a01b03166108fc610ff983600261104f565b6040518115909202916000818181858888f193505050501580156108cd573d6000803e3d6000fd5b610d3a838383611091565b6000806000611039611188565b9092509050611048828261104f565b9250505090565b6000610df683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111cc565b6000806000806000806110a3876111fa565b6001600160a01b038f16600090815260036020526040902054959b509399509197509550935091506110d59087611257565b6001600160a01b03808b1660009081526003602052604080822093909355908a16815220546111049086611299565b6001600160a01b038916600090815260036020526040902055611126816112f8565b6111308483611342565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161117591815260200190565b60405180910390a3505050505050505050565b600a54600090819069021e19e0c9bab24000006111a5828261104f565b8210156111c3575050600a549269021e19e0c9bab240000092509050565b90939092509050565b600081836111ed5760405162461bcd60e51b81526004016103b2919061159d565b506000610d7084866116ad565b60008060008060008060008060006112178a600d54600e54611366565b925092509250600061122761102c565b9050600080600061123a8e8787876113bb565b919e509c509a509598509396509194505050505091939550919395565b6000610df683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d3f565b6000806112a68385611695565b905083811015610df65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b2565b600061130261102c565b90506000611310838361140b565b3060009081526003602052604090205490915061132d9082611299565b30600090815260036020526040902055505050565b600a5461134f9083611257565b600a55600c5461135f9082611299565b600c555050565b6000808080611380606461137a898961140b565b9061104f565b90506000611393606461137a8a8961140b565b905060006113ab826113a58b86611257565b90611257565b9992985090965090945050505050565b60008080806113ca888661140b565b905060006113d8888761140b565b905060006113e6888861140b565b905060006113f8826113a58686611257565b939b939a50919850919650505050505050565b60008261141a57506000610319565b600061142683856116cd565b90508261143385836116ad565b14610df65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b2565b60006020828403121561149b578081fd5b8135610df681611719565b6000602082840312156114b7578081fd5b8151610df681611719565b600080604083850312156114d4578081fd5b82356114df81611719565b915060208301356114ef81611719565b809150509250929050565b60008060006060848603121561150e578081fd5b833561151981611719565b9250602084013561152981611719565b929592945050506040919091013590565b6000806040838503121561154c578182fd5b823561155781611719565b946020939093013593505050565b600060208284031215611576578081fd5b8135610df681611731565b600060208284031215611592578081fd5b8151610df681611731565b6000602080835283518082850152825b818110156115c9578581018301518582016040015282016115ad565b818111156115da5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156116745784516001600160a01b03168352938301939183019160010161164f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156116a8576116a8611703565b500190565b6000826116c857634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156116e7576116e7611703565b500290565b6000828210156116fe576116fe611703565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461172e57600080fd5b50565b801515811461172e57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220803cdebae334a204ebbb73410a38735d7e24bbafdd24194ea88b693809684d2a64736f6c634300080400334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106100ec5760003560e01c80635932ead11161008a57806395d89b411161005957806395d89b41146100f8578063a9059cbb1461028d578063c9567bf9146102ad578063dd62ed3e146102c257600080fd5b80635932ead11461021057806370a0823114610230578063715018a6146102505780638da5cb5b1461026557600080fd5b806323b872dd116100c657806323b872dd14610192578063313ce567146101b25780634838d165146101ce578063537df3b6146101f057600080fd5b806306fdde03146100f8578063095ea7b31461013b57806318160ddd1461016b57600080fd5b366100f357005b600080fd5b34801561010457600080fd5b50604080518082018252600b81526a43484f434f424f20494e5560a81b60208201529051610132919061159d565b60405180910390f35b34801561014757600080fd5b5061015b61015636600461153a565b610308565b6040519015158152602001610132565b34801561017757600080fd5b5069021e19e0c9bab24000005b604051908152602001610132565b34801561019e57600080fd5b5061015b6101ad3660046114fa565b61031f565b3480156101be57600080fd5b5060405160098152602001610132565b3480156101da57600080fd5b506101ee6101e936600461148a565b610388565b005b3480156101fc57600080fd5b506101ee61020b36600461148a565b610448565b34801561021c57600080fd5b506101ee61022b366004611565565b6104fb565b34801561023c57600080fd5b5061018461024b36600461148a565b610543565b34801561025c57600080fd5b506101ee610565565b34801561027157600080fd5b506000546040516001600160a01b039091168152602001610132565b34801561029957600080fd5b5061015b6102a836600461153a565b6105d9565b3480156102b957600080fd5b506101ee6105e6565b3480156102ce57600080fd5b506101846102dd3660046114c2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103153384846108d1565b5060015b92915050565b600061032c8484846109f5565b61037e843361037985604051806060016040528060288152602001611740602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610d3f565b6108d1565b5060019392505050565b6000546001600160a01b031633146103bb5760405162461bcd60e51b81526004016103b2906115f0565b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff16156104245760405162461bcd60e51b815260206004820152601860248201527f7573657220616c726561647920626c61636b6c6973746564000000000000000060448201526064016103b2565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b031633146104725760405162461bcd60e51b81526004016103b2906115f0565b6001600160a01b03811660009081526005602052604090205460ff166104da5760405162461bcd60e51b815260206004820152601860248201527f7573657220616c72656164792077686974656c6973746564000000000000000060448201526064016103b2565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146105255760405162461bcd60e51b81526004016103b2906115f0565b600f805491151563010000000263ff00000019909216919091179055565b6001600160a01b03811660009081526003602052604081205461031990610d79565b6000546001600160a01b0316331461058f5760405162461bcd60e51b81526004016103b2906115f0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103153384846109f5565b6000546001600160a01b031633146106105760405162461bcd60e51b81526004016103b2906115f0565b600f5460ff16156106635760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b2565b600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a1308269021e19e0c9bab24000006108d1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106da57600080fd5b505afa1580156106ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071291906114a6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561075a57600080fd5b505afa15801561076e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079291906114a6565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081291906114a6565b600980546001600160a01b0319166001600160a01b03928316908117909155600f805469021e19e0c9bab2400000600b5563ffff00ff1916630101000117905560025460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b390604401602060405180830381600087803b15801561089557600080fd5b505af11580156108a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cd9190611581565b5050565b6001600160a01b0383166109335760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b2565b6001600160a01b0382166109945760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a595760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b2565b6001600160a01b038216610abb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b2565b60008111610b1d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b2565b6002600d55600a600e556000546001600160a01b03848116911614801590610b5357506000546001600160a01b03838116911614155b15610d2f576001600160a01b03821660009081526005602052604090205460ff16158015610b9a57506001600160a01b03831660009081526005602052604090205460ff16155b610ba357600080fd5b6009546001600160a01b038481169116148015610bce57506002546001600160a01b03838116911614155b8015610bf357506001600160a01b03821660009081526007602052604090205460ff16155b8015610c085750600f546301000000900460ff165b15610c6557600b54811115610c1c57600080fd5b6001600160a01b0382166000908152600660205260409020544211610c4057600080fd5b610c4b42601e611695565b6001600160a01b0383166000908152600660205260409020555b6009546001600160a01b038381169116148015610c9057506002546001600160a01b03848116911614155b8015610cb557506001600160a01b03831660009081526007602052604090205460ff16155b15610cc5576002600d55600a600e555b6000610cd030610543565b600f54909150610100900460ff16158015610cf957506009546001600160a01b03858116911614155b8015610d0d5750600f5462010000900460ff165b15610d2d57610d1b81610dfd565b478015610d2b57610d2b47610f9c565b505b505b610d3a838383611021565b505050565b60008184841115610d635760405162461bcd60e51b81526004016103b2919061159d565b506000610d7084866116ec565b95945050505050565b6000600a54821115610de05760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016103b2565b6000610dea61102c565b9050610df6838261104f565b9392505050565b600f805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e4f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb91906114a6565b81600181518110610efc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600254610f2291309116846108d1565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f5b908590600090869030904290600401611625565b600060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b5050600f805461ff001916905550505050565b6008546001600160a01b03166108fc610fb683600261104f565b6040518115909202916000818181858888f19350505050158015610fde573d6000803e3d6000fd5b506008546001600160a01b03166108fc610ff983600261104f565b6040518115909202916000818181858888f193505050501580156108cd573d6000803e3d6000fd5b610d3a838383611091565b6000806000611039611188565b9092509050611048828261104f565b9250505090565b6000610df683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111cc565b6000806000806000806110a3876111fa565b6001600160a01b038f16600090815260036020526040902054959b509399509197509550935091506110d59087611257565b6001600160a01b03808b1660009081526003602052604080822093909355908a16815220546111049086611299565b6001600160a01b038916600090815260036020526040902055611126816112f8565b6111308483611342565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161117591815260200190565b60405180910390a3505050505050505050565b600a54600090819069021e19e0c9bab24000006111a5828261104f565b8210156111c3575050600a549269021e19e0c9bab240000092509050565b90939092509050565b600081836111ed5760405162461bcd60e51b81526004016103b2919061159d565b506000610d7084866116ad565b60008060008060008060008060006112178a600d54600e54611366565b925092509250600061122761102c565b9050600080600061123a8e8787876113bb565b919e509c509a509598509396509194505050505091939550919395565b6000610df683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d3f565b6000806112a68385611695565b905083811015610df65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b2565b600061130261102c565b90506000611310838361140b565b3060009081526003602052604090205490915061132d9082611299565b30600090815260036020526040902055505050565b600a5461134f9083611257565b600a55600c5461135f9082611299565b600c555050565b6000808080611380606461137a898961140b565b9061104f565b90506000611393606461137a8a8961140b565b905060006113ab826113a58b86611257565b90611257565b9992985090965090945050505050565b60008080806113ca888661140b565b905060006113d8888761140b565b905060006113e6888861140b565b905060006113f8826113a58686611257565b939b939a50919850919650505050505050565b60008261141a57506000610319565b600061142683856116cd565b90508261143385836116ad565b14610df65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b2565b60006020828403121561149b578081fd5b8135610df681611719565b6000602082840312156114b7578081fd5b8151610df681611719565b600080604083850312156114d4578081fd5b82356114df81611719565b915060208301356114ef81611719565b809150509250929050565b60008060006060848603121561150e578081fd5b833561151981611719565b9250602084013561152981611719565b929592945050506040919091013590565b6000806040838503121561154c578182fd5b823561155781611719565b946020939093013593505050565b600060208284031215611576578081fd5b8135610df681611731565b600060208284031215611592578081fd5b8151610df681611731565b6000602080835283518082850152825b818110156115c9578581018301518582016040015282016115ad565b818111156115da5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156116745784516001600160a01b03168352938301939183019160010161164f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156116a8576116a8611703565b500190565b6000826116c857634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156116e7576116e7611703565b500290565b6000828210156116fe576116fe611703565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461172e57600080fd5b50565b801515811461172e57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220803cdebae334a204ebbb73410a38735d7e24bbafdd24194ea88b693809684d2a64736f6c63430008040033
Deployed Bytecode Sourcemap
3945:12180:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7026:83;;;;;;;;;;-1:-1:-1;7096:5:0;;;;;;;;;;;-1:-1:-1;;;7096:5:0;;;;7026:83;;;;7096:5;7026:83;:::i;:::-;;;;;;;;8255:161;;;;;;;;;;-1:-1:-1;8255:161:0;;;;;:::i;:::-;;:::i;:::-;;;3223:14:1;;3216:22;3198:41;;3186:2;3171:18;8255:161:0;3153:92:1;7392:95:0;;;;;;;;;;-1:-1:-1;4552:12:0;7392:95;;;8620:25:1;;;8608:2;8593:18;7392:95:0;8575:76:1;8494:313:0;;;;;;;;;;-1:-1:-1;8494:313:0;;;;;:::i;:::-;;:::i;7266:82::-;;;;;;;;;;-1:-1:-1;7266:82:0;;5351:1;9786:36:1;;9774:2;9759:18;7266:82:0;9741:87:1;9079:168:0;;;;;;;;;;-1:-1:-1;9079:168:0;;;;;:::i;:::-;;:::i;:::-;;9309:178;;;;;;;;;;-1:-1:-1;9309:178:0;;;;;:::i;:::-;;:::i;8897:103::-;;;;;;;;;;-1:-1:-1;8897:103:0;;;;;:::i;:::-;;:::i;7571:134::-;;;;;;;;;;-1:-1:-1;7571:134:0;;;;;:::i;:::-;;:::i;3706:148::-;;;;;;;;;;;;;:::i;3492:79::-;;;;;;;;;;-1:-1:-1;3530:7:0;3557:6;3492:79;;-1:-1:-1;;;;;3557:6:0;;;2408:51:1;;2396:2;2381:18;3492:79:0;2363:102:1;7795:167:0;;;;;;;;;;-1:-1:-1;7795:167:0;;;;;:::i;:::-;;:::i;11702:806::-;;;;;;;;;;;;;:::i;8046:143::-;;;;;;;;;;-1:-1:-1;8046:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8154:18:0;;;8127:7;8154:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8046:143;8255:161;8330:4;8347:39;3037:10;8370:7;8379:6;8347:8;:39::i;:::-;-1:-1:-1;8404:4:0;8255:161;;;;;:::o;8494:313::-;8592:4;8609:36;8619:6;8627:9;8638:6;8609:9;:36::i;:::-;8656:121;8665:6;3037:10;8687:89;8725:6;8687:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8687:19:0;;;;;;:11;:19;;;;;;;;3037:10;8687:33;;;;;;;;;;:37;:89::i;:::-;8656:8;:121::i;:::-;-1:-1:-1;8795:4:0;8494:313;;;;;:::o;9079:168::-;3619:6;;-1:-1:-1;;;;;3619:6:0;3037:10;3619:22;3611:67;;;;-1:-1:-1;;;3611:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;9150:21:0;::::1;;::::0;;;:14:::1;:21;::::0;;;;;::::1;;9149:22;9141:59;;;::::0;-1:-1:-1;;;9141:59:0;;5634:2:1;9141:59:0::1;::::0;::::1;5616:21:1::0;5673:2;5653:18;;;5646:30;5712:26;5692:18;;;5685:54;5756:18;;9141:59:0::1;5606:174:1::0;9141:59:0::1;-1:-1:-1::0;;;;;9211:21:0::1;;::::0;;;:14:::1;:21;::::0;;;;:28;;-1:-1:-1;;9211:28:0::1;9235:4;9211:28;::::0;;9079:168::o;9309:178::-;3619:6;;-1:-1:-1;;;;;3619:6:0;3037:10;3619:22;3611:67;;;;-1:-1:-1;;;3611:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9389:21:0;::::1;;::::0;;;:14:::1;:21;::::0;;;;;::::1;;9381:58;;;::::0;-1:-1:-1;;;9381:58:0;;5987:2:1;9381:58:0::1;::::0;::::1;5969:21:1::0;6026:2;6006:18;;;5999:30;6065:26;6045:18;;;6038:54;6109:18;;9381:58:0::1;5959:174:1::0;9381:58:0::1;-1:-1:-1::0;;;;;9450:21:0::1;9474:5;9450:21:::0;;;:14:::1;:21;::::0;;;;:29;;-1:-1:-1;;9450:29:0::1;::::0;;9309:178::o;8897:103::-;3619:6;;-1:-1:-1;;;;;3619:6:0;3037:10;3619:22;3611:67;;;;-1:-1:-1;;;3611:67:0;;;;;;;:::i;:::-;8969:15:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;8969:23:0;;::::1;::::0;;;::::1;::::0;;8897:103::o;7571:134::-;-1:-1:-1;;;;;7680:16:0;;7637:7;7680:16;;;:7;:16;;;;;;7664:33;;:15;:33::i;3706:148::-;3619:6;;-1:-1:-1;;;;;3619:6:0;3037:10;3619:22;3611:67;;;;-1:-1:-1;;;3611:67:0;;;;;;;:::i;:::-;3813:1:::1;3797:6:::0;;3776:40:::1;::::0;-1:-1:-1;;;;;3797:6:0;;::::1;::::0;3776:40:::1;::::0;3813:1;;3776:40:::1;3844:1;3827:19:::0;;-1:-1:-1;;;;;;3827:19:0::1;::::0;;3706:148::o;7795:167::-;7873:4;7890:42;3037:10;7914:9;7925:6;7890:9;:42::i;11702:806::-;3619:6;;-1:-1:-1;;;;;3619:6:0;3037:10;3619:22;3611:67;;;;-1:-1:-1;;;3611:67:0;;;;;;;:::i;:::-;11764:10:::1;::::0;::::1;;11763:11;11755:46;;;::::0;-1:-1:-1;;;11755:46:0;;8324:2:1;11755:46:0::1;::::0;::::1;8306:21:1::0;8363:2;8343:18;;;8336:30;8402:25;8382:18;;;8375:53;8445:18;;11755:46:0::1;8296:173:1::0;11755:46:0::1;11923:15;:34:::0;;-1:-1:-1;;;;;;11923:34:0::1;11869:42;11923:34:::0;;::::1;::::0;;;11968:58:::1;11985:4;11869:42:::0;4552:12:::1;11968:8;:58::i;:::-;12071:16;-1:-1:-1::0;;;;;12071:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12053:56:0::1;;12118:4;12125:16;-1:-1:-1::0;;;;;12125:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12053:96;::::0;-1:-1:-1;;;;;;12053:96:0::1;::::0;;;;;;-1:-1:-1;;;;;2700:15:1;;;12053:96:0::1;::::0;::::1;2682:34:1::0;2752:15;;2732:18;;;2725:43;2617:18;;12053:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12037:13;:112:::0;;-1:-1:-1;;;;;;12037:112:0::1;-1:-1:-1::0;;;;;12037:112:0;;::::1;::::0;;::::1;::::0;;;12302:10:::1;:17:::0;;12378:12:::1;12363;:27:::0;-1:-1:-1;;12401:17:0;;;;;12302:10:::1;12467:15:::0;12429:71:::1;::::0;-1:-1:-1;;;12429:71:0;;12467:15;::::1;-1:-1:-1::0;12429:71:0;::::1;2953:51:1::0;-1:-1:-1;;3020:18:1;;;3013:34;12037:112:0;12429:29:::1;::::0;2926:18:1;;12429:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3689:1;11702:806::o:0;9853:335::-;-1:-1:-1;;;;;9946:19:0;;9938:68;;;;-1:-1:-1;;;9938:68:0;;7919:2:1;9938:68:0;;;7901:21:1;7958:2;7938:18;;;7931:30;7997:34;7977:18;;;7970:62;-1:-1:-1;;;8048:18:1;;;8041:34;8092:19;;9938:68:0;7891:226:1;9938:68:0;-1:-1:-1;;;;;10025:21:0;;10017:68;;;;-1:-1:-1;;;10017:68:0;;4875:2:1;10017:68:0;;;4857:21:1;4914:2;4894:18;;;4887:30;4953:34;4933:18;;;4926:62;-1:-1:-1;;;5004:18:1;;;4997:32;5046:19;;10017:68:0;4847:224:1;10017:68:0;-1:-1:-1;;;;;10096:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10148:32;;8620:25:1;;;10148:32:0;;8593:18:1;10148:32:0;;;;;;;9853:335;;;:::o;10230:1433::-;-1:-1:-1;;;;;10318:18:0;;10310:68;;;;-1:-1:-1;;;10310:68:0;;7513:2:1;10310:68:0;;;7495:21:1;7552:2;7532:18;;;7525:30;7591:34;7571:18;;;7564:62;-1:-1:-1;;;7642:18:1;;;7635:35;7687:19;;10310:68:0;7485:227:1;10310:68:0;-1:-1:-1;;;;;10397:16:0;;10389:64;;;;-1:-1:-1;;;10389:64:0;;4060:2:1;10389:64:0;;;4042:21:1;4099:2;4079:18;;;4072:30;4138:34;4118:18;;;4111:62;-1:-1:-1;;;4189:18:1;;;4182:33;4232:19;;10389:64:0;4032:225:1;10389:64:0;10481:1;10472:6;:10;10464:64;;;;-1:-1:-1;;;10464:64:0;;7103:2:1;10464:64:0;;;7085:21:1;7142:2;7122:18;;;7115:30;7181:34;7161:18;;;7154:62;-1:-1:-1;;;7232:18:1;;;7225:39;7281:19;;10464:64:0;7075:231:1;10464:64:0;10550:1;10539:8;:12;10573:2;10562:8;:13;-1:-1:-1;3557:6:0;-1:-1:-1;;;;;10590:15:0;;;3557:6;;10590:15;;;;:32;;-1:-1:-1;3530:7:0;3557:6;-1:-1:-1;;;;;10609:13:0;;;3557:6;;10609:13;;10590:32;10586:1029;;;-1:-1:-1;;;;;10648:18:0;;;;;;:14;:18;;;;;;;;10647:19;:44;;;;-1:-1:-1;;;;;;10671:20:0;;;;;;:14;:20;;;;;;;;10670:21;10647:44;10639:53;;;;;;10719:13;;-1:-1:-1;;;;;10711:21:0;;;10719:13;;10711:21;:55;;;;-1:-1:-1;10750:15:0;;-1:-1:-1;;;;;10736:30:0;;;10750:15;;10736:30;;10711:55;:75;;;;-1:-1:-1;;;;;;10772:14:0;;;;;;:10;:14;;;;;;;;10770:16;10711:75;:94;;;;-1:-1:-1;10790:15:0;;;;;;;10711:94;10707:325;;;10873:12;;10863:6;:22;;10855:31;;;;;;-1:-1:-1;;;;;10913:16:0;;;;;;:12;:16;;;;;;10932:15;-1:-1:-1;10905:43:0;;;;;;10986:30;:15;11005:10;10986:30;:::i;:::-;-1:-1:-1;;;;;10967:16:0;;;;;;:12;:16;;;;;:49;10707:325;11056:13;;-1:-1:-1;;;;;11050:19:0;;;11056:13;;11050:19;:55;;;;-1:-1:-1;11089:15:0;;-1:-1:-1;;;;;11073:32:0;;;11089:15;;11073:32;;11050:55;:77;;;;-1:-1:-1;;;;;;11111:16:0;;;;;;:10;:16;;;;;;;;11109:18;11050:77;11046:162;;;11159:1;11148:8;:12;11190:2;11179:8;:13;11046:162;11222:28;11253:24;11271:4;11253:9;:24::i;:::-;11297:6;;11222:55;;-1:-1:-1;11297:6:0;;;;;11296:7;:32;;;;-1:-1:-1;11315:13:0;;-1:-1:-1;;;;;11307:21:0;;;11315:13;;11307:21;;11296:32;:46;;;;-1:-1:-1;11332:10:0;;;;;;;11296:46;11292:312;;;11363:38;11380:20;11363:16;:38::i;:::-;11449:21;11492:22;;11489:100;;11539:30;11547:21;11539:7;:30::i;:::-;11292:312;;10586:1029;;11625:30;11640:4;11645:2;11648:6;11625:14;:30::i;:::-;10230:1433;;;:::o;421:190::-;507:7;543:12;535:6;;;;527:29;;;;-1:-1:-1;;;527:29:0;;;;;;;;:::i;:::-;-1:-1:-1;567:9:0;579:5;583:1;579;:5;:::i;:::-;567:17;421:190;-1:-1:-1;;;;;421:190:0:o;9555:250::-;9618:7;9657;;9646;:18;;9638:73;;;;-1:-1:-1;;;9638:73:0;;4464:2:1;9638:73:0;;;4446:21:1;4503:2;4483:18;;;4476:30;4542:34;4522:18;;;4515:62;-1:-1:-1;;;4593:18:1;;;4586:40;4643:19;;9638:73:0;4436:232:1;9638:73:0;9722:19;9745:10;:8;:10::i;:::-;9722:33;-1:-1:-1;9773:24:0;:7;9722:33;9773:11;:24::i;:::-;9766:31;9555:250;-1:-1:-1;;;9555:250:0:o;13412:480::-;5017:6;:13;;-1:-1:-1;;5017:13:0;;;;;13511:16:::1;::::0;;13525:1:::1;13511:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13511:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13511:16:0::1;13487:40;;13556:4;13538;13543:1;13538:7;;;;;;-1:-1:-1::0;;;13538:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;13538:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13582:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13582:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13538:7;;13582:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13572:4;13577:1;13572:7;;;;;;-1:-1:-1::0;;;13572:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;13572:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13647:15:::1;::::0;13615:62:::1;::::0;13632:4:::1;::::0;13647:15:::1;13665:11:::0;13615:8:::1;:62::i;:::-;13688:15;::::0;:196:::1;::::0;-1:-1:-1;;;13688:196:0;;-1:-1:-1;;;;;13688:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13769:11;;13688:15:::1;::::0;13811:4;;13838::::1;::::0;13858:15:::1;::::0;13688:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5053:6:0;:14;;-1:-1:-1;;5053:14:0;;;-1:-1:-1;;;;13412:480:0:o;13247:139::-;13299:10;;-1:-1:-1;;;;;13299:10:0;:34;13319:13;:6;13330:1;13319:10;:13::i;:::-;13299:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13344:10:0;;-1:-1:-1;;;;;13344:10:0;:34;13364:13;:6;13375:1;13364:10;:13::i;:::-;13344:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12544:146;12638:44;12656:6;12664:9;12675:6;12638:17;:44::i;15668:163::-;15709:7;15730:15;15747;15766:19;:17;:19::i;:::-;15729:56;;-1:-1:-1;15729:56:0;-1:-1:-1;15803:20:0;15729:56;;15803:11;:20::i;:::-;15796:27;;;;15668:163;:::o;873:132::-;931:7;958:39;962:1;965;958:39;;;;;;;;;;;;;;;;;:3;:39::i;12726:485::-;12825:15;12842:23;12867:12;12881:23;12906:12;12920;12936:19;12947:7;12936:10;:19::i;:::-;-1:-1:-1;;;;;12984:15:0;;;;;;:7;:15;;;;;;12824:131;;-1:-1:-1;12824:131:0;;-1:-1:-1;12824:131:0;;-1:-1:-1;12824:131:0;-1:-1:-1;12824:131:0;-1:-1:-1;12824:131:0;-1:-1:-1;12984:28:0;;12824:131;12984:19;:28::i;:::-;-1:-1:-1;;;;;12966:15:0;;;;;;;:7;:15;;;;;;:46;;;;13044:18;;;;;;;:39;;13067:15;13044:22;:39::i;:::-;-1:-1:-1;;;;;13023:18:0;;;;;;:7;:18;;;;;:60;13095:14;13104:4;13095:8;:14::i;:::-;13120:23;13132:4;13138;13120:11;:23::i;:::-;13176:9;-1:-1:-1;;;;;13159:44:0;13168:6;-1:-1:-1;;;;;13159:44:0;;13187:15;13159:44;;;;8620:25:1;;8608:2;8593:18;;8575:76;13159:44:0;;;;;;;;12726:485;;;;;;;;;:::o;15860:262::-;15957:7;;15910;;;;4552:12;16031:20;15957:7;4552:12;16031:11;:20::i;:::-;16021:7;:30;16017:61;;;-1:-1:-1;;16061:7:0;;;4552:12;;-1:-1:-1;15860:262:0;-1:-1:-1;15860:262:0:o;16017:61::-;16097:7;;16106;;-1:-1:-1;15860:262:0;-1:-1:-1;15860:262:0:o;1013:189::-;1099:7;1134:12;1127:5;1119:28;;;;-1:-1:-1;;;1119:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1158:9:0;1170:5;1174:1;1170;:5;:::i;14344:466::-;14403:7;14412;14421;14430;14439;14448;14469:23;14494:12;14508;14524:40;14536:7;14545:8;;14555;;14524:11;:40::i;:::-;14468:96;;;;;;14575:19;14598:10;:8;:10::i;:::-;14575:33;;14620:15;14637:23;14662:12;14678:45;14690:7;14699:4;14705;14711:11;14678;:45::i;:::-;14619:104;;-1:-1:-1;14619:104:0;-1:-1:-1;14619:104:0;-1:-1:-1;14774:15:0;;-1:-1:-1;14791:4:0;;-1:-1:-1;14797:4:0;;-1:-1:-1;;;;;14344:466:0;;;;;;;:::o;277:136::-;335:7;362:43;366:1;369;362:43;;;;;;;;;;;;;;;;;:3;:43::i;90:179::-;148:7;;180:5;184:1;180;:5;:::i;:::-;168:17;;209:1;204;:6;;196:46;;;;-1:-1:-1;;;196:46:0;;5278:2:1;196:46:0;;;5260:21:1;5317:2;5297:18;;;5290:30;5356:29;5336:18;;;5329:57;5403:18;;196:46:0;5250:177:1;13928:207:0;13979:19;14002:10;:8;:10::i;:::-;13979:33;-1:-1:-1;14023:12:0;14038:21;:4;13979:33;14038:8;:21::i;:::-;14111:4;14095:22;;;;:7;:22;;;;;;14023:36;;-1:-1:-1;14095:32:0;;14023:36;14095:26;:32::i;:::-;14086:4;14070:22;;;;:7;:22;;;;;:57;-1:-1:-1;;;13928:207:0:o;14165:147::-;14243:7;;:17;;14255:4;14243:11;:17::i;:::-;14233:7;:27;14284:10;;:20;;14299:4;14284:14;:20::i;:::-;14271:10;:33;-1:-1:-1;;14165:147:0:o;14846:346::-;14938:7;;;;14991:28;15015:3;14991:19;:7;15003:6;14991:11;:19::i;:::-;:23;;:28::i;:::-;14976:43;-1:-1:-1;15030:12:0;15045:28;15069:3;15045:19;:7;15057:6;15045:11;:19::i;:28::-;15030:43;-1:-1:-1;15084:23:0;15110:27;15030:43;15110:17;:7;15122:4;15110:11;:17::i;:::-;:21;;:27::i;:::-;15084:53;15173:4;;-1:-1:-1;15179:4:0;;-1:-1:-1;14846:346:0;;-1:-1:-1;;;;;14846:346:0:o;15228:405::-;15337:7;;;;15393:24;:7;15405:11;15393;:24::i;:::-;15375:42;-1:-1:-1;15428:12:0;15443:21;:4;15452:11;15443:8;:21::i;:::-;15428:36;-1:-1:-1;15475:12:0;15490:21;:4;15499:11;15490:8;:21::i;:::-;15475:36;-1:-1:-1;15522:23:0;15548:27;15475:36;15548:17;:7;15560:4;15548:11;:17::i;:27::-;15594:7;;;;-1:-1:-1;15620:4:0;;-1:-1:-1;15228:405:0;;-1:-1:-1;;;;;;;15228:405:0:o;619:246::-;677:7;701:6;697:47;;-1:-1:-1;731:1:0;724:8;;697:47;754:9;766:5;770:1;766;:5;:::i;:::-;754:17;-1:-1:-1;799:1:0;790:5;794:1;754:17;790:5;:::i;:::-;:10;782:56;;;;-1:-1:-1;;;782:56:0;;6340:2:1;782:56:0;;;6322:21:1;6379:2;6359:18;;;6352:30;6418:34;6398:18;;;6391:62;-1:-1:-1;;;6469:18:1;;;6462:31;6510:19;;782:56:0;6312:223:1;14:257;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:325::-;1484:6;1492;1545:2;1533:9;1524:7;1520:23;1516:32;1513:2;;;1566:6;1558;1551:22;1513:2;1610:9;1597:23;1629:31;1654:5;1629:31;:::i;:::-;1679:5;1731:2;1716:18;;;;1703:32;;-1:-1:-1;;;1503:238:1:o;1746:251::-;1802:6;1855:2;1843:9;1834:7;1830:23;1826:32;1823:2;;;1876:6;1868;1861:22;1823:2;1920:9;1907:23;1939:28;1961:5;1939:28;:::i;2002:255::-;2069:6;2122:2;2110:9;2101:7;2097:23;2093:32;2090:2;;;2143:6;2135;2128:22;2090:2;2180:9;2174:16;2199:28;2221:5;2199:28;:::i;3250:603::-;3362:4;3391:2;3420;3409:9;3402:21;3452:6;3446:13;3495:6;3490:2;3479:9;3475:18;3468:34;3520:4;3533:140;3547:6;3544:1;3541:13;3533:140;;;3642:14;;;3638:23;;3632:30;3608:17;;;3627:2;3604:26;3597:66;3562:10;;3533:140;;;3691:6;3688:1;3685:13;3682:2;;;3761:4;3756:2;3747:6;3736:9;3732:22;3728:31;3721:45;3682:2;-1:-1:-1;3837:2:1;3816:15;-1:-1:-1;;3812:29:1;3797:45;;;;3844:2;3793:54;;3371:482;-1:-1:-1;;;3371:482:1:o;6540:356::-;6742:2;6724:21;;;6761:18;;;6754:30;6820:34;6815:2;6800:18;;6793:62;6887:2;6872:18;;6714:182::o;8656:983::-;8918:4;8966:3;8955:9;8951:19;8997:6;8986:9;8979:25;9023:2;9061:6;9056:2;9045:9;9041:18;9034:34;9104:3;9099:2;9088:9;9084:18;9077:31;9128:6;9163;9157:13;9194:6;9186;9179:22;9232:3;9221:9;9217:19;9210:26;;9271:2;9263:6;9259:15;9245:29;;9292:4;9305:195;9319:6;9316:1;9313:13;9305:195;;;9384:13;;-1:-1:-1;;;;;9380:39:1;9368:52;;9475:15;;;;9440:12;;;;9416:1;9334:9;9305:195;;;-1:-1:-1;;;;;;;9556:32:1;;;;9551:2;9536:18;;9529:60;-1:-1:-1;;;9620:3:1;9605:19;9598:35;9517:3;8927:712;-1:-1:-1;;;8927:712:1:o;9833:128::-;9873:3;9904:1;9900:6;9897:1;9894:13;9891:2;;;9910:18;;:::i;:::-;-1:-1:-1;9946:9:1;;9881:80::o;9966:217::-;10006:1;10032;10022:2;;-1:-1:-1;;;10057:31:1;;10111:4;10108:1;10101:15;10139:4;10064:1;10129:15;10022:2;-1:-1:-1;10168:9:1;;10012:171::o;10188:168::-;10228:7;10294:1;10290;10286:6;10282:14;10279:1;10276:21;10271:1;10264:9;10257:17;10253:45;10250:2;;;10301:18;;:::i;:::-;-1:-1:-1;10341:9:1;;10240:116::o;10361:125::-;10401:4;10429:1;10426;10423:8;10420:2;;;10434:18;;:::i;:::-;-1:-1:-1;10471:9:1;;10410:76::o;10491:127::-;10552:10;10547:3;10543:20;10540:1;10533:31;10583:4;10580:1;10573:15;10607:4;10604:1;10597:15;10623:131;-1:-1:-1;;;;;10698:31:1;;10688:42;;10678:2;;10744:1;10741;10734:12;10678:2;10668:86;:::o;10759:118::-;10845:5;10838:13;10831:21;10824:5;10821:32;10811:2;;10867:1;10864;10857:12
Swarm Source
ipfs://803cdebae334a204ebbb73410a38735d7e24bbafdd24194ea88b693809684d2a
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.