ERC-20
Overview
Max Total Supply
10,000,000,000 CHAPPY
Holders
23
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
8,007,498.891957132 CHAPPYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
CHAPPY
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-29 */ /** **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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 CHAPPY is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private isExile; mapping (address => bool) public marketPair; mapping (uint256 => uint256) private perBuyCount; address payable private _taxWallet; uint256 private firstBlock = 0; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=20; uint256 private _reduceSellTaxAt=20; uint256 private _preventSwapBefore=20; uint256 private _buyCount=0; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 10000000000 * 10**_decimals; string private constant _name = unicode"MAGA DOG"; string private constant _symbol = unicode"CHAPPY"; uint256 public _maxTxAmount = 200000000 * 10**_decimals; uint256 public _maxWalletSize = 200000000 * 10**_decimals; uint256 public _taxSwapThreshold= 100000000 * 10**_decimals; uint256 public _maxTaxSwap= 100000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; uint256 private sellsPerBlock = 3; uint256 private buysFirstBlock = 70; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[address(this)] = _tTotal; isExile[owner()] = true; isExile[address(this)] = true; isExile[address(uniswapV2Pair)] = true; emit Transfer(address(0), address(this), _tTotal); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); marketPair[address(uniswapV2Pair)] = true; isExile[address(uniswapV2Pair)] = true; } 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()) { taxAmount = amount.mul((_buyCount> _reduceBuyTaxAt)? _finalBuyTax: _initialBuyTax).div(100); if(block.number == firstBlock){ require(perBuyCount[block.number] < buysFirstBlock, "Exceeds buys on the first block."); perBuyCount[block.number]++; } if (marketPair[from] && to != address(uniswapV2Router) && ! isExile[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if (!marketPair[to] && ! isExile[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(marketPair[to] && from!= address(this) ){ taxAmount = amount.mul((_buyCount> _reduceSellTaxAt)? _finalSellTax: _initialSellTax).div(100); } if (!marketPair[from] && !marketPair[to] && from!= address(this) ) { taxAmount = 0; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < sellsPerBlock); swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } else if(!inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { 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 sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function rescueETH() external { require(_msgSender() == _taxWallet); payable(_taxWallet).transfer(address(this).balance); } function rescueTokens(address _tokenAddr, uint _amount) external { require(_msgSender() == _taxWallet); IERC20(_tokenAddr).transfer(_taxWallet, _amount); } function isNotRestricted() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function reduceFee(uint256 _newFee) external onlyOwner{ require(_msgSender()==_taxWallet); _finalSellTax=_newFee; } function enableTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); 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; } 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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isNotRestricted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600755601760085560176009555f600a555f600b556014600c556014600d556014600e555f600f555f6010555f6011556009600a6100439190610635565b61005190630bebc20061064a565b6012556100606009600a610635565b61006e90630bebc20061064a565b60135561007d6009600a610635565b61008b906305f5e10061064a565b60145561009a6009600a610635565b6100a8906305f5e10061064a565b60155560036018556046601955601a805461ffff191690553480156100cb575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b0319163317905561012a6009600a610635565b610139906402540be40061064a565b305f9081526001602081905260408220929092556003906101615f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553080825260039094528281208054861660019081179091556017549092168152918220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101e86009600a610635565b6101f7906402540be40061064a565b60405190815260200160405180910390a3601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556102579030906102436009600a610635565b610252906402540be40061064a565b610417565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102cb9190610661565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034e9190610661565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610398573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bc9190610661565b601780546001600160a01b0319166001600160a01b0392831690811782555f908152600460209081526040808320805460ff199081166001908117909255945490951683526003909152902080549091169091179055610687565b6001600160a01b03831661047e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166104df5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610475565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561058d57815f19048211156105735761057361053f565b8085161561058057918102915b93841c9390800290610558565b509250929050565b5f826105a35750600161062f565b816105af57505f61062f565b81600181146105c557600281146105cf576105eb565b600191505061062f565b60ff8411156105e0576105e061053f565b50506001821b61062f565b5060208310610133831016604e8410600b841016171561060e575081810a61062f565b6106188383610553565b805f190482111561062b5761062b61053f565b0290505b92915050565b5f61064360ff841683610595565b9392505050565b808202811582820484141761062f5761062f61053f565b5f60208284031215610671575f80fd5b81516001600160a01b0381168114610643575f80fd5b611a5c806106945f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461037c578063bf474bed1461039b578063dd62ed3e146103b0578063ec1f3f63146103f4578063f2fde38b14610413578063f5b3c3bf14610432575f80fd5b8063715018a6146102e05780637d1db4a5146102f45780638a8c523c146103095780638da5cb5b1461031d5780638f9a55c01461033957806395d89b411461034e575f80fd5b806320800a001161010457806320800a001461020857806323b872dd1461021c578063313ce5671461023b57806349bd5a5e14610256578063573761981461028d57806370a08231146102ac575f80fd5b806301ab6ee51461014a57806306fdde0314610160578063095ea7b3146101a25780630faee56f146101d157806318160ddd146101f4575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015e610460565b005b34801561016b575f80fd5b506040805180820190915260088152674d41474120444f4760c01b60208201525b604051610199919061164f565b60405180910390f35b3480156101ad575f80fd5b506101c16101bc366004611698565b61051d565b6040519015158152602001610199565b3480156101dc575f80fd5b506101e660155481565b604051908152602001610199565b3480156101ff575f80fd5b506101e6610533565b348015610213575f80fd5b5061015e610554565b348015610227575f80fd5b506101c16102363660046116c2565b6105ac565b348015610246575f80fd5b5060405160098152602001610199565b348015610261575f80fd5b50601754610275906001600160a01b031681565b6040516001600160a01b039091168152602001610199565b348015610298575f80fd5b5061015e6102a7366004611698565b610613565b3480156102b7575f80fd5b506101e66102c6366004611700565b6001600160a01b03165f9081526001602052604090205490565b3480156102eb575f80fd5b5061015e6106ab565b3480156102ff575f80fd5b506101e660125481565b348015610314575f80fd5b5061015e61071c565b348015610328575f80fd5b505f546001600160a01b0316610275565b348015610344575f80fd5b506101e660135481565b348015610359575f80fd5b5060408051808201909152600681526543484150505960d01b602082015261018c565b348015610387575f80fd5b506101c1610396366004611698565b610910565b3480156103a6575f80fd5b506101e660145481565b3480156103bb575f80fd5b506101e66103ca36600461171b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ff575f80fd5b5061015e61040e366004611752565b61091c565b34801561041e575f80fd5b5061015e61042d366004611700565b610969565b34801561043d575f80fd5b506101c161044c366004611700565b60046020525f908152604090205460ff1681565b5f546001600160a01b031633146104925760405162461bcd60e51b815260040161048990611769565b60405180910390fd5b61049e6009600a611892565b6104ad906402540be4006118a0565b6012556104bc6009600a611892565b6104cb906402540be4006118a0565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104fb6009600a611892565b61050a906402540be4006118a0565b60405190815260200160405180910390a1565b5f610529338484610a50565b5060015b92915050565b5f6105406009600a611892565b61054f906402540be4006118a0565b905090565b6006546001600160a01b0316336001600160a01b031614610573575f80fd5b6006546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156105a9573d5f803e3d5ffd5b50565b5f6105b8848484610b73565b6106098433610604856040518060600160405280602881526020016119ff602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112d0565b610a50565b5060019392505050565b6006546001600160a01b0316336001600160a01b031614610632575f80fd5b60065460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610682573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a691906118b7565b505050565b5f546001600160a01b031633146106d45760405162461bcd60e51b815260040161048990611769565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107455760405162461bcd60e51b815260040161048990611769565b601754600160a01b900460ff161561079f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610489565b6016546001600160a01b031663f305d71947306107d0816001600160a01b03165f9081526001602052604090205490565b5f806107e35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610849573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061086e91906118d6565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e791906118b7565b50601a805461ff0019166101001790556017805460ff60a01b1916600160a01b17905543600755565b5f610529338484610b73565b5f546001600160a01b031633146109455760405162461bcd60e51b815260040161048990611769565b6006546001600160a01b0316336001600160a01b031614610964575f80fd5b600b55565b5f546001600160a01b031633146109925760405162461bcd60e51b815260040161048990611769565b6001600160a01b0381166109f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610489565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ab25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610489565b6001600160a01b038216610b135760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610489565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bd75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610489565b6001600160a01b038216610c395760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610489565b5f8111610c9a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610489565b5f80546001600160a01b03858116911614801590610cc557505f546001600160a01b03848116911614155b1561119357610cf66064610cf0600c54600f5411610ce557600854610ce9565b600a545b8590611308565b9061138d565b90506007544303610d8057601954435f9081526005602052604090205410610d605760405162461bcd60e51b815260206004820181905260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6044820152606401610489565b435f908152600560205260408120805491610d7a83611901565b91905055505b6001600160a01b0384165f9081526004602052604090205460ff168015610db557506016546001600160a01b03848116911614155b8015610dd957506001600160a01b0383165f9081526003602052604090205460ff16155b15610ebf57601254821115610e305760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610489565b60135482610e52856001600160a01b03165f9081526001602052604090205490565b610e5c9190611919565b1115610eaa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610489565b600f8054905f610eb983611901565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff16158015610eff57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f7e5760135482610f26856001600160a01b03165f9081526001602052604090205490565b610f309190611919565b1115610f7e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610489565b6001600160a01b0383165f9081526004602052604090205460ff168015610fae57506001600160a01b0384163014155b15610fdb57610fd86064610cf0600d54600f5411610fce57600954610ce9565b600b548590611308565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561101b57506001600160a01b0383165f9081526004602052604090205460ff16155b801561103057506001600160a01b0384163014155b1561103857505f5b305f90815260016020526040902054601a5460ff1615801561107157506001600160a01b0384165f9081526004602052604090205460ff165b80156110845750601a54610100900460ff165b8015611091575060145481115b80156110a05750600e54600f54115b1561110e576011544311156110b4575f6010555b601854601054106110c3575f80fd5b6110e06110db846110d6846015546113ce565b6113ce565b6113e2565b4780156110f0576110f047611549565b60108054905f6110ff83611901565b90915550504360115550611191565b601a5460ff1615801561113857506001600160a01b0384165f9081526004602052604090205460ff165b801561114b5750601a54610100900460ff165b8015611158575060145481115b80156111675750600e54600f54115b156111915761117f6110db846110d6846015546113ce565b47801561118f5761118f47611549565b505b505b801561120b57305f908152600160205260409020546111b29082611584565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112029085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461122d90836115e2565b6001600160a01b0385165f9081526001602052604090205561127061125283836115e2565b6001600160a01b0385165f9081526001602052604090205490611584565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112b985856115e2565b60405190815260200160405180910390a350505050565b5f81848411156112f35760405162461bcd60e51b8152600401610489919061164f565b505f6112ff848661192c565b95945050505050565b5f825f0361131757505f61052d565b5f61132283856118a0565b90508261132f858361193f565b146113865760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610489565b9392505050565b5f61138683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611623565b5f8183116113dc5782611386565b50919050565b601a805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114225761142261195e565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611479573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149d9190611972565b816001815181106114b0576114b061195e565b6001600160a01b0392831660209182029290920101526016546114d69130911684610a50565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061150e9085905f9086903090429060040161198d565b5f604051808303815f87803b158015611525575f80fd5b505af1158015611537573d5f803e3d5ffd5b5050601a805460ff1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611580573d5f803e3d5ffd5b5050565b5f806115908385611919565b9050838110156113865760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610489565b5f61138683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112d0565b5f81836116435760405162461bcd60e51b8152600401610489919061164f565b505f6112ff848661193f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105a9575f80fd5b5f80604083850312156116a9575f80fd5b82356116b481611684565b946020939093013593505050565b5f805f606084860312156116d4575f80fd5b83356116df81611684565b925060208401356116ef81611684565b929592945050506040919091013590565b5f60208284031215611710575f80fd5b813561138681611684565b5f806040838503121561172c575f80fd5b823561173781611684565b9150602083013561174781611684565b809150509250929050565b5f60208284031215611762575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117ec57815f19048211156117d2576117d261179e565b808516156117df57918102915b93841c93908002906117b7565b509250929050565b5f826118025750600161052d565b8161180e57505f61052d565b8160018114611824576002811461182e5761184a565b600191505061052d565b60ff84111561183f5761183f61179e565b50506001821b61052d565b5060208310610133831016604e8410600b841016171561186d575081810a61052d565b61187783836117b2565b805f190482111561188a5761188a61179e565b029392505050565b5f61138660ff8416836117f4565b808202811582820484141761052d5761052d61179e565b5f602082840312156118c7575f80fd5b81518015158114611386575f80fd5b5f805f606084860312156118e8575f80fd5b8351925060208401519150604084015190509250925092565b5f600182016119125761191261179e565b5060010190565b8082018082111561052d5761052d61179e565b8181038181111561052d5761052d61179e565b5f8261195957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611982575f80fd5b815161138681611684565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119dd5784516001600160a01b0316835293830193918301916001016119b8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220140de3b70446246891aa57399baa1045842c9bef62ed8eacbd0ab8862a1ca97c64736f6c63430008190033
Deployed Bytecode
0x60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461037c578063bf474bed1461039b578063dd62ed3e146103b0578063ec1f3f63146103f4578063f2fde38b14610413578063f5b3c3bf14610432575f80fd5b8063715018a6146102e05780637d1db4a5146102f45780638a8c523c146103095780638da5cb5b1461031d5780638f9a55c01461033957806395d89b411461034e575f80fd5b806320800a001161010457806320800a001461020857806323b872dd1461021c578063313ce5671461023b57806349bd5a5e14610256578063573761981461028d57806370a08231146102ac575f80fd5b806301ab6ee51461014a57806306fdde0314610160578063095ea7b3146101a25780630faee56f146101d157806318160ddd146101f4575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015e610460565b005b34801561016b575f80fd5b506040805180820190915260088152674d41474120444f4760c01b60208201525b604051610199919061164f565b60405180910390f35b3480156101ad575f80fd5b506101c16101bc366004611698565b61051d565b6040519015158152602001610199565b3480156101dc575f80fd5b506101e660155481565b604051908152602001610199565b3480156101ff575f80fd5b506101e6610533565b348015610213575f80fd5b5061015e610554565b348015610227575f80fd5b506101c16102363660046116c2565b6105ac565b348015610246575f80fd5b5060405160098152602001610199565b348015610261575f80fd5b50601754610275906001600160a01b031681565b6040516001600160a01b039091168152602001610199565b348015610298575f80fd5b5061015e6102a7366004611698565b610613565b3480156102b7575f80fd5b506101e66102c6366004611700565b6001600160a01b03165f9081526001602052604090205490565b3480156102eb575f80fd5b5061015e6106ab565b3480156102ff575f80fd5b506101e660125481565b348015610314575f80fd5b5061015e61071c565b348015610328575f80fd5b505f546001600160a01b0316610275565b348015610344575f80fd5b506101e660135481565b348015610359575f80fd5b5060408051808201909152600681526543484150505960d01b602082015261018c565b348015610387575f80fd5b506101c1610396366004611698565b610910565b3480156103a6575f80fd5b506101e660145481565b3480156103bb575f80fd5b506101e66103ca36600461171b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ff575f80fd5b5061015e61040e366004611752565b61091c565b34801561041e575f80fd5b5061015e61042d366004611700565b610969565b34801561043d575f80fd5b506101c161044c366004611700565b60046020525f908152604090205460ff1681565b5f546001600160a01b031633146104925760405162461bcd60e51b815260040161048990611769565b60405180910390fd5b61049e6009600a611892565b6104ad906402540be4006118a0565b6012556104bc6009600a611892565b6104cb906402540be4006118a0565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104fb6009600a611892565b61050a906402540be4006118a0565b60405190815260200160405180910390a1565b5f610529338484610a50565b5060015b92915050565b5f6105406009600a611892565b61054f906402540be4006118a0565b905090565b6006546001600160a01b0316336001600160a01b031614610573575f80fd5b6006546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156105a9573d5f803e3d5ffd5b50565b5f6105b8848484610b73565b6106098433610604856040518060600160405280602881526020016119ff602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112d0565b610a50565b5060019392505050565b6006546001600160a01b0316336001600160a01b031614610632575f80fd5b60065460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610682573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a691906118b7565b505050565b5f546001600160a01b031633146106d45760405162461bcd60e51b815260040161048990611769565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107455760405162461bcd60e51b815260040161048990611769565b601754600160a01b900460ff161561079f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610489565b6016546001600160a01b031663f305d71947306107d0816001600160a01b03165f9081526001602052604090205490565b5f806107e35f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610849573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061086e91906118d6565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e791906118b7565b50601a805461ff0019166101001790556017805460ff60a01b1916600160a01b17905543600755565b5f610529338484610b73565b5f546001600160a01b031633146109455760405162461bcd60e51b815260040161048990611769565b6006546001600160a01b0316336001600160a01b031614610964575f80fd5b600b55565b5f546001600160a01b031633146109925760405162461bcd60e51b815260040161048990611769565b6001600160a01b0381166109f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610489565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ab25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610489565b6001600160a01b038216610b135760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610489565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bd75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610489565b6001600160a01b038216610c395760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610489565b5f8111610c9a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610489565b5f80546001600160a01b03858116911614801590610cc557505f546001600160a01b03848116911614155b1561119357610cf66064610cf0600c54600f5411610ce557600854610ce9565b600a545b8590611308565b9061138d565b90506007544303610d8057601954435f9081526005602052604090205410610d605760405162461bcd60e51b815260206004820181905260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6044820152606401610489565b435f908152600560205260408120805491610d7a83611901565b91905055505b6001600160a01b0384165f9081526004602052604090205460ff168015610db557506016546001600160a01b03848116911614155b8015610dd957506001600160a01b0383165f9081526003602052604090205460ff16155b15610ebf57601254821115610e305760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610489565b60135482610e52856001600160a01b03165f9081526001602052604090205490565b610e5c9190611919565b1115610eaa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610489565b600f8054905f610eb983611901565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff16158015610eff57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f7e5760135482610f26856001600160a01b03165f9081526001602052604090205490565b610f309190611919565b1115610f7e5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610489565b6001600160a01b0383165f9081526004602052604090205460ff168015610fae57506001600160a01b0384163014155b15610fdb57610fd86064610cf0600d54600f5411610fce57600954610ce9565b600b548590611308565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561101b57506001600160a01b0383165f9081526004602052604090205460ff16155b801561103057506001600160a01b0384163014155b1561103857505f5b305f90815260016020526040902054601a5460ff1615801561107157506001600160a01b0384165f9081526004602052604090205460ff165b80156110845750601a54610100900460ff165b8015611091575060145481115b80156110a05750600e54600f54115b1561110e576011544311156110b4575f6010555b601854601054106110c3575f80fd5b6110e06110db846110d6846015546113ce565b6113ce565b6113e2565b4780156110f0576110f047611549565b60108054905f6110ff83611901565b90915550504360115550611191565b601a5460ff1615801561113857506001600160a01b0384165f9081526004602052604090205460ff165b801561114b5750601a54610100900460ff165b8015611158575060145481115b80156111675750600e54600f54115b156111915761117f6110db846110d6846015546113ce565b47801561118f5761118f47611549565b505b505b801561120b57305f908152600160205260409020546111b29082611584565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112029085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461122d90836115e2565b6001600160a01b0385165f9081526001602052604090205561127061125283836115e2565b6001600160a01b0385165f9081526001602052604090205490611584565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112b985856115e2565b60405190815260200160405180910390a350505050565b5f81848411156112f35760405162461bcd60e51b8152600401610489919061164f565b505f6112ff848661192c565b95945050505050565b5f825f0361131757505f61052d565b5f61132283856118a0565b90508261132f858361193f565b146113865760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610489565b9392505050565b5f61138683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611623565b5f8183116113dc5782611386565b50919050565b601a805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114225761142261195e565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611479573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149d9190611972565b816001815181106114b0576114b061195e565b6001600160a01b0392831660209182029290920101526016546114d69130911684610a50565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac9479061150e9085905f9086903090429060040161198d565b5f604051808303815f87803b158015611525575f80fd5b505af1158015611537573d5f803e3d5ffd5b5050601a805460ff1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611580573d5f803e3d5ffd5b5050565b5f806115908385611919565b9050838110156113865760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610489565b5f61138683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112d0565b5f81836116435760405162461bcd60e51b8152600401610489919061164f565b505f6112ff848661193f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105a9575f80fd5b5f80604083850312156116a9575f80fd5b82356116b481611684565b946020939093013593505050565b5f805f606084860312156116d4575f80fd5b83356116df81611684565b925060208401356116ef81611684565b929592945050506040919091013590565b5f60208284031215611710575f80fd5b813561138681611684565b5f806040838503121561172c575f80fd5b823561173781611684565b9150602083013561174781611684565b809150509250929050565b5f60208284031215611762575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117ec57815f19048211156117d2576117d261179e565b808516156117df57918102915b93841c93908002906117b7565b509250929050565b5f826118025750600161052d565b8161180e57505f61052d565b8160018114611824576002811461182e5761184a565b600191505061052d565b60ff84111561183f5761183f61179e565b50506001821b61052d565b5060208310610133831016604e8410600b841016171561186d575081810a61052d565b61187783836117b2565b805f190482111561188a5761188a61179e565b029392505050565b5f61138660ff8416836117f4565b808202811582820484141761052d5761052d61179e565b5f602082840312156118c7575f80fd5b81518015158114611386575f80fd5b5f805f606084860312156118e8575f80fd5b8351925060208401519150604084015190509250925092565b5f600182016119125761191261179e565b5060010190565b8082018082111561052d5761052d61179e565b8181038181111561052d5761052d61179e565b5f8261195957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611982575f80fd5b815161138681611684565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119dd5784516001600160a01b0316835293830193918301916001016119b8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220140de3b70446246891aa57399baa1045842c9bef62ed8eacbd0ab8862a1ca97c64736f6c63430008190033
Deployed Bytecode Sourcemap
3741:8971:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11932:162;;;;;;;;;;;;;:::i;:::-;;6186:83;;;;;;;;;;-1:-1:-1;6256:5:0;;;;;;;;;;;;-1:-1:-1;;;6256:5:0;;;;6186:83;;;;;;;:::i;:::-;;;;;;;;7019:161;;;;;;;;;;-1:-1:-1;7019:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;7019:161:0;893:187:1;5004:53:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;5004:53:0;1085:177:1;6463:95:0;;;;;;;;;;;;;:::i;11592:146::-;;;;;;;;;;;;;:::i;7188:313::-;;;;;;;;;;-1:-1:-1;7188:313:0;;;;;:::i;:::-;;:::i;6372:83::-;;;;;;;;;;-1:-1:-1;6372:83:0;;4621:1;1870:36:1;;1858:2;1843:18;6372:83:0;1728:184:1;5115:28:0;;;;;;;;;;-1:-1:-1;5115:28:0;;;;-1:-1:-1;;;;;5115:28:0;;;;;;-1:-1:-1;;;;;2081:32:1;;;2063:51;;2051:2;2036:18;5115:28:0;1917:203:1;11746:178:0;;;;;;;;;;-1:-1:-1;11746:178:0;;;;;:::i;:::-;;:::i;6566:119::-;;;;;;;;;;-1:-1:-1;6566:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6659:18:0;6632:7;6659:18;;;:9;:18;;;;;;;6566:119;2572:148;;;;;;;;;;;;;:::i;4810:57::-;;;;;;;;;;;;;;;;12244:428;;;;;;;;;;;;;:::i;2358:79::-;;;;;;;;;;-1:-1:-1;2396:7:0;2423:6;-1:-1:-1;;;;;2423:6:0;2358:79;;4874:57;;;;;;;;;;;;;;;;6277:87;;;;;;;;;;-1:-1:-1;6349:7:0;;;;;;;;;;;;-1:-1:-1;;;6349:7:0;;;;6277:87;;6693:167;;;;;;;;;;-1:-1:-1;6693:167:0;;;;;:::i;:::-;;:::i;4938:59::-;;;;;;;;;;;;;;;;6868:143;;;;;;;;;;-1:-1:-1;6868:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6976:18:0;;;6949:7;6976:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6868:143;12102:134;;;;;;;;;;-1:-1:-1;12102:134:0;;;;;:::i;:::-;;:::i;2728:244::-;;;;;;;;;;-1:-1:-1;2728:244:0;;;;;:::i;:::-;;:::i;4002:43::-;;;;;;;;;;-1:-1:-1;4002:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11932:162;2485:6;;-1:-1:-1;;;;;2485:6:0;193:10;2485:22;2477:67;;;;-1:-1:-1;;;2477:67:0;;;;;;;:::i;:::-;;;;;;;;;4678:13:::1;4621:1;4678:2;:13;:::i;:::-;4664:27;::::0;:11:::1;:27;:::i;:::-;11988:12;:22:::0;4678:13:::1;4621:1;4678:2;:13;:::i;:::-;4664:27;::::0;:11:::1;:27;:::i;:::-;12021:14;:22:::0;12059:27:::1;4678:13;4621:1;4678:2;:13;:::i;:::-;4664:27;::::0;:11:::1;:27;:::i;:::-;12059;::::0;1231:25:1;;;1219:2;1204:18;12059:27:0::1;;;;;;;11932:162::o:0;7019:161::-;7094:4;7111:39;193:10;7134:7;7143:6;7111:8;:39::i;:::-;-1:-1:-1;7168:4:0;7019:161;;;;;:::o;6463:95::-;6516:7;4678:13;4621:1;4678:2;:13;:::i;:::-;4664:27;;:11;:27;:::i;:::-;6536:14;;6463:95;:::o;11592:146::-;11657:10;;-1:-1:-1;;;;;11657:10:0;193;-1:-1:-1;;;;;11641:26:0;;11633:35;;;;;;11687:10;;11679:51;;-1:-1:-1;;;;;11687:10:0;;;;11708:21;11679:51;;;;;11687:10;11679:51;11687:10;11679:51;11708:21;11687:10;11679:51;;;;;;;;;;;;;;;;;;;;;11592:146::o;7188:313::-;7286:4;7303:36;7313:6;7321:9;7332:6;7303:9;:36::i;:::-;7350:121;7359:6;193:10;7381:89;7419:6;7381:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7381:19:0;;;;;;:11;:19;;;;;;;;193:10;7381:33;;;;;;;;;;:37;:89::i;:::-;7350:8;:121::i;:::-;-1:-1:-1;7489:4:0;7188:313;;;;;:::o;11746:178::-;11846:10;;-1:-1:-1;;;;;11846:10:0;193;-1:-1:-1;;;;;11830:26:0;;11822:35;;;;;;11896:10;;11868:48;;-1:-1:-1;;;11868:48:0;;-1:-1:-1;;;;;11896:10:0;;;11868:48;;;5180:51:1;5247:18;;;5240:34;;;11868:27:0;;;;;;5153:18:1;;11868:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11746:178;;:::o;2572:148::-;2485:6;;-1:-1:-1;;;;;2485:6:0;193:10;2485:22;2477:67;;;;-1:-1:-1;;;2477:67:0;;;;;;;:::i;:::-;2679:1:::1;2663:6:::0;;2642:40:::1;::::0;-1:-1:-1;;;;;2663:6:0;;::::1;::::0;2642:40:::1;::::0;2679:1;;2642:40:::1;2710:1;2693:19:::0;;-1:-1:-1;;;;;;2693:19:0::1;::::0;;2572:148::o;12244:428::-;2485:6;;-1:-1:-1;;;;;2485:6:0;193:10;2485:22;2477:67;;;;-1:-1:-1;;;2477:67:0;;;;;;;:::i;:::-;12310:11:::1;::::0;-1:-1:-1;;;12310:11:0;::::1;;;12309:12;12301:47;;;::::0;-1:-1:-1;;;12301:47:0;;5769:2:1;12301:47:0::1;::::0;::::1;5751:21:1::0;5808:2;5788:18;;;5781:30;5847:25;5827:18;;;5820:53;5890:18;;12301:47:0::1;5567:347:1::0;12301:47:0::1;12359:15;::::0;-1:-1:-1;;;;;12359:15:0::1;:31;12398:21;12429:4;12435:24;12429:4:::0;-1:-1:-1;;;;;6659:18:0;6632:7;6659:18;;;:9;:18;;;;;;;6566:119;12435:24:::1;12460:1;12462::::0;12464:7:::1;2396::::0;2423:6;-1:-1:-1;;;;;2423:6:0;;2358:79;12464:7:::1;12359:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12359:129:0;;;-1:-1:-1;;;;;6278:15:1;;;12359:129:0::1;::::0;::::1;6260:34:1::0;6310:18;;;6303:34;;;;6353:18;;;6346:34;;;;6396:18;;;6389:34;6460:15;;;6439:19;;;6432:44;12472:15:0::1;6492:19:1::0;;;6485:35;6194:19;;12359:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12506:13:0::1;::::0;12537:15:::1;::::0;12499:71:::1;::::0;-1:-1:-1;;;12499:71:0;;-1:-1:-1;;;;;12537:15:0;;::::1;12499:71;::::0;::::1;5180:51:1::0;-1:-1:-1;;5247:18:1;;;5240:34;12506:13:0;::::1;::::0;-1:-1:-1;12499:29:0::1;::::0;5153:18:1;;12499:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12581:11:0::1;:18:::0;;-1:-1:-1;;12581:18:0::1;;;::::0;;12610:11:::1;:18:::0;;-1:-1:-1;;;;12610:18:0::1;-1:-1:-1::0;;;12610:18:0::1;::::0;;12652:12:::1;12639:10;:25:::0;12244:428::o;6693:167::-;6771:4;6788:42;193:10;6812:9;6823:6;6788:9;:42::i;12102:134::-;2485:6;;-1:-1:-1;;;;;2485:6:0;193:10;2485:22;2477:67;;;;-1:-1:-1;;;2477:67:0;;;;;;;:::i;:::-;12187:10:::1;::::0;-1:-1:-1;;;;;12187:10:0::1;193::::0;-1:-1:-1;;;;;12173:24:0::1;;12165:33;;;::::0;::::1;;12207:13;:21:::0;12102:134::o;2728:244::-;2485:6;;-1:-1:-1;;;;;2485:6:0;193:10;2485:22;2477:67;;;;-1:-1:-1;;;2477:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2817:22:0;::::1;2809:73;;;::::0;-1:-1:-1;;;2809:73:0;;7323:2:1;2809:73:0::1;::::0;::::1;7305:21:1::0;7362:2;7342:18;;;7335:30;7401:34;7381:18;;;7374:62;-1:-1:-1;;;7452:18:1;;;7445:36;7498:19;;2809:73:0::1;7121:402:1::0;2809:73:0::1;2919:6;::::0;;2898:38:::1;::::0;-1:-1:-1;;;;;2898:38:0;;::::1;::::0;2919:6;::::1;::::0;2898:38:::1;::::0;::::1;2947:6;:17:::0;;-1:-1:-1;;;;;;2947:17:0::1;-1:-1:-1::0;;;;;2947:17:0;;;::::1;::::0;;;::::1;::::0;;2728:244::o;7509:335::-;-1:-1:-1;;;;;7602:19:0;;7594:68;;;;-1:-1:-1;;;7594:68:0;;7730:2:1;7594:68:0;;;7712:21:1;7769:2;7749:18;;;7742:30;7808:34;7788:18;;;7781:62;-1:-1:-1;;;7859:18:1;;;7852:34;7903:19;;7594:68:0;7528:400:1;7594:68:0;-1:-1:-1;;;;;7681:21:0;;7673:68;;;;-1:-1:-1;;;7673:68:0;;8135:2:1;7673:68:0;;;8117:21:1;8174:2;8154:18;;;8147:30;8213:34;8193:18;;;8186:62;-1:-1:-1;;;8264:18:1;;;8257:32;8306:19;;7673:68:0;7933:398:1;7673:68:0;-1:-1:-1;;;;;7752:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7804:32;;1231:25:1;;;7804:32:0;;1204:18:1;7804:32:0;;;;;;;7509:335;;;:::o;7852:3033::-;-1:-1:-1;;;;;7940:18:0;;7932:68;;;;-1:-1:-1;;;7932:68:0;;8538:2:1;7932:68:0;;;8520:21:1;8577:2;8557:18;;;8550:30;8616:34;8596:18;;;8589:62;-1:-1:-1;;;8667:18:1;;;8660:35;8712:19;;7932:68:0;8336:401:1;7932:68:0;-1:-1:-1;;;;;8019:16:0;;8011:64;;;;-1:-1:-1;;;8011:64:0;;8944:2:1;8011:64:0;;;8926:21:1;8983:2;8963:18;;;8956:30;9022:34;9002:18;;;8995:62;-1:-1:-1;;;9073:18:1;;;9066:33;9116:19;;8011:64:0;8742:399:1;8011:64:0;8103:1;8094:6;:10;8086:64;;;;-1:-1:-1;;;8086:64:0;;9348:2:1;8086:64:0;;;9330:21:1;9387:2;9367:18;;;9360:30;9426:34;9406:18;;;9399:62;-1:-1:-1;;;9477:18:1;;;9470:39;9526:19;;8086:64:0;9146:405:1;8086:64:0;8161:17;2423:6;;-1:-1:-1;;;;;8197:15:0;;;2423:6;;8197:15;;;;:32;;-1:-1:-1;2396:7:0;2423:6;-1:-1:-1;;;;;8216:13:0;;;2423:6;;8216:13;;8197:32;8193:2336;;;8258:79;8333:3;8258:70;8281:15;;8270:9;;:26;8269:58;;8313:14;;8269:58;;;8299:12;;8269:58;8258:6;;:10;:70::i;:::-;:74;;:79::i;:::-;8246:91;;8373:10;;8357:12;:26;8354:196;;8438:14;;8422:12;8410:25;;;;:11;:25;;;;;;:42;8402:87;;;;-1:-1:-1;;;8402:87:0;;9758:2:1;8402:87:0;;;9740:21:1;;;9777:18;;;9770:30;9836:34;9816:18;;;9809:62;9888:18;;8402:87:0;9556:356:1;8402:87:0;8519:12;8507:25;;;;:11;:25;;;;;:27;;;;;;:::i;:::-;;;;;;8354:196;-1:-1:-1;;;;;8570:16:0;;;;;;:10;:16;;;;;;;;:50;;;;-1:-1:-1;8604:15:0;;-1:-1:-1;;;;;8590:30:0;;;8604:15;;8590:30;;8570:50;:67;;;;-1:-1:-1;;;;;;8626:11:0;;;;;;:7;:11;;;;;;;;8624:13;8570:67;8566:297;;;8677:12;;8667:6;:22;;8659:60;;;;-1:-1:-1;;;8659:60:0;;10259:2:1;8659:60:0;;;10241:21:1;10298:2;10278:18;;;10271:30;10337:27;10317:18;;;10310:55;10382:18;;8659:60:0;10057:349:1;8659:60:0;8772:14;;8762:6;8746:13;8756:2;-1:-1:-1;;;;;6659:18:0;6632:7;6659:18;;;:9;:18;;;;;;;6566:119;8746:13;:22;;;;:::i;:::-;:40;;8738:79;;;;-1:-1:-1;;;8738:79:0;;10743:2:1;8738:79:0;;;10725:21:1;10782:2;10762:18;;;10755:30;10821:28;10801:18;;;10794:56;10867:18;;8738:79:0;10541:350:1;8738:79:0;8836:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8566:297;-1:-1:-1;;;;;8884:14:0;;;;;;:10;:14;;;;;;;;8883:15;:32;;;;-1:-1:-1;;;;;;8904:11:0;;;;;;:7;:11;;;;;;;;8902:13;8883:32;8879:152;;;8970:14;;8960:6;8944:13;8954:2;-1:-1:-1;;;;;6659:18:0;6632:7;6659:18;;;:9;:18;;;;;;;6566:119;8944:13;:22;;;;:::i;:::-;:40;;8936:79;;;;-1:-1:-1;;;8936:79:0;;10743:2:1;8936:79:0;;;10725:21:1;10782:2;10762:18;;;10755:30;10821:28;10801:18;;;10794:56;10867:18;;8936:79:0;10541:350:1;8936:79:0;-1:-1:-1;;;;;9050:14:0;;;;;;:10;:14;;;;;;;;:38;;;;-1:-1:-1;;;;;;9068:20:0;;9083:4;9068:20;;9050:38;9047:172;;;9121:82;9199:3;9121:73;9144:16;;9133:9;;:27;9132:61;;9178:15;;9132:61;;;9163:13;;9121:6;;:10;:73::i;:82::-;9109:94;;9047:172;-1:-1:-1;;;;;9236:16:0;;;;;;:10;:16;;;;;;;;9235:17;:36;;;;-1:-1:-1;;;;;;9257:14:0;;;;;;:10;:14;;;;;;;;9256:15;9235:36;:60;;;;-1:-1:-1;;;;;;9275:20:0;;9290:4;9275:20;;9235:60;9231:115;;;-1:-1:-1;9329:1:0;9231:115;9411:4;9362:28;6659:18;;;:9;:18;;;;;;9437:6;;;;9436:7;:25;;;;-1:-1:-1;;;;;;9447:14:0;;;;;;:10;:14;;;;;;;;9436:25;:40;;;;-1:-1:-1;9465:11:0;;;;;;;9436:40;:82;;;;;9501:17;;9480:20;:38;9436:82;:114;;;;;9532:18;;9522:9;;:28;9436:114;9432:1086;;;9590:13;;9575:12;:28;9571:90;;;9640:1;9628:9;:13;9571:90;9699:13;;9687:9;;:25;9679:34;;;;;;9732:67;9749:49;9753:6;9760:37;9764:20;9785:11;;9760:3;:37::i;:::-;9749:3;:49::i;:::-;9732:16;:67::i;:::-;9847:21;9890:22;;9887:105;;9937:35;9950:21;9937:12;:35::i;:::-;10010:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10056:12:0;10040:13;:28;-1:-1:-1;9432:1086:0;;;10109:6;;;;10108:7;:25;;;;-1:-1:-1;;;;;;10119:14:0;;;;;;:10;:14;;;;;;;;10108:25;:40;;;;-1:-1:-1;10137:11:0;;;;;;;10108:40;:82;;;;;10173:17;;10152:20;:38;10108:82;:114;;;;;10204:18;;10194:9;;:28;10108:114;10105:413;;;10243:67;10260:49;10264:6;10271:37;10275:20;10296:11;;10271:3;:37::i;10243:67::-;10358:21;10401:22;;10398:105;;10448:35;10461:21;10448:12;:35::i;:::-;10224:294;10105:413;8231:2298;8193:2336;10544:11;;10541:161;;10612:4;10594:24;;;;:9;:24;;;;;;:39;;10623:9;10594:28;:39::i;:::-;10587:4;10569:24;;;;:9;:24;;;;;;;:64;;;;10651:39;;-1:-1:-1;;;;;10651:39:0;;;;;;;10680:9;1231:25:1;;1219:2;1204:18;;1085:177;10651:39:0;;;;;;;;10541:161;-1:-1:-1;;;;;10728:15:0;;;;;;:9;:15;;;;;;:27;;10748:6;10728:19;:27::i;:::-;-1:-1:-1;;;;;10712:15:0;;;;;;:9;:15;;;;;:43;10780:40;10798:21;:6;10809:9;10798:10;:21::i;:::-;-1:-1:-1;;;;;10780:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10766:13:0;;;;;;;:9;:13;;;;;:54;;;;10836:41;;;10855:21;:6;10866:9;10855:10;:21::i;:::-;10836:41;;1231:25:1;;;1219:2;1204:18;10836:41:0;;;;;;;7921:2964;7852:3033;;;:::o;1250:190::-;1336:7;1372:12;1364:6;;;;1356:29;;;;-1:-1:-1;;;1356:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1396:9:0;1408:5;1412:1;1408;:5;:::i;:::-;1396:17;1250:190;-1:-1:-1;;;;;1250:190:0:o;1448:246::-;1506:7;1530:1;1535;1530:6;1526:47;;-1:-1:-1;1560:1:0;1553:8;;1526:47;1583:9;1595:5;1599:1;1595;:5;:::i;:::-;1583:17;-1:-1:-1;1628:1:0;1619:5;1623:1;1583:17;1619:5;:::i;:::-;:10;1611:56;;;;-1:-1:-1;;;1611:56:0;;11453:2:1;1611:56:0;;;11435:21:1;11492:2;11472:18;;;11465:30;11531:34;11511:18;;;11504:62;-1:-1:-1;;;11582:18:1;;;11575:31;11623:19;;1611:56:0;11251:397:1;1611:56:0;1685:1;1448:246;-1:-1:-1;;;1448:246:0:o;1702:132::-;1760:7;1787:39;1791:1;1794;1787:39;;;;;;;;;;;;;;;;;:3;:39::i;10895:98::-;10952:7;10979:1;10977;:3;10976:9;;10984:1;10976:9;;;-1:-1:-1;10982:1:0;10895:98;-1:-1:-1;10895:98:0:o;11001:483::-;5420:6;:13;;-1:-1:-1;;5420:13:0;5429:4;5420:13;;;11103:16:::1;::::0;;11117:1:::1;11103:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11103:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11103:16:0::1;11079:40;;11148:4;11130;11135:1;11130:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11130:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11174:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11174:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11130:7;;11174:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11164:4;11169:1;11164:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11164:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11239:15:::1;::::0;11207:62:::1;::::0;11224:4:::1;::::0;11239:15:::1;11257:11:::0;11207:8:::1;:62::i;:::-;11280:15;::::0;:196:::1;::::0;-1:-1:-1;;;11280:196:0;;-1:-1:-1;;;;;11280:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11361:11;;11280:15:::1;::::0;11403:4;;11430::::1;::::0;11450:15:::1;::::0;11280:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5456:6:0;:14;;-1:-1:-1;;5456:14:0;;;-1:-1:-1;;;;11001:483:0:o;11492:92::-;11549:10;;:27;;-1:-1:-1;;;;;11549:10:0;;;;:27;;;;;11569:6;;11549:10;:27;:10;:27;11569:6;11549:10;:27;;;;;;;;;;;;;;;;;;;;;11492:92;:::o;919:179::-;977:7;;1009:5;1013:1;1009;:5;:::i;:::-;997:17;;1038:1;1033;:6;;1025:46;;;;-1:-1:-1;;;1025:46:0;;13360:2:1;1025:46:0;;;13342:21:1;13399:2;13379:18;;;13372:30;13438:29;13418:18;;;13411:57;13485:18;;1025:46:0;13158:351:1;1106:136:0;1164:7;1191:43;1195:1;1198;1191:43;;;;;;;;;;;;;;;;;:3;:43::i;1842:189::-;1928:7;1963:12;1956:5;1948:28;;;;-1:-1:-1;;;1948:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1987:9:0;1999:5;2003:1;1999;: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:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;2125:247::-;2184:6;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;2292:9;2279:23;2311:31;2336:5;2311:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:180::-;2829:6;2882:2;2870:9;2861:7;2857:23;2853:32;2850:52;;;2898:1;2895;2888:12;2850:52;-1:-1:-1;2921:23:1;;2770:180;-1:-1:-1;2770:180:1:o;2955:356::-;3157:2;3139:21;;;3176:18;;;3169:30;3235:34;3230:2;3215:18;;3208:62;3302:2;3287:18;;2955:356::o;3316:127::-;3377:10;3372:3;3368:20;3365:1;3358:31;3408:4;3405:1;3398:15;3432:4;3429:1;3422:15;3448:416;3537:1;3574:5;3537:1;3588:270;3609:7;3599:8;3596:21;3588:270;;;3668:4;3664:1;3660:6;3656:17;3650:4;3647:27;3644:53;;;3677:18;;:::i;:::-;3727:7;3717:8;3713:22;3710:55;;;3747:16;;;;3710:55;3826:22;;;;3786:15;;;;3588:270;;;3592:3;3448:416;;;;;:::o;3869:806::-;3918:5;3948:8;3938:80;;-1:-1:-1;3989:1:1;4003:5;;3938:80;4037:4;4027:76;;-1:-1:-1;4074:1:1;4088:5;;4027:76;4119:4;4137:1;4132:59;;;;4205:1;4200:130;;;;4112:218;;4132:59;4162:1;4153:10;;4176:5;;;4200:130;4237:3;4227:8;4224:17;4221:43;;;4244:18;;:::i;:::-;-1:-1:-1;;4300:1:1;4286:16;;4315:5;;4112:218;;4414:2;4404:8;4401:16;4395:3;4389:4;4386:13;4382:36;4376:2;4366:8;4363:16;4358:2;4352:4;4349:12;4345:35;4342:77;4339:159;;;-1:-1:-1;4451:19:1;;;4483:5;;4339:159;4530:34;4555:8;4549:4;4530:34;:::i;:::-;4600:6;4596:1;4592:6;4588:19;4579:7;4576:32;4573:58;;;4611:18;;:::i;:::-;4649:20;;3869:806;-1:-1:-1;;;3869:806:1:o;4680:140::-;4738:5;4767:47;4808:4;4798:8;4794:19;4788:4;4767:47;:::i;4825:168::-;4898:9;;;4929;;4946:15;;;4940:22;;4926:37;4916:71;;4967:18;;:::i;5285:277::-;5352:6;5405:2;5393:9;5384:7;5380:23;5376:32;5373:52;;;5421:1;5418;5411:12;5373:52;5453:9;5447:16;5506:5;5499:13;5492:21;5485:5;5482:32;5472:60;;5528:1;5525;5518:12;6531:306;6619:6;6627;6635;6688:2;6676:9;6667:7;6663:23;6659:32;6656:52;;;6704:1;6701;6694:12;6656:52;6733:9;6727:16;6717:26;;6783:2;6772:9;6768:18;6762:25;6752:35;;6827:2;6816:9;6812:18;6806:25;6796:35;;6531:306;;;;;:::o;9917:135::-;9956:3;9977:17;;;9974:43;;9997:18;;:::i;:::-;-1:-1:-1;10044:1:1;10033:13;;9917:135::o;10411:125::-;10476:9;;;10497:10;;;10494:36;;;10510:18;;:::i;10896:128::-;10963:9;;;10984:11;;;10981:37;;;10998:18;;:::i;11029:217::-;11069:1;11095;11085:132;;11139:10;11134:3;11130:20;11127:1;11120:31;11174:4;11171:1;11164:15;11202:4;11199:1;11192:15;11085:132;-1:-1:-1;11231:9:1;;11029:217::o;11785:127::-;11846:10;11841:3;11837:20;11834:1;11827:31;11877:4;11874:1;11867:15;11901:4;11898:1;11891:15;11917:251;11987:6;12040:2;12028:9;12019:7;12015:23;12011:32;12008:52;;;12056:1;12053;12046:12;12008:52;12088:9;12082:16;12107:31;12132:5;12107:31;:::i;12173:980::-;12435:4;12483:3;12472:9;12468:19;12514:6;12503:9;12496:25;12540:2;12578:6;12573:2;12562:9;12558:18;12551:34;12621:3;12616:2;12605:9;12601:18;12594:31;12645:6;12680;12674:13;12711:6;12703;12696:22;12749:3;12738:9;12734:19;12727:26;;12788:2;12780:6;12776:15;12762:29;;12809:1;12819:195;12833:6;12830:1;12827:13;12819:195;;;12898:13;;-1:-1:-1;;;;;12894:39:1;12882:52;;12989:15;;;;12954:12;;;;12930:1;12848:9;12819:195;;;-1:-1:-1;;;;;;;13070:32:1;;;;13065:2;13050:18;;13043:60;-1:-1:-1;;;13134:3:1;13119:19;13112:35;13031:3;12173:980;-1:-1:-1;;;12173:980:1:o
Swarm Source
ipfs://140de3b70446246891aa57399baa1045842c9bef62ed8eacbd0ab8862a1ca97c
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.