Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Website Down
Overview
Max Total Supply
1,000,000,000,000 METASHIB
Holders
485 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,893,509,156.97881549 METASHIBValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MetaShib
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-01 */ /** * * $METASHIB - META SHIB TOKEN * TG: https://t.me/metashibtoken * * * 💻 Website: https://metashib.space/ * 💬 Telegram: https://t.me/MetaShibToken * 🐦 Twitter: https://twitter.com/MetaShibETH * * * * ┏━┓┏━┳━━━┳━━━━┳━━━┳━━━┳┓╋┏┳━━┳━━┓ * ┃┃┗┛┃┃┏━━┫┏┓┏┓┃┏━┓┃┏━┓┃┃╋┃┣┫┣┫┏┓┃ * ┃┏┓┏┓┃┗━━╋┛┃┃┗┫┃╋┃┃┗━━┫┗━┛┃┃┃┃┗┛┗┓ * ┃┃┃┃┃┃┏━━┛╋┃┃╋┃┗━┛┣━━┓┃┏━┓┃┃┃┃┏━┓┃ * ┃┃┃┃┃┃┗━━┓╋┃┃╋┃┏━┓┃┗━┛┃┃╋┃┣┫┣┫┗━┛┃ * ┗┛┗┛┗┻━━━┛╋┗┛╋┗┛╋┗┻━━━┻┛╋┗┻━━┻━━━┛ * * Tokenomics: * * Tax is only 10% but balances to reach a state of equilibrium * * BLUE MODE - BUY tax is 2% for 5 minutes if one of following is met: * - 5 consecutive sells * - a single sell of 2% price impact * * RED MODE - SELL TAX increased to 20% for 5 minutes if one of following is met: * - 5 consecutive buys * - a single buy of 2% price impact * * Redistribution - 10% of all collected fees * * Limiting Snipers/Early Movers Advantage * * SPDX-License-Identifier: UNLICENSED * */ pragma solidity ^0.8.4; 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private _previousOwner; 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 MetaShib is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _bots; mapping (address => User) private trader; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e12 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = unicode"MetaShib Token"; string private constant _symbol = unicode"METASHIB"; uint8 private constant _decimals = 9; uint256 private _taxFee = 1; uint256 private _teamFee = 6; uint256 private _launchTime; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; uint256 private _maxBuyAmount; address payable private _FeeAddress; address payable private _marketingWalletAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen = false; bool private _cooldownEnabled = true; bool private _communityMode = false; bool private inSwap = false; uint256 private launchBlock = 0; uint256 private buyLimitEnd; uint256 private redmode = 0; uint256 private bluemode = 0; uint256 private consecutiveBuyCounter = 0; uint256 private consecutiveSellCounter = 0; struct User { uint256 buyCD; bool exists; } event MaxBuyAmountUpdated(uint _maxBuyAmount); event CooldownEnabledUpdated(bool _cooldown); event FeeMultiplierUpdated(uint _multiplier); event FeeRateUpdated(uint _rate); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address payable FeeAddress, address payable marketingWalletAddress) { _FeeAddress = FeeAddress; _marketingWalletAddress = marketingWalletAddress; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[FeeAddress] = true; _isExcludedFromFee[marketingWalletAddress] = 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if(_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } 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"); if(from != owner() && to != owner()) { require(!_bots[from] && !_bots[to]); if(!trader[msg.sender].exists) { trader[msg.sender] = User(0,true); } uint256 totalFee = 2; // buy if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(tradingOpen, "Trading not yet enabled."); if(block.timestamp > _launchTime + (2 minutes)) { if (bluemode > block.timestamp) { totalFee = 2; } else { totalFee = 10; } } else if (block.timestamp > _launchTime + (1 minutes)) { totalFee = 20; } else { totalFee = 40; } _taxFee = (totalFee).div(10); _teamFee = (totalFee.mul(9)).div(10); if(_cooldownEnabled) { if(buyLimitEnd > block.timestamp) { require(amount <= _maxBuyAmount); require(trader[to].buyCD < block.timestamp, "Your buy cooldown has not expired."); trader[to].buyCD = block.timestamp + (45 seconds); } } if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) { redmode = block.timestamp + (5 minutes); } if (consecutiveBuyCounter >= 5) { redmode = block.timestamp + (5 minutes); consecutiveBuyCounter = 0; } else { consecutiveBuyCounter++; } consecutiveSellCounter = 0; } uint256 contractTokenBalance = balanceOf(address(this)); // sell if(!inSwap && from != uniswapV2Pair && tradingOpen) { if (redmode > block.timestamp) { totalFee = 20; } else { totalFee = 10; } _taxFee = (totalFee).div(10); _teamFee = (totalFee.mul(9)).div(10); //To limit big dumps by the contract before the sells if(contractTokenBalance > 0) { if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(6).div(100)) { contractTokenBalance = balanceOf(uniswapV2Pair).mul(6).div(100); } swapTokensForEth(contractTokenBalance); } uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) { bluemode = block.timestamp + (5 minutes); } if (consecutiveSellCounter >= 5) { bluemode = block.timestamp + (5 minutes); consecutiveSellCounter = 0; } else { consecutiveSellCounter++; } consecutiveBuyCounter = 0; } } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || _communityMode){ takeFee = false; } _tokenTransfer(from,to,amount,takeFee); } 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 { _FeeAddress.transfer(amount.div(2)); _marketingWalletAddress.transfer(amount.div(2)); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if(!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if(!takeFee) restoreAllFee(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _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); _maxBuyAmount = 5000000000 * 10**9; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; buyLimitEnd = block.timestamp + (20 seconds); _launchTime = block.timestamp; } function setMarketingWallet (address payable marketingWalletAddress) external { require(_msgSender() == _FeeAddress); _isExcludedFromFee[_marketingWalletAddress] = false; _marketingWalletAddress = marketingWalletAddress; _isExcludedFromFee[marketingWalletAddress] = true; } function excludeFromFee (address payable ad) external { require(_msgSender() == _FeeAddress); _isExcludedFromFee[ad] = true; } function includeToFee (address payable ad) external { require(_msgSender() == _FeeAddress); _isExcludedFromFee[ad] = false; } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) { _bots[bots_[i]] = true; } } } function delBot(address notbot) public onlyOwner { _bots[notbot] = false; } function isBot(address ad) public view returns (bool) { return _bots[ad]; } function isRedMode() public view returns (bool) { return (redmode > block.timestamp); } function isBlueMode() public view returns (bool) { return (bluemode > block.timestamp); } function setCooldownEnabled(bool onoff) external onlyOwner() { _cooldownEnabled = onoff; emit CooldownEnabledUpdated(_cooldownEnabled); } function thisBalance() public view returns (uint) { return balanceOf(address(this)); } function cooldownEnabled() public view returns (bool) { return _cooldownEnabled; } function timeToBuy(address buyer) public view returns (uint) { return block.timestamp - trader[buyer].buyCD; } function amountInPool() public view returns (uint) { return balanceOf(uniswapV2Pair); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"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":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","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":[{"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":[],"name":"amountInPool","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":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isBlueMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRedMode","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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
60806040526200001b683635c9adc5dea00000600019620002ae565b62000029906000196200028a565b6008556001600a8190556006600b819055600d91909155600e556013805463ffffffff60a01b1916600160a81b179055600060148190556016819055601781905560188190556019553480156200007f57600080fd5b506040516200237138038062002371833981016040819052620000a29162000253565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b038085166001600160a01b031992831617909255601180549284169290911691909117905560085460026000620001223390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200015c6200022760201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600590935281832080548516600190811790915586821684528284208054861682179055908516835291208054909216179055620001c83390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200021791815260200190565b60405180910390a35050620002cf565b6000546001600160a01b031690565b80516001600160a01b03811681146200024e57600080fd5b919050565b6000806040838503121562000266578182fd5b620002718362000236565b9150620002816020840162000236565b90509250929050565b600082821015620002a957634e487b7160e01b81526011600452602481fd5b500390565b600082620002ca57634e487b7160e01b81526012600452602481fd5b500690565b61209280620002df6000396000f3fe60806040526004361061016a5760003560e01c806368a3a6a5116100d1578063a985ceef1161008a578063cf0848f711610064578063cf0848f71461045a578063d0d753a61461047a578063db92dbb614610491578063dd62ed3e146104a657600080fd5b8063a985ceef14610406578063b515566a14610425578063c9567bf91461044557600080fd5b806368a3a6a51461033857806370a0823114610358578063715018a6146103785780638da5cb5b1461038d57806395d89b41146103b5578063a9059cbb146103e657600080fd5b8063313ce56711610123578063313ce5671461026c5780633bbac579146102885780633d5065b6146102c1578063437823ec146102d85780635932ead1146102f85780635d098b381461031857600080fd5b806306fdde0314610176578063095ea7b3146101bf57806318160ddd146101ef57806323b872dd14610215578063273123b71461023557806327f3a72a1461025757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600e81526d26b2ba30a9b434b1102a37b5b2b760911b60208201525b6040516101b69190611e61565b60405180910390f35b3480156101cb57600080fd5b506101df6101da366004611d0a565b6104ec565b60405190151581526020016101b6565b3480156101fb57600080fd5b50683635c9adc5dea000005b6040519081526020016101b6565b34801561022157600080fd5b506101df610230366004611cca565b610503565b34801561024157600080fd5b50610255610250366004611c5a565b61056c565b005b34801561026357600080fd5b506102076105c0565b34801561027857600080fd5b50604051600981526020016101b6565b34801561029457600080fd5b506101df6102a3366004611c5a565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156102cd57600080fd5b5060175442106101df565b3480156102e457600080fd5b506102556102f3366004611c5a565b6105d0565b34801561030457600080fd5b50610255610313366004611dfc565b610614565b34801561032457600080fd5b50610255610333366004611c5a565b610699565b34801561034457600080fd5b50610207610353366004611c5a565b610709565b34801561036457600080fd5b50610207610373366004611c5a565b61072c565b34801561038457600080fd5b5061025561074e565b34801561039957600080fd5b506000546040516001600160a01b0390911681526020016101b6565b3480156103c157600080fd5b5060408051808201909152600881526726a2aa20a9a424a160c11b60208201526101a9565b3480156103f257600080fd5b506101df610401366004611d0a565b6107c2565b34801561041257600080fd5b50601354600160a81b900460ff166101df565b34801561043157600080fd5b50610255610440366004611d35565b6107cf565b34801561045157600080fd5b50610255610916565b34801561046657600080fd5b50610255610475366004611c5a565b610cea565b34801561048657600080fd5b5060165442106101df565b34801561049d57600080fd5b50610207610d2b565b3480156104b257600080fd5b506102076104c1366004611c92565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006104f9338484610d43565b5060015b92915050565b6000610510848484610e67565b610562843361055d85604051806060016040528060288152602001612035602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114b0565b610d43565b5060019392505050565b6000546001600160a01b0316331461059f5760405162461bcd60e51b815260040161059690611eb4565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b60006105cb3061072c565b905090565b6010546001600160a01b0316336001600160a01b0316146105f057600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461063e5760405162461bcd60e51b815260040161059690611eb4565b6013805460ff60a81b1916600160a81b8315158102919091179182905560405160ff9190920416151581527f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f287069060200160405180910390a150565b6010546001600160a01b0316336001600160a01b0316146106b957600080fd5b601180546001600160a01b03908116600090815260056020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b0381166000908152600760205260408120546104fd9042611fb0565b6001600160a01b0381166000908152600260205260408120546104fd906114ea565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040161059690611eb4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104f9338484610e67565b6000546001600160a01b031633146107f95760405162461bcd60e51b815260040161059690611eb4565b60005b81518110156109125760135482516001600160a01b039091169083908390811061083657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614158015610895575060125482516001600160a01b039091169083908390811061088157634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614155b15610900576001600660008484815181106108c057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061090a81611fc7565b9150506107fc565b5050565b6000546001600160a01b031633146109405760405162461bcd60e51b815260040161059690611eb4565b601354600160a01b900460ff161561099a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610596565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109d73082683635c9adc5dea00000610d43565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1057600080fd5b505afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190611c76565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9057600080fd5b505afa158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190611c76565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b489190611c76565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730610b788161072c565b600080610b8d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610bf057600080fd5b505af1158015610c04573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c299190611e34565b5050674563918244f40000600f555060135460125460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610c8957600080fd5b505af1158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190611e18565b506013805460ff60a01b1916600160a01b179055610ce0426014611f59565b6015555042600c55565b6010546001600160a01b0316336001600160a01b031614610d0a57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6013546000906105cb906001600160a01b031661072c565b6001600160a01b038316610da55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610596565b6001600160a01b038216610e065760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610596565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ecb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610596565b6001600160a01b038216610f2d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610596565b60008111610f8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610596565b6000546001600160a01b03848116911614801590610fbb57506000546001600160a01b03838116911614155b1561143f576001600160a01b03831660009081526006602052604090205460ff1615801561100257506001600160a01b03821660009081526006602052604090205460ff16155b61100b57600080fd5b3360009081526007602052604090206001015460ff16611061576040805180820182526000808252600160208084018281523384526007909152939091209151825591519101805460ff19169115159190911790555b6013546002906001600160a01b03858116911614801561108f57506012546001600160a01b03848116911614155b80156110b457506001600160a01b03831660009081526005602052604090205460ff16155b156112ca57601354600160a01b900460ff166111125760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610596565b600c54611120906078611f59565b4211156111415742601754111561113957506002611162565b50600a611162565b600c5461114f90603c611f59565b42111561115e57506014611162565b5060285b61116d81600a61156e565b600a908155611187906111818360096115b0565b9061156e565b600b55601354600160a81b900460ff161561124c5742601554111561124c57600f548211156111b557600080fd5b6001600160a01b03831660009081526007602052604090205442116112275760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610596565b61123242602d611f59565b6001600160a01b0384166000908152600760205260409020555b601354611275906064906111819060029061126f906001600160a01b031661072c565b906115b0565b821061128b576112874261012c611f59565b6016555b6005601854106112ae576112a14261012c611f59565b60165560006018556112c4565b601880549060006112be83611fc7565b91905055505b60006019555b60006112d53061072c565b601354909150600160b81b900460ff1615801561130057506013546001600160a01b03868116911614155b80156113155750601354600160a01b900460ff165b1561143c5742601654111561132d5760149150611332565b600a91505b61133d82600a61156e565b600a908155611351906111818460096115b0565b600b5580156113b35760135461137d906064906111819060069061126f906001600160a01b031661072c565b8111156113aa576013546113a7906064906111819060069061126f906001600160a01b031661072c565b90505b6113b38161162f565b4780156113c3576113c3476117d4565b6013546113e6906064906111819060029061126f906001600160a01b031661072c565b84106113fc576113f84261012c611f59565b6017555b60056019541061141f576114124261012c611f59565b6017556000601955611435565b6019805490600061142f83611fc7565b91905055505b5060006018555b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061148157506001600160a01b03831660009081526005602052604090205460ff165b806114955750601354600160b01b900460ff165b1561149e575060005b6114aa84848484611859565b50505050565b600081848411156114d45760405162461bcd60e51b81526004016105969190611e61565b5060006114e18486611fb0565b95945050505050565b60006008548211156115515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610596565b600061155b611887565b9050611567838261156e565b9392505050565b600061156783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118aa565b6000826115bf575060006104fd565b60006115cb8385611f91565b9050826115d88583611f71565b146115675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610596565b6013805460ff60b81b1916600160b81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061168557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117119190611c76565b8160018151811061173257634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526012546117589130911684610d43565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611791908590600090869030904290600401611ee9565b600060405180830381600087803b1580156117ab57600080fd5b505af11580156117bf573d6000803e3d6000fd5b50506013805460ff60b81b1916905550505050565b6010546001600160a01b03166108fc6117ee83600261156e565b6040518115909202916000818181858888f19350505050158015611816573d6000803e3d6000fd5b506011546001600160a01b03166108fc61183183600261156e565b6040518115909202916000818181858888f19350505050158015610912573d6000803e3d6000fd5b80611866576118666118d8565b611871848484611906565b806114aa576114aa600d54600a55600e54600b55565b60008060006118946119fd565b90925090506118a3828261156e565b9250505090565b600081836118cb5760405162461bcd60e51b81526004016105969190611e61565b5060006114e18486611f71565b600a541580156118e85750600b54155b156118ef57565b600a8054600d55600b8054600e5560009182905555565b60008060008060008061191887611a3f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061194a9087611a9c565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546119799086611ade565b6001600160a01b03891660009081526002602052604090205561199b81611b3d565b6119a58483611b87565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119ea91815260200190565b60405180910390a3505050505050505050565b6008546000908190683635c9adc5dea00000611a19828261156e565b821015611a3657505060085492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611a5c8a600a54600b54611bab565b9250925092506000611a6c611887565b90506000806000611a7f8e878787611bfa565b919e509c509a509598509396509194505050505091939550919395565b600061156783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114b0565b600080611aeb8385611f59565b9050838110156115675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610596565b6000611b47611887565b90506000611b5583836115b0565b30600090815260026020526040902054909150611b729082611ade565b30600090815260026020526040902055505050565b600854611b949083611a9c565b600855600954611ba49082611ade565b6009555050565b6000808080611bbf606461118189896115b0565b90506000611bd260646111818a896115b0565b90506000611bea82611be48b86611a9c565b90611a9c565b9992985090965090945050505050565b6000808080611c0988866115b0565b90506000611c1788876115b0565b90506000611c2588886115b0565b90506000611c3782611be48686611a9c565b939b939a50919850919650505050505050565b8035611c558161200e565b919050565b600060208284031215611c6b578081fd5b81356115678161200e565b600060208284031215611c87578081fd5b81516115678161200e565b60008060408385031215611ca4578081fd5b8235611caf8161200e565b91506020830135611cbf8161200e565b809150509250929050565b600080600060608486031215611cde578081fd5b8335611ce98161200e565b92506020840135611cf98161200e565b929592945050506040919091013590565b60008060408385031215611d1c578182fd5b8235611d278161200e565b946020939093013593505050565b60006020808385031215611d47578182fd5b823567ffffffffffffffff80821115611d5e578384fd5b818501915085601f830112611d71578384fd5b813581811115611d8357611d83611ff8565b8060051b604051601f19603f83011681018181108582111715611da857611da8611ff8565b604052828152858101935084860182860187018a1015611dc6578788fd5b8795505b83861015611def57611ddb81611c4a565b855260019590950194938601938601611dca565b5098975050505050505050565b600060208284031215611e0d578081fd5b813561156781612026565b600060208284031215611e29578081fd5b815161156781612026565b600080600060608486031215611e48578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611e8d57858101830151858201604001528201611e71565b81811115611e9e5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611f385784516001600160a01b031683529383019391830191600101611f13565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f6c57611f6c611fe2565b500190565b600082611f8c57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611fab57611fab611fe2565b500290565b600082821015611fc257611fc2611fe2565b500390565b6000600019821415611fdb57611fdb611fe2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461202357600080fd5b50565b801515811461202357600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220925b776e724d20b979e08c580618a185577910f06bba79befd724d0e34351bf164736f6c63430008040033000000000000000000000000003230bd878a62e9b42aed6973231a7336fb0a80000000000000000000000000003230bd878a62e9b42aed6973231a7336fb0a80
Deployed Bytecode
0x60806040526004361061016a5760003560e01c806368a3a6a5116100d1578063a985ceef1161008a578063cf0848f711610064578063cf0848f71461045a578063d0d753a61461047a578063db92dbb614610491578063dd62ed3e146104a657600080fd5b8063a985ceef14610406578063b515566a14610425578063c9567bf91461044557600080fd5b806368a3a6a51461033857806370a0823114610358578063715018a6146103785780638da5cb5b1461038d57806395d89b41146103b5578063a9059cbb146103e657600080fd5b8063313ce56711610123578063313ce5671461026c5780633bbac579146102885780633d5065b6146102c1578063437823ec146102d85780635932ead1146102f85780635d098b381461031857600080fd5b806306fdde0314610176578063095ea7b3146101bf57806318160ddd146101ef57806323b872dd14610215578063273123b71461023557806327f3a72a1461025757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600e81526d26b2ba30a9b434b1102a37b5b2b760911b60208201525b6040516101b69190611e61565b60405180910390f35b3480156101cb57600080fd5b506101df6101da366004611d0a565b6104ec565b60405190151581526020016101b6565b3480156101fb57600080fd5b50683635c9adc5dea000005b6040519081526020016101b6565b34801561022157600080fd5b506101df610230366004611cca565b610503565b34801561024157600080fd5b50610255610250366004611c5a565b61056c565b005b34801561026357600080fd5b506102076105c0565b34801561027857600080fd5b50604051600981526020016101b6565b34801561029457600080fd5b506101df6102a3366004611c5a565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156102cd57600080fd5b5060175442106101df565b3480156102e457600080fd5b506102556102f3366004611c5a565b6105d0565b34801561030457600080fd5b50610255610313366004611dfc565b610614565b34801561032457600080fd5b50610255610333366004611c5a565b610699565b34801561034457600080fd5b50610207610353366004611c5a565b610709565b34801561036457600080fd5b50610207610373366004611c5a565b61072c565b34801561038457600080fd5b5061025561074e565b34801561039957600080fd5b506000546040516001600160a01b0390911681526020016101b6565b3480156103c157600080fd5b5060408051808201909152600881526726a2aa20a9a424a160c11b60208201526101a9565b3480156103f257600080fd5b506101df610401366004611d0a565b6107c2565b34801561041257600080fd5b50601354600160a81b900460ff166101df565b34801561043157600080fd5b50610255610440366004611d35565b6107cf565b34801561045157600080fd5b50610255610916565b34801561046657600080fd5b50610255610475366004611c5a565b610cea565b34801561048657600080fd5b5060165442106101df565b34801561049d57600080fd5b50610207610d2b565b3480156104b257600080fd5b506102076104c1366004611c92565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006104f9338484610d43565b5060015b92915050565b6000610510848484610e67565b610562843361055d85604051806060016040528060288152602001612035602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906114b0565b610d43565b5060019392505050565b6000546001600160a01b0316331461059f5760405162461bcd60e51b815260040161059690611eb4565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b60006105cb3061072c565b905090565b6010546001600160a01b0316336001600160a01b0316146105f057600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461063e5760405162461bcd60e51b815260040161059690611eb4565b6013805460ff60a81b1916600160a81b8315158102919091179182905560405160ff9190920416151581527f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f287069060200160405180910390a150565b6010546001600160a01b0316336001600160a01b0316146106b957600080fd5b601180546001600160a01b03908116600090815260056020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b0381166000908152600760205260408120546104fd9042611fb0565b6001600160a01b0381166000908152600260205260408120546104fd906114ea565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040161059690611eb4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104f9338484610e67565b6000546001600160a01b031633146107f95760405162461bcd60e51b815260040161059690611eb4565b60005b81518110156109125760135482516001600160a01b039091169083908390811061083657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614158015610895575060125482516001600160a01b039091169083908390811061088157634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614155b15610900576001600660008484815181106108c057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061090a81611fc7565b9150506107fc565b5050565b6000546001600160a01b031633146109405760405162461bcd60e51b815260040161059690611eb4565b601354600160a01b900460ff161561099a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610596565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109d73082683635c9adc5dea00000610d43565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1057600080fd5b505afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190611c76565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9057600080fd5b505afa158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190611c76565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b489190611c76565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730610b788161072c565b600080610b8d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610bf057600080fd5b505af1158015610c04573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c299190611e34565b5050674563918244f40000600f555060135460125460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610c8957600080fd5b505af1158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190611e18565b506013805460ff60a01b1916600160a01b179055610ce0426014611f59565b6015555042600c55565b6010546001600160a01b0316336001600160a01b031614610d0a57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6013546000906105cb906001600160a01b031661072c565b6001600160a01b038316610da55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610596565b6001600160a01b038216610e065760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610596565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ecb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610596565b6001600160a01b038216610f2d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610596565b60008111610f8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610596565b6000546001600160a01b03848116911614801590610fbb57506000546001600160a01b03838116911614155b1561143f576001600160a01b03831660009081526006602052604090205460ff1615801561100257506001600160a01b03821660009081526006602052604090205460ff16155b61100b57600080fd5b3360009081526007602052604090206001015460ff16611061576040805180820182526000808252600160208084018281523384526007909152939091209151825591519101805460ff19169115159190911790555b6013546002906001600160a01b03858116911614801561108f57506012546001600160a01b03848116911614155b80156110b457506001600160a01b03831660009081526005602052604090205460ff16155b156112ca57601354600160a01b900460ff166111125760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610596565b600c54611120906078611f59565b4211156111415742601754111561113957506002611162565b50600a611162565b600c5461114f90603c611f59565b42111561115e57506014611162565b5060285b61116d81600a61156e565b600a908155611187906111818360096115b0565b9061156e565b600b55601354600160a81b900460ff161561124c5742601554111561124c57600f548211156111b557600080fd5b6001600160a01b03831660009081526007602052604090205442116112275760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610596565b61123242602d611f59565b6001600160a01b0384166000908152600760205260409020555b601354611275906064906111819060029061126f906001600160a01b031661072c565b906115b0565b821061128b576112874261012c611f59565b6016555b6005601854106112ae576112a14261012c611f59565b60165560006018556112c4565b601880549060006112be83611fc7565b91905055505b60006019555b60006112d53061072c565b601354909150600160b81b900460ff1615801561130057506013546001600160a01b03868116911614155b80156113155750601354600160a01b900460ff165b1561143c5742601654111561132d5760149150611332565b600a91505b61133d82600a61156e565b600a908155611351906111818460096115b0565b600b5580156113b35760135461137d906064906111819060069061126f906001600160a01b031661072c565b8111156113aa576013546113a7906064906111819060069061126f906001600160a01b031661072c565b90505b6113b38161162f565b4780156113c3576113c3476117d4565b6013546113e6906064906111819060029061126f906001600160a01b031661072c565b84106113fc576113f84261012c611f59565b6017555b60056019541061141f576114124261012c611f59565b6017556000601955611435565b6019805490600061142f83611fc7565b91905055505b5060006018555b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061148157506001600160a01b03831660009081526005602052604090205460ff165b806114955750601354600160b01b900460ff165b1561149e575060005b6114aa84848484611859565b50505050565b600081848411156114d45760405162461bcd60e51b81526004016105969190611e61565b5060006114e18486611fb0565b95945050505050565b60006008548211156115515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610596565b600061155b611887565b9050611567838261156e565b9392505050565b600061156783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118aa565b6000826115bf575060006104fd565b60006115cb8385611f91565b9050826115d88583611f71565b146115675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610596565b6013805460ff60b81b1916600160b81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061168557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117119190611c76565b8160018151811061173257634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526012546117589130911684610d43565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611791908590600090869030904290600401611ee9565b600060405180830381600087803b1580156117ab57600080fd5b505af11580156117bf573d6000803e3d6000fd5b50506013805460ff60b81b1916905550505050565b6010546001600160a01b03166108fc6117ee83600261156e565b6040518115909202916000818181858888f19350505050158015611816573d6000803e3d6000fd5b506011546001600160a01b03166108fc61183183600261156e565b6040518115909202916000818181858888f19350505050158015610912573d6000803e3d6000fd5b80611866576118666118d8565b611871848484611906565b806114aa576114aa600d54600a55600e54600b55565b60008060006118946119fd565b90925090506118a3828261156e565b9250505090565b600081836118cb5760405162461bcd60e51b81526004016105969190611e61565b5060006114e18486611f71565b600a541580156118e85750600b54155b156118ef57565b600a8054600d55600b8054600e5560009182905555565b60008060008060008061191887611a3f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061194a9087611a9c565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546119799086611ade565b6001600160a01b03891660009081526002602052604090205561199b81611b3d565b6119a58483611b87565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119ea91815260200190565b60405180910390a3505050505050505050565b6008546000908190683635c9adc5dea00000611a19828261156e565b821015611a3657505060085492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611a5c8a600a54600b54611bab565b9250925092506000611a6c611887565b90506000806000611a7f8e878787611bfa565b919e509c509a509598509396509194505050505091939550919395565b600061156783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114b0565b600080611aeb8385611f59565b9050838110156115675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610596565b6000611b47611887565b90506000611b5583836115b0565b30600090815260026020526040902054909150611b729082611ade565b30600090815260026020526040902055505050565b600854611b949083611a9c565b600855600954611ba49082611ade565b6009555050565b6000808080611bbf606461118189896115b0565b90506000611bd260646111818a896115b0565b90506000611bea82611be48b86611a9c565b90611a9c565b9992985090965090945050505050565b6000808080611c0988866115b0565b90506000611c1788876115b0565b90506000611c2588886115b0565b90506000611c3782611be48686611a9c565b939b939a50919850919650505050505050565b8035611c558161200e565b919050565b600060208284031215611c6b578081fd5b81356115678161200e565b600060208284031215611c87578081fd5b81516115678161200e565b60008060408385031215611ca4578081fd5b8235611caf8161200e565b91506020830135611cbf8161200e565b809150509250929050565b600080600060608486031215611cde578081fd5b8335611ce98161200e565b92506020840135611cf98161200e565b929592945050506040919091013590565b60008060408385031215611d1c578182fd5b8235611d278161200e565b946020939093013593505050565b60006020808385031215611d47578182fd5b823567ffffffffffffffff80821115611d5e578384fd5b818501915085601f830112611d71578384fd5b813581811115611d8357611d83611ff8565b8060051b604051601f19603f83011681018181108582111715611da857611da8611ff8565b604052828152858101935084860182860187018a1015611dc6578788fd5b8795505b83861015611def57611ddb81611c4a565b855260019590950194938601938601611dca565b5098975050505050505050565b600060208284031215611e0d578081fd5b813561156781612026565b600060208284031215611e29578081fd5b815161156781612026565b600080600060608486031215611e48578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611e8d57858101830151858201604001528201611e71565b81811115611e9e5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611f385784516001600160a01b031683529383019391830191600101611f13565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611f6c57611f6c611fe2565b500190565b600082611f8c57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611fab57611fab611fe2565b500290565b600082821015611fc257611fc2611fe2565b500390565b6000600019821415611fdb57611fdb611fe2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461202357600080fd5b50565b801515811461202357600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220925b776e724d20b979e08c580618a185577910f06bba79befd724d0e34351bf164736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000003230bd878a62e9b42aed6973231a7336fb0a80000000000000000000000000003230bd878a62e9b42aed6973231a7336fb0a80
-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x003230bD878A62e9B42AeD6973231A7336FB0a80
Arg [1] : marketingWalletAddress (address): 0x003230bD878A62e9B42AeD6973231A7336FB0a80
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000003230bd878a62e9b42aed6973231a7336fb0a80
Arg [1] : 000000000000000000000000003230bd878a62e9b42aed6973231a7336fb0a80
Deployed Bytecode Sourcemap
5207:15234:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7653:83;;;;;;;;;;-1:-1:-1;7723:5:0;;;;;;;;;;;;-1:-1:-1;;;7723:5:0;;;;7653:83;;;;;;;:::i;:::-;;;;;;;;8505:161;;;;;;;;;;-1:-1:-1;8505:161:0;;;;;:::i;:::-;;:::i;:::-;;;5747:14:1;;5740:22;5722:41;;5710:2;5695:18;8505:161:0;5677:92:1;7930:95:0;;;;;;;;;;-1:-1:-1;5707:12:0;7930:95;;;11194:25:1;;;11182:2;11167:18;7930:95:0;11149:76:1;8674:313:0;;;;;;;;;;-1:-1:-1;8674:313:0;;;;;:::i;:::-;;:::i;19395:89::-;;;;;;;;;;-1:-1:-1;19395:89:0;;;;;:::i;:::-;;:::i;:::-;;19989:100;;;;;;;;;;;;;:::i;7839:83::-;;;;;;;;;;-1:-1:-1;7839:83:0;;5970:1;12360:36:1;;12348:2;12333:18;7839:83:0;12315:87:1;19496:89:0;;;;;;;;;;-1:-1:-1;19496:89:0;;;;;:::i;:::-;-1:-1:-1;;;;;19568:9:0;19544:4;19568:9;;;:5;:9;;;;;;;;;19496:89;19710:103;;;;;;;;;;-1:-1:-1;19778:8:0;;19789:15;-1:-1:-1;19710:103:0;;18792:149;;;;;;;;;;-1:-1:-1;18792:149:0;;;;;:::i;:::-;;:::i;19821:160::-;;;;;;;;;;-1:-1:-1;19821:160:0;;;;;:::i;:::-;;:::i;18466:314::-;;;;;;;;;;-1:-1:-1;18466:314:0;;;;;:::i;:::-;;:::i;20201:124::-;;;;;;;;;;-1:-1:-1;20201:124:0;;;;;:::i;:::-;;:::i;8033:138::-;;;;;;;;;;-1:-1:-1;8033:138:0;;;;;:::i;:::-;;:::i;4286:148::-;;;;;;;;;;;;;:::i;4072:79::-;;;;;;;;;;-1:-1:-1;4110:7:0;4137:6;4072:79;;-1:-1:-1;;;;;4137:6:0;;;4320:51:1;;4308:2;4293:18;4072:79:0;4275:102:1;7744:87:0;;;;;;;;;;-1:-1:-1;7816:7:0;;;;;;;;;;;;-1:-1:-1;;;7816:7:0;;;;7744:87;;8179:167;;;;;;;;;;-1:-1:-1;8179:167:0;;;;;:::i;:::-;;:::i;20097:96::-;;;;;;;;;;-1:-1:-1;20169:16:0;;-1:-1:-1;;;20169:16:0;;;;20097:96;;19113:270;;;;;;;;;;-1:-1:-1;19113:270:0;;;;;:::i;:::-;;:::i;17609:849::-;;;;;;;;;;;;;:::i;18953:148::-;;;;;;;;;;-1:-1:-1;18953:148:0;;;;;:::i;:::-;;:::i;19597:101::-;;;;;;;;;;-1:-1:-1;19664:7:0;;19674:15;-1:-1:-1;19597:101:0;;20337;;;;;;;;;;;;;:::i;8354:143::-;;;;;;;;;;-1:-1:-1;8354:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8462:18:0;;;8435:7;8462:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8354:143;8505:161;8580:4;8597:39;1561:10;8620:7;8629:6;8597:8;:39::i;:::-;-1:-1:-1;8654:4:0;8505:161;;;;;:::o;8674:313::-;8772:4;8789:36;8799:6;8807:9;8818:6;8789:9;:36::i;:::-;8836:121;8845:6;1561:10;8867:89;8905:6;8867:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8867:19:0;;;;;;:11;:19;;;;;;;;1561:10;8867:33;;;;;;;;;;:37;:89::i;:::-;8836:8;:121::i;:::-;-1:-1:-1;8975:4:0;8674:313;;;;;:::o;19395:89::-;4199:6;;-1:-1:-1;;;;;4199:6:0;1561:10;4199:22;4191:67;;;;-1:-1:-1;;;4191:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;19455:13:0::1;19471:5;19455:13:::0;;;:5:::1;:13;::::0;;;;:21;;-1:-1:-1;;19455:21:0::1;::::0;;19395:89::o;19989:100::-;20033:4;20057:24;20075:4;20057:9;:24::i;:::-;20050:31;;19989:100;:::o;18792:149::-;18881:11;;-1:-1:-1;;;;;18881:11:0;1561:10;-1:-1:-1;;;;;18865:27:0;;18857:36;;;;;;-1:-1:-1;;;;;18904:22:0;;;;;:18;:22;;;;;:29;;-1:-1:-1;;18904:29:0;18929:4;18904:29;;;18792:149::o;19821:160::-;4199:6;;-1:-1:-1;;;;;4199:6:0;1561:10;4199:22;4191:67;;;;-1:-1:-1;;;4191:67:0;;;;;;;:::i;:::-;19893:16:::1;:24:::0;;-1:-1:-1;;;;19893:24:0::1;-1:-1:-1::0;;;19893:24:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;19933:40:::1;::::0;19893:24:::1;19956:16:::0;;;::::1;;5747:14:1::0;5740:22;5722:41;;19933:40:0::1;::::0;5710:2:1;5695:18;19933:40:0::1;;;;;;;19821:160:::0;:::o;18466:314::-;18579:11;;-1:-1:-1;;;;;18579:11:0;1561:10;-1:-1:-1;;;;;18563:27:0;;18555:36;;;;;;18621:23;;;-1:-1:-1;;;;;18621:23:0;;;18648:5;18602:43;;;:18;:43;;;;;;:51;;-1:-1:-1;;18602:51:0;;;;;;18664:48;;-1:-1:-1;;;;;;18664:48:0;;;;;;;;;;;18723:42;;;;;:49;;;;;-1:-1:-1;18723:49:0;;;18466:314::o;20201:124::-;-1:-1:-1;;;;;20298:13:0;;20256:4;20298:13;;;:6;:13;;;;;:19;20280:37;;:15;:37;:::i;8033:138::-;-1:-1:-1;;;;;8146:16:0;;8099:7;8146:16;;;:7;:16;;;;;;8126:37;;:19;:37::i;4286:148::-;4199:6;;-1:-1:-1;;;;;4199:6:0;1561:10;4199:22;4191:67;;;;-1:-1:-1;;;4191:67:0;;;;;;;:::i;:::-;4393:1:::1;4377:6:::0;;4356:40:::1;::::0;-1:-1:-1;;;;;4377:6:0;;::::1;::::0;4356:40:::1;::::0;4393:1;;4356:40:::1;4424:1;4407:19:::0;;-1:-1:-1;;;;;;4407:19:0::1;::::0;;4286:148::o;8179:167::-;8257:4;8274:42;1561:10;8298:9;8309:6;8274:9;:42::i;19113:270::-;4199:6;;-1:-1:-1;;;;;4199:6:0;1561:10;4199:22;4191:67;;;;-1:-1:-1;;;4191:67:0;;;;;;;:::i;:::-;19187:6:::1;19182:194;19203:5;:12;19199:1;:16;19182:194;;;19253:13;::::0;19241:8;;-1:-1:-1;;;;;19253:13:0;;::::1;::::0;19241:5;;19247:1;;19241:8;::::1;;;-1:-1:-1::0;;;19241:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;19241:25:0::1;;;:65;;;;-1:-1:-1::0;19290:15:0::1;::::0;19270:8;;-1:-1:-1;;;;;19290:15:0;;::::1;::::0;19270:5;;19276:1;;19270:8;::::1;;;-1:-1:-1::0;;;19270:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;19270:36:0::1;;;19241:65;19237:128;;;19345:4;19327:5;:15;19333:5;19339:1;19333:8;;;;;;-1:-1:-1::0;;;19333:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;19327:15:0::1;-1:-1:-1::0;;;;;19327:15:0::1;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;19237:128;19217:3:::0;::::1;::::0;::::1;:::i;:::-;;;;19182:194;;;;19113:270:::0;:::o;17609:849::-;4199:6;;-1:-1:-1;;;;;4199:6:0;1561:10;4199:22;4191:67;;;;-1:-1:-1;;;4191:67:0;;;;;;;:::i;:::-;17673:11:::1;::::0;-1:-1:-1;;;17673:11:0;::::1;;;17672:12;17664:47;;;::::0;-1:-1:-1;;;17664:47:0;;10545:2:1;17664:47:0::1;::::0;::::1;10527:21:1::0;10584:2;10564:18;;;10557:30;10623:25;10603:18;;;10596:53;10666:18;;17664:47:0::1;10517:173:1::0;17664:47:0::1;17833:15;:34:::0;;-1:-1:-1;;;;;;17833:34:0::1;17779:42;17833:34:::0;;::::1;::::0;;;17878:58:::1;17895:4;17779:42:::0;5707:12:::1;17878:8;:58::i;:::-;17981:16;-1:-1:-1::0;;;;;17981:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17963:56:0::1;;18028:4;18035:16;-1:-1:-1::0;;;;;18035:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17963:96;::::0;-1:-1:-1;;;;;;17963:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4612:15:1;;;17963:96:0::1;::::0;::::1;4594:34:1::0;4664:15;;4644:18;;;4637:43;4529:18;;17963:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17947:13;:112:::0;;-1:-1:-1;;;;;;17947:112:0::1;-1:-1:-1::0;;;;;17947:112:0;;::::1;;::::0;;18070:15:::1;::::0;::::1;:31;18109:21;18140:4;18146:24;18140:4:::0;18146:9:::1;:24::i;:::-;18171:1;18173::::0;18175:7:::1;4110::::0;4137:6;-1:-1:-1;;;;;4137:6:0;;4072:79;18175:7:::1;18070:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;18070:129:0;;;-1:-1:-1;;;;;5329:15:1;;;18070:129:0::1;::::0;::::1;5311:34:1::0;5361:18;;;5354:34;;;;5404:18;;;5397:34;;;;5447:18;;;5440:34;5511:15;;;5490:19;;;5483:44;18183:15:0::1;5543:19:1::0;;;5536:35;5245:19;;18070:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;18226:18:0::1;18210:13;:34:::0;-1:-1:-1;18262:13:0::1;::::0;18293:15:::1;::::0;18255:71:::1;::::0;-1:-1:-1;;;18255:71:0;;-1:-1:-1;;;;;18293:15:0;;::::1;18255:71;::::0;::::1;4865:51:1::0;-1:-1:-1;;4932:18:1;;;4925:34;18262:13:0;::::1;::::0;18255:29:::1;::::0;4838:18:1;;18255:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;18337:11:0::1;:18:::0;;-1:-1:-1;;;;18337:18:0::1;-1:-1:-1::0;;;18337:18:0::1;::::0;;18380:30:::1;:15;18337:11;18380:30;:::i;:::-;18366:11;:44:::0;-1:-1:-1;18435:15:0::1;18421:11;:29:::0;17609:849::o;18953:148::-;19040:11;;-1:-1:-1;;;;;19040:11:0;1561:10;-1:-1:-1;;;;;19024:27:0;;19016:36;;;;;;-1:-1:-1;;;;;19063:22:0;19088:5;19063:22;;;:18;:22;;;;;:30;;-1:-1:-1;;19063:30:0;;;18953:148::o;20337:101::-;20416:13;;20382:4;;20406:24;;-1:-1:-1;;;;;20416:13:0;20406:9;:24::i;9602:335::-;-1:-1:-1;;;;;9695:19:0;;9687:68;;;;-1:-1:-1;;;9687:68:0;;10140:2:1;9687:68:0;;;10122:21:1;10179:2;10159:18;;;10152:30;10218:34;10198:18;;;10191:62;-1:-1:-1;;;10269:18:1;;;10262:34;10313:19;;9687:68:0;10112:226:1;9687:68:0;-1:-1:-1;;;;;9774:21:0;;9766:68;;;;-1:-1:-1;;;9766:68:0;;7399:2:1;9766:68:0;;;7381:21:1;7438:2;7418:18;;;7411:30;7477:34;7457:18;;;7450:62;-1:-1:-1;;;7528:18:1;;;7521:32;7570:19;;9766:68:0;7371:224:1;9766:68:0;-1:-1:-1;;;;;9845:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9897:32;;11194:25:1;;;9897:32:0;;11167:18:1;9897:32:0;;;;;;;9602:335;;;:::o;9949:4110::-;-1:-1:-1;;;;;10037:18:0;;10029:68;;;;-1:-1:-1;;;10029:68:0;;9734:2:1;10029:68:0;;;9716:21:1;9773:2;9753:18;;;9746:30;9812:34;9792:18;;;9785:62;-1:-1:-1;;;9863:18:1;;;9856:35;9908:19;;10029:68:0;9706:227:1;10029:68:0;-1:-1:-1;;;;;10116:16:0;;10108:64;;;;-1:-1:-1;;;10108:64:0;;6584:2:1;10108:64:0;;;6566:21:1;6623:2;6603:18;;;6596:30;6662:34;6642:18;;;6635:62;-1:-1:-1;;;6713:18:1;;;6706:33;6756:19;;10108:64:0;6556:225:1;10108:64:0;10200:1;10191:6;:10;10183:64;;;;-1:-1:-1;;;10183:64:0;;9324:2:1;10183:64:0;;;9306:21:1;9363:2;9343:18;;;9336:30;9402:34;9382:18;;;9375:62;-1:-1:-1;;;9453:18:1;;;9446:39;9502:19;;10183:64:0;9296:231:1;10183:64:0;4110:7;4137:6;-1:-1:-1;;;;;10263:15:0;;;4137:6;;10263:15;;;;:32;;-1:-1:-1;4110:7:0;4137:6;-1:-1:-1;;;;;10282:13:0;;;4137:6;;10282:13;;10263:32;10260:3577;;;-1:-1:-1;;;;;10335:11:0;;;;;;:5;:11;;;;;;;;10334:12;:26;;;;-1:-1:-1;;;;;;10351:9:0;;;;;;:5;:9;;;;;;;;10350:10;10334:26;10326:35;;;;;;10401:10;10394:18;;;;:6;:18;;;;;:25;;;;;10390:99;;10461:12;;;;;;;;-1:-1:-1;10461:12:0;;;10468:4;10461:12;;;;;;;10447:10;10440:18;;:6;:18;;;;;;;:33;;;;;;;;;;-1:-1:-1;;10440:33:0;;;;;;;;;;10390:99;10569:13;;10522:1;;-1:-1:-1;;;;;10561:21:0;;;10569:13;;10561:21;:55;;;;-1:-1:-1;10600:15:0;;-1:-1:-1;;;;;10586:30:0;;;10600:15;;10586:30;;10561:55;:82;;;;-1:-1:-1;;;;;;10621:22:0;;;;;;:18;:22;;;;;;;;10620:23;10561:82;10558:1679;;;10672:11;;-1:-1:-1;;;10672:11:0;;;;10664:48;;;;-1:-1:-1;;;10664:48:0;;10897:2:1;10664:48:0;;;10879:21:1;10936:2;10916:18;;;10909:30;10975:26;10955:18;;;10948:54;11019:18;;10664:48:0;10869:174:1;10664:48:0;10770:11;;:25;;10785:9;10770:25;:::i;:::-;10752:15;:43;10749:428;;;10835:15;10824:8;;:26;10820:165;;;-1:-1:-1;10890:1:0;10749:428;;10820:165;-1:-1:-1;10959:2:0;10749:428;;;11032:11;;:25;;11047:9;11032:25;:::i;:::-;11014:15;:43;11010:167;;;-1:-1:-1;11093:2:0;11010:167;;;-1:-1:-1;11155:2:0;11010:167;11223:18;11224:8;11238:2;11223:14;:18::i;:::-;11213:7;:28;;;11271:25;;11272:15;:8;11285:1;11272:12;:15::i;:::-;11271:21;;:25::i;:::-;11260:8;:36;11336:16;;-1:-1:-1;;;11336:16:0;;;;11333:364;;;11394:15;11380:11;;:29;11377:301;;;11456:13;;11446:6;:23;;11438:32;;;;;;-1:-1:-1;;;;;11505:10:0;;;;;;:6;:10;;;;;:16;11524:15;-1:-1:-1;11497:81:0;;;;-1:-1:-1;;;11497:81:0;;7802:2:1;11497:81:0;;;7784:21:1;7841:2;7821:18;;;7814:30;7880:34;7860:18;;;7853:62;-1:-1:-1;;;7931:18:1;;;7924:32;7973:19;;11497:81:0;7774:224:1;11497:81:0;11624:30;:15;11643:10;11624:30;:::i;:::-;-1:-1:-1;;;;;11605:10:0;;;;;;:6;:10;;;;;:49;11377:301;11757:13;;11747:40;;11783:3;;11747:31;;11776:1;;11747:24;;-1:-1:-1;;;;;11757:13:0;11747:9;:24::i;:::-;:28;;:31::i;:40::-;11737:6;:50;11733:138;;11822:29;:15;11841:9;11822:29;:::i;:::-;11812:7;:39;11733:138;11936:1;11911:21;;:26;11907:234;;11972:29;:15;11991:9;11972:29;:::i;:::-;11962:7;:39;12048:1;12024:21;:25;11907:234;;;12098:21;:23;;;:21;:23;;;:::i;:::-;;;;;;11907:234;12202:1;12177:22;:26;10558:1679;12251:28;12282:24;12300:4;12282:9;:24::i;:::-;12348:6;;12251:55;;-1:-1:-1;;;;12348:6:0;;;;12347:7;:32;;;;-1:-1:-1;12366:13:0;;-1:-1:-1;;;;;12358:21:0;;;12366:13;;12358:21;;12347:32;:47;;;;-1:-1:-1;12383:11:0;;-1:-1:-1;;;12383:11:0;;;;12347:47;12344:1482;;;12447:15;12437:7;;:25;12433:149;;;12498:2;12487:13;;12433:149;;;12560:2;12549:13;;12433:149;12628:18;12629:8;12643:2;12628:14;:18::i;:::-;12618:7;:28;;;12676:25;;12677:15;:8;12690:1;12677:12;:15::i;12676:25::-;12665:8;:36;12796:24;;12793:314;;12881:13;;12871:40;;12907:3;;12871:31;;12900:1;;12871:24;;-1:-1:-1;;;;;12881:13:0;12871:9;:24::i;:40::-;12848:20;:63;12845:182;;;12973:13;;12963:40;;12999:3;;12963:31;;12992:1;;12963:24;;-1:-1:-1;;;;;12973:13:0;12963:9;:24::i;:40::-;12940:63;;12845:182;13049:38;13066:20;13049:16;:38::i;:::-;13154:21;13197:22;;13194:105;;13244:35;13257:21;13244:12;:35::i;:::-;13359:13;;13349:40;;13385:3;;13349:31;;13378:1;;13349:24;;-1:-1:-1;;;;;13359:13:0;13349:9;:24::i;:40::-;13339:6;:50;13335:140;;13426:29;:15;13445:9;13426:29;:::i;:::-;13415:8;:40;13335:140;13541:1;13515:22;;:27;13511:238;;13578:29;:15;13597:9;13578:29;:::i;:::-;13567:8;:40;13655:1;13630:22;:26;13511:238;;;13705:22;:24;;;:22;:24;;;:::i;:::-;;;;;;13511:238;-1:-1:-1;13809:1:0;13785:21;:25;12344:1482;10260:3577;;;-1:-1:-1;;;;;13882:24:0;;13847:12;13882:24;;;:18;:24;;;;;;13862:4;;13882:24;;;:50;;-1:-1:-1;;;;;;13910:22:0;;;;;;:18;:22;;;;;;;;13882:50;:68;;;-1:-1:-1;13936:14:0;;-1:-1:-1;;;13936:14:0;;;;13882:68;13879:114;;;-1:-1:-1;13976:5:0;13879:114;14013:38;14028:4;14033:2;14036:6;14043:7;14013:14;:38::i;:::-;9949:4110;;;;:::o;2618:190::-;2704:7;2740:12;2732:6;;;;2724:29;;;;-1:-1:-1;;;2724:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2764:9:0;2776:5;2780:1;2776;:5;:::i;:::-;2764:17;2618:190;-1:-1:-1;;;;;2618:190:0:o;8995:254::-;9062:7;9101;;9090;:18;;9082:73;;;;-1:-1:-1;;;9082:73:0;;6988:2:1;9082:73:0;;;6970:21:1;7027:2;7007:18;;;7000:30;7066:34;7046:18;;;7039:62;-1:-1:-1;;;7117:18:1;;;7110:40;7167:19;;9082:73:0;6960:232:1;9082:73:0;9166:19;9189:10;:8;:10::i;:::-;9166:33;-1:-1:-1;9217:24:0;:7;9166:33;9217:11;:24::i;:::-;9210:31;8995:254;-1:-1:-1;;;8995:254:0:o;3069:132::-;3127:7;3154:39;3158:1;3161;3154:39;;;;;;;;;;;;;;;;;:3;:39::i;2816:245::-;2874:7;2897:6;2894:46;;-1:-1:-1;2927:1:0;2920:8;;2894:46;2950:9;2962:5;2966:1;2962;:5;:::i;:::-;2950:17;-1:-1:-1;2995:1:0;2986:5;2990:1;2950:17;2986:5;:::i;:::-;:10;2978:56;;;;-1:-1:-1;;;2978:56:0;;8561:2:1;2978:56:0;;;8543:21:1;8600:2;8580:18;;;8573:30;8639:34;8619:18;;;8612:62;-1:-1:-1;;;8690:18:1;;;8683:31;8731:19;;2978:56:0;8533:223:1;14067:483:0;7093:6;:13;;-1:-1:-1;;;;7093:13:0;-1:-1:-1;;;7093:13:0;;;14169:16:::1;::::0;;14183:1:::1;14169:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14169:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14169:16:0::1;14145:40;;14214:4;14196;14201:1;14196:7;;;;;;-1:-1:-1::0;;;14196:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;14196:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14240:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;14240:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14196:7;;14240:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14230:4;14235:1;14230:7;;;;;;-1:-1:-1::0;;;14230:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;14230:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14305:15:::1;::::0;14273:62:::1;::::0;14290:4:::1;::::0;14305:15:::1;14323:11:::0;14273:8:::1;:62::i;:::-;14346:15;::::0;:196:::1;::::0;-1:-1:-1;;;14346:196:0;;-1:-1:-1;;;;;14346:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;14427:11;;14346:15:::1;::::0;14469:4;;14496::::1;::::0;14516:15:::1;::::0;14346:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7129:6:0;:14;;-1:-1:-1;;;;7129:14:0;;;-1:-1:-1;;;;14067:483:0:o;14566:158::-;14623:11;;-1:-1:-1;;;;;14623:11:0;:35;14644:13;:6;14655:1;14644:10;:13::i;:::-;14623:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14669:23:0;;-1:-1:-1;;;;;14669:23:0;:47;14702:13;:6;14713:1;14702:10;:13::i;:::-;14669:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14736:263;14848:7;14844:40;;14870:14;:12;:14::i;:::-;14895:44;14913:6;14921:9;14932:6;14895:17;:44::i;:::-;14954:7;14950:41;;14976:15;9533;;9523:7;:25;9570:16;;9559:8;:27;9479:115;16340:163;16381:7;16402:15;16419;16438:19;:17;:19::i;:::-;16401:56;;-1:-1:-1;16401:56:0;-1:-1:-1;16475:20:0;16401:56;;16475:11;:20::i;:::-;16468:27;;;;16340:163;:::o;3209:189::-;3295:7;3330:12;3323:5;3315:28;;;;-1:-1:-1;;;3315:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3354:9:0;3366:5;3370:1;3366;:5;:::i;9257:210::-;9303:7;;:12;:29;;;;-1:-1:-1;9319:8:0;;:13;9303:29;9300:41;;;9257:210::o;9300:41::-;9369:7;;;9351:15;:25;9406:8;;;9387:16;:27;-1:-1:-1;9425:11:0;;;;9447:12;9257:210::o;15007:490::-;15106:15;15123:23;15148:12;15162:23;15187:12;15201:13;15218:19;15229:7;15218:10;:19::i;:::-;-1:-1:-1;;;;;15266:15:0;;;;;;:7;:15;;;;;;15105:132;;-1:-1:-1;15105:132:0;;-1:-1:-1;15105:132:0;;-1:-1:-1;15105:132:0;-1:-1:-1;15105:132:0;-1:-1:-1;15105:132:0;-1:-1:-1;15266:28:0;;15105:132;15266:19;:28::i;:::-;-1:-1:-1;;;;;15248:15:0;;;;;;;:7;:15;;;;;;:46;;;;15326:18;;;;;;;:39;;15349:15;15326:22;:39::i;:::-;-1:-1:-1;;;;;15305:18:0;;;;;;:7;:18;;;;;:60;15379:16;15389:5;15379:9;:16::i;:::-;15406:23;15418:4;15424;15406:11;:23::i;:::-;15462:9;-1:-1:-1;;;;;15445:44:0;15454:6;-1:-1:-1;;;;;15445:44:0;;15473:15;15445:44;;;;11194:25:1;;11182:2;11167:18;;11149:76;15445:44:0;;;;;;;;15007:490;;;;;;;;;:::o;16511:255::-;16608:7;;16561;;;;5707:12;16675:20;16608:7;5707:12;16675:11;:20::i;:::-;16665:7;:30;16662:60;;;-1:-1:-1;;16705:7:0;;;5707:12;;-1:-1:-1;16511:255:0;-1:-1:-1;16511:255:0:o;16662:60::-;16741:7;;16750;;-1:-1:-1;16511:255:0;-1:-1:-1;16511:255:0:o;15505:468::-;15564:7;15573;15582;15591;15600;15609;15630:23;15655:12;15669:13;15686:39;15698:7;15707;;15716:8;;15686:11;:39::i;:::-;15629:96;;;;;;15736:19;15759:10;:8;:10::i;:::-;15736:33;;15781:15;15798:23;15823:12;15839:46;15851:7;15860:4;15866:5;15873:11;15839;:46::i;:::-;15780:105;;-1:-1:-1;15780:105:0;-1:-1:-1;15780:105:0;-1:-1:-1;15936:15:0;;-1:-1:-1;15953:4:0;;-1:-1:-1;15959:5:0;;-1:-1:-1;;;;;15505:468:0;;;;;;;:::o;2474:136::-;2532:7;2559:43;2563:1;2566;2559:43;;;;;;;;;;;;;;;;;:3;:43::i;2287:179::-;2345:7;;2377:5;2381:1;2377;:5;:::i;:::-;2365:17;;2406:1;2401;:6;;2393:46;;;;-1:-1:-1;;;2393:46:0;;8205:2:1;2393:46:0;;;8187:21:1;8244:2;8224:18;;;8217:30;8283:29;8263:18;;;8256:57;8330:18;;2393:46:0;8177:177:1;17191:214:0;17244:19;17267:10;:8;:10::i;:::-;17244:33;-1:-1:-1;17288:13:0;17304:22;:5;17244:33;17304:9;:22::i;:::-;17380:4;17364:22;;;;:7;:22;;;;;;17288:38;;-1:-1:-1;17364:33:0;;17288:38;17364:26;:33::i;:::-;17355:4;17339:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;17191:214:0:o;17413:147::-;17491:7;;:17;;17503:4;17491:11;:17::i;:::-;17481:7;:27;17532:10;;:20;;17547:4;17532:14;:20::i;:::-;17519:10;:33;-1:-1:-1;;17413:147:0:o;15981:351::-;16074:7;;;;16127:28;16151:3;16127:19;:7;16139:6;16127:11;:19::i;:28::-;16112:43;-1:-1:-1;16166:13:0;16182:29;16207:3;16182:20;:7;16194;16182:11;:20::i;:29::-;16166:45;-1:-1:-1;16222:23:0;16248:28;16166:45;16248:17;:7;16260:4;16248:11;:17::i;:::-;:21;;:28::i;:::-;16222:54;16312:4;;-1:-1:-1;16318:5:0;;-1:-1:-1;15981:351:0;;-1:-1:-1;;;;;15981:351:0:o;16774:409::-;16884:7;;;;16940:24;:7;16952:11;16940;:24::i;:::-;16922:42;-1:-1:-1;16975:12:0;16990:21;:4;16999:11;16990:8;:21::i;:::-;16975:36;-1:-1:-1;17022:13:0;17038:22;:5;17048:11;17038:9;:22::i;:::-;17022:38;-1:-1:-1;17071:23:0;17097:28;17022:38;17097:17;:7;17109:4;17097:11;:17::i;:28::-;17144:7;;;;-1:-1:-1;17170:4:0;;-1:-1:-1;16774:409:0;;-1:-1:-1;;;;;;;16774:409:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;951:398::-;1019:6;1027;1080:2;1068:9;1059:7;1055:23;1051:32;1048:2;;;1101:6;1093;1086:22;1048:2;1145:9;1132:23;1164:31;1189:5;1164:31;:::i;:::-;1214:5;-1:-1:-1;1271:2:1;1256:18;;1243:32;1284:33;1243:32;1284:33;:::i;:::-;1336:7;1326:17;;;1038:311;;;;;:::o;1354:466::-;1431:6;1439;1447;1500:2;1488:9;1479:7;1475:23;1471:32;1468:2;;;1521:6;1513;1506:22;1468:2;1565:9;1552:23;1584:31;1609:5;1584:31;:::i;:::-;1634:5;-1:-1:-1;1691:2:1;1676:18;;1663:32;1704:33;1663:32;1704:33;:::i;:::-;1458:362;;1756:7;;-1:-1:-1;;;1810:2:1;1795:18;;;;1782:32;;1458:362::o;1825:325::-;1893:6;1901;1954:2;1942:9;1933:7;1929:23;1925:32;1922:2;;;1975:6;1967;1960:22;1922:2;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;2140:2;2125:18;;;;2112:32;;-1:-1:-1;;;1912:238:1:o;2155:1177::-;2239:6;2270:2;2313;2301:9;2292:7;2288:23;2284:32;2281:2;;;2334:6;2326;2319:22;2281:2;2379:9;2366:23;2408:18;2449:2;2441:6;2438:14;2435:2;;;2470:6;2462;2455:22;2435:2;2513:6;2502:9;2498:22;2488:32;;2558:7;2551:4;2547:2;2543:13;2539:27;2529:2;;2585:6;2577;2570:22;2529:2;2626;2613:16;2648:2;2644;2641:10;2638:2;;;2654:18;;:::i;:::-;2700:2;2697:1;2693:10;2732:2;2726:9;2795:2;2791:7;2786:2;2782;2778:11;2774:25;2766:6;2762:38;2850:6;2838:10;2835:22;2830:2;2818:10;2815:18;2812:46;2809:2;;;2861:18;;:::i;:::-;2897:2;2890:22;2947:18;;;2981:15;;;;-1:-1:-1;3016:11:1;;;3046;;;3042:20;;3039:33;-1:-1:-1;3036:2:1;;;3090:6;3082;3075:22;3036:2;3117:6;3108:15;;3132:169;3146:2;3143:1;3140:9;3132:169;;;3203:23;3222:3;3203:23;:::i;:::-;3191:36;;3164:1;3157:9;;;;;3247:12;;;;3279;;3132:169;;;-1:-1:-1;3320:6:1;2250:1082;-1:-1:-1;;;;;;;;2250:1082:1:o;3337:251::-;3393:6;3446:2;3434:9;3425:7;3421:23;3417:32;3414:2;;;3467:6;3459;3452:22;3414:2;3511:9;3498:23;3530:28;3552:5;3530:28;:::i;3593:255::-;3660:6;3713:2;3701:9;3692:7;3688:23;3684:32;3681:2;;;3734:6;3726;3719:22;3681:2;3771:9;3765:16;3790:28;3812:5;3790:28;:::i;3853:316::-;3941:6;3949;3957;4010:2;3998:9;3989:7;3985:23;3981:32;3978:2;;;4031:6;4023;4016:22;3978:2;4065:9;4059:16;4049:26;;4115:2;4104:9;4100:18;4094:25;4084:35;;4159:2;4148:9;4144:18;4138:25;4128:35;;3968:201;;;;;:::o;5774:603::-;5886:4;5915:2;5944;5933:9;5926:21;5976:6;5970:13;6019:6;6014:2;6003:9;5999:18;5992:34;6044:4;6057:140;6071:6;6068:1;6065:13;6057:140;;;6166:14;;;6162:23;;6156:30;6132:17;;;6151:2;6128:26;6121:66;6086:10;;6057:140;;;6215:6;6212:1;6209:13;6206:2;;;6285:4;6280:2;6271:6;6260:9;6256:22;6252:31;6245:45;6206:2;-1:-1:-1;6361:2:1;6340:15;-1:-1:-1;;6336:29:1;6321:45;;;;6368:2;6317:54;;5895:482;-1:-1:-1;;;5895:482:1:o;8761:356::-;8963:2;8945:21;;;8982:18;;;8975:30;9041:34;9036:2;9021:18;;9014:62;9108:2;9093:18;;8935:182::o;11230:983::-;11492:4;11540:3;11529:9;11525:19;11571:6;11560:9;11553:25;11597:2;11635:6;11630:2;11619:9;11615:18;11608:34;11678:3;11673:2;11662:9;11658:18;11651:31;11702:6;11737;11731:13;11768:6;11760;11753:22;11806:3;11795:9;11791:19;11784:26;;11845:2;11837:6;11833:15;11819:29;;11866:4;11879:195;11893:6;11890:1;11887:13;11879:195;;;11958:13;;-1:-1:-1;;;;;11954:39:1;11942:52;;12049:15;;;;12014:12;;;;11990:1;11908:9;11879:195;;;-1:-1:-1;;;;;;;12130:32:1;;;;12125:2;12110:18;;12103:60;-1:-1:-1;;;12194:3:1;12179:19;12172:35;12091:3;11501:712;-1:-1:-1;;;11501:712:1:o;12407:128::-;12447:3;12478:1;12474:6;12471:1;12468:13;12465:2;;;12484:18;;:::i;:::-;-1:-1:-1;12520:9:1;;12455:80::o;12540:217::-;12580:1;12606;12596:2;;-1:-1:-1;;;12631:31:1;;12685:4;12682:1;12675:15;12713:4;12638:1;12703:15;12596:2;-1:-1:-1;12742:9:1;;12586:171::o;12762:168::-;12802:7;12868:1;12864;12860:6;12856:14;12853:1;12850:21;12845:1;12838:9;12831:17;12827:45;12824:2;;;12875:18;;:::i;:::-;-1:-1:-1;12915:9:1;;12814:116::o;12935:125::-;12975:4;13003:1;13000;12997:8;12994:2;;;13008:18;;:::i;:::-;-1:-1:-1;13045:9:1;;12984:76::o;13065:135::-;13104:3;-1:-1:-1;;13125:17:1;;13122:2;;;13145:18;;:::i;:::-;-1:-1:-1;13192:1:1;13181:13;;13112:88::o;13205:127::-;13266:10;13261:3;13257:20;13254:1;13247:31;13297:4;13294:1;13287:15;13321:4;13318:1;13311:15;13337:127;13398:10;13393:3;13389:20;13386:1;13379:31;13429:4;13426:1;13419:15;13453:4;13450:1;13443:15;13469:131;-1:-1:-1;;;;;13544:31:1;;13534:42;;13524:2;;13590:1;13587;13580:12;13524:2;13514:86;:::o;13605:118::-;13691:5;13684:13;13677:21;13670:5;13667:32;13657:2;;13713:1;13710;13703:12
Swarm Source
ipfs://925b776e724d20b979e08c580618a185577910f06bba79befd724d0e34351bf1
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.