Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
21,000,000 BBCC
Holders
78
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BBCC
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-24 */ /** */ // SPDX-License-Identifier: NOLICENSE /** Token Name: BORACAY BEACH CRYPTO CLUB Ticker: BBCC Supply: 21,000,000 Boracay known as one of the best beaches in the world with almost 2 million international tourist and local visits, located in the Philippines. Has already accepting $BITCOIN as a mode of payment. With that, $BBCC aims to become the first decentralize organization to establish "$BBCC Crypto Resort" that will accept $BITCOIN $BBCC as a payment. As a holder of $BBCC we will expand partnerships on the island for all existing establishments for rewards and discounts. $BBCC holders can have 100% free staycation every year with numerous nights of stays and will have annual renewal. Telegram: t.me/BBCCERC20 Twitter: https://twitter.com/BBCCERC20 */ pragma solidity ^0.8.4; 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; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view 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 BBCC is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isExcludedFromMaxWalletSize; string private constant _name = "BORACAY BEACH CRYPTO CLUB"; string private constant _symbol = "BBCC"; uint8 private constant _decimals = 9; uint256 public buyAutoLiquidityFee = 0; uint256 public buyAutoBurnFee = 0; uint256 public buyMarketingFee = 800; uint256 public totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee; uint256 public sellAutoLiquidityFee = 0; uint256 public sellAutoBurnFee = 0; uint256 public sellMarketingFee = 1200; uint256 public totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; uint256 public tokensForAutoLiquidity; uint256 public tokensForAutoBurn; uint256 public tokensForMarketing; uint16 public masterTaxDivisor = 10000; address public constant DEAD = 0x000000000000000000000000000000000000dEaD; address public pairAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private _tTotal = 21000000 * 10**9; uint256 private maxWalletAmount = 10500 * 10**9; uint256 private maxTxAmount = 10500 * 10**9; address payable private feeAddrWallet; event MaxWalletAmountUpdated(uint maxWalletAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); feeAddrWallet = payable(0x95FEaE04c33dB751b9c3e938Bd0a21ebe28851Bb); _tOwned[owner()] = _tTotal; uint256 _buyAutoLiquidityFee = 0; uint256 _buyAutoBurnFee = 0; uint256 _buyMarketingFee = 800; uint256 _sellAutoLiquidityFee = 0; uint256 _sellAutoBurnFee = 0; uint256 _sellMarketingFee = 1200; buyAutoLiquidityFee = _buyAutoLiquidityFee; buyAutoBurnFee = _buyAutoBurnFee; buyMarketingFee = _buyMarketingFee; totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee; sellAutoLiquidityFee = _sellAutoLiquidityFee; sellAutoBurnFee = _sellAutoBurnFee; sellMarketingFee = _sellMarketingFee; totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[feeAddrWallet] = true; _isExcludedFromMaxWalletSize[owner()] = true; _isExcludedFromMaxWalletSize[address(this)] = true; _isExcludedFromMaxWalletSize[feeAddrWallet] = true; emit Transfer(address(0), owner(), _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 view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[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 virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); 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"); require(amount <= balanceOf(from),"You are trying to transfer more than your balance"); require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet"); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { require(amount <= maxTxAmount, "Exceeds the maxTxAmount."); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromMaxWalletSize[to]) { require(amount + balanceOf(to) <= maxWalletAmount, "Recipient exceeds max wallet size."); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to])); } 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 _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { _tOwned[sender] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount; _tOwned[recipient] += amountReceived; emit Transfer(sender, recipient, amountReceived); } function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) { if(from == uniswapV2Pair && totalBuyFees > 0 ) { tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor; tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor; tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor; } else if (to == uniswapV2Pair && totalSellFees > 0 ) { tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor; tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor; tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor; } _tOwned[pairAddress] += tokensForAutoLiquidity; emit Transfer(from, pairAddress, tokensForAutoLiquidity); _tOwned[DEAD] += tokensForAutoBurn; _tTotal = _tTotal - tokensForAutoBurn; _tTotal = totalSupply(); emit Transfer(from, DEAD, tokensForAutoBurn); _tOwned[address(this)] += tokensForMarketing; emit Transfer(from, address(this), tokensForMarketing); uint256 feeAmount = tokensForAutoLiquidity + tokensForAutoBurn + tokensForMarketing; return amount - feeAmount; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function excludeFromMaxWalletLimit(address account) public onlyOwner { _isExcludedFromMaxWalletSize[account] = true; } function includeInMaxWalletLimit(address account) public onlyOwner { _isExcludedFromMaxWalletSize[account] = false; } function setWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{ maxTxAmount = _maxTxAmount * 10 **_decimals; maxWalletAmount = _maxWalletSize * 10 **_decimals; } function updateMaxWallet(uint256 _maxWalletSize) external onlyOwner{ maxWalletAmount = _maxWalletSize * 10 **_decimals; } function updateMaxTxtAmount(uint256 _maxTxAmount) external onlyOwner{ maxTxAmount = _maxTxAmount * 10 **_decimals; } function RervertSellFeesToOriginalTax() external onlyOwner { //Original state of sell tax sellAutoLiquidityFee = 0; sellAutoBurnFee = 0; sellMarketingFee = 1200; totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; } function sendETHToFee(uint256 amount) private { feeAddrWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); swapEnabled = true; maxWalletAmount = 10500 * 10**9; maxTxAmount = 10500 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } 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":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RervertSellFeesToOriginalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"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":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"setWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"updateMaxTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600555600060065561032060075560075460065460055462000029919062000694565b62000035919062000694565b60085560006009556000600a556104b0600b55600b54600a546009546200005d919062000694565b62000069919062000694565b600c556010805461ffff19166127101790556012805461ffff60a81b19169055664a9b638448800060135565098cb8c528006014819055601555348015620000b057600080fd5b50620000bc3362000612565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b1580156200011d57600080fd5b505afa15801562000132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000158919062000662565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001a157600080fd5b505afa158015620001b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dc919062000662565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200022557600080fd5b505af11580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000260919062000662565b601260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c057600080fd5b505afa158015620002d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fb919062000662565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034457600080fd5b505afa15801562000359573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037f919062000662565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015620003c657600080fd5b505afa158015620003db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000401919062000662565b601080546001600160a01b03928316620100000262010000600160b01b0319909116179055601680546001600160a01b0319167395feae04c33db751b9c3e938bd0a21ebe28851bb17905560135460008054909216825260016020526040822055600581905560068190556103206007819055819081806104b08362000488838062000694565b62000494919062000694565b6008556009839055600a829055600b81905580620004b3838562000694565b620004bf919062000694565b600c55600160036000620004db6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556016549091168352908220805490931681179092556004906200054b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155601654909116835291208054909216179055620005b56000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601354604051620005fd91815260200190565b60405180910390a350505050505050620006bb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200067557600080fd5b81516001600160a01b03811681146200068d57600080fd5b9392505050565b60008219821115620006b657634e487b7160e01b600052601160045260246000fd5b500190565b611b5c80620006cb6000396000f3fe6080604052600436106102075760003560e01c80637bce5a0411610118578063c24ad66c116100a0578063d0a398141161006f578063d0a39814146105dc578063dd62ed3e146105f2578063ea2f0b3714610638578063f239eab814610658578063f2fde38b1461066e57600080fd5b8063c24ad66c1461057b578063c9567bf91461059b578063c99f2fed146105b0578063cc70acee146105c657600080fd5b80639740a946116100e75780639740a946146104e95780639f71146d146104ff578063a8b089821461051f578063a9059cbb14610545578063b9e937001461056557600080fd5b80637bce5a04146104725780638da5cb5b1461048857806392136913146104a657806395d89b41146104bc57600080fd5b806323b872dd1161019b578063437823ec1161016a578063437823ec146103db57806347afcbfe146103fb5780636cce46fc1461041157806370a0823114610427578063715018a61461045d57600080fd5b806323b872dd1461036a578063313ce5671461038a5780633722355c146103a65780633e0c23b8146103c657600080fd5b806318160ddd116101d757806318160ddd146102e75780631c499ab0146103065780631d6167ac146103265780631f3fed8f1461035457600080fd5b8062f44d241461021357806303fd2a451461023557806306fdde0314610268578063095ea7b3146102b757600080fd5b3661020e57005b600080fd5b34801561021f57600080fd5b5061023361022e366004611831565b61068e565b005b34801561024157600080fd5b5061024b61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561027457600080fd5b5060408051808201909152601981527f424f52414341592042454143482043525950544f20434c55420000000000000060208201525b60405161025f919061186c565b3480156102c357600080fd5b506102d76102d23660046117e3565b6106dd565b604051901515815260200161025f565b3480156102f357600080fd5b506013545b60405190815260200161025f565b34801561031257600080fd5b50610233610321366004611831565b6106f4565b34801561033257600080fd5b506010546103419061ffff1681565b60405161ffff909116815260200161025f565b34801561036057600080fd5b506102f8600f5481565b34801561037657600080fd5b506102d76103853660046117a2565b61073a565b34801561039657600080fd5b506040516009815260200161025f565b3480156103b257600080fd5b506102336103c1366004611728565b6107eb565b3480156103d257600080fd5b50610233610839565b3480156103e757600080fd5b506102336103f6366004611728565b610891565b34801561040757600080fd5b506102f8600a5481565b34801561041d57600080fd5b506102f860095481565b34801561043357600080fd5b506102f8610442366004611728565b6001600160a01b031660009081526001602052604090205490565b34801561046957600080fd5b506102336108df565b34801561047e57600080fd5b506102f860075481565b34801561049457600080fd5b506000546001600160a01b031661024b565b3480156104b257600080fd5b506102f8600b5481565b3480156104c857600080fd5b506040805180820190915260048152634242434360e01b60208201526102aa565b3480156104f557600080fd5b506102f8600d5481565b34801561050b57600080fd5b5061023361051a366004611728565b610915565b34801561052b57600080fd5b5060105461024b906201000090046001600160a01b031681565b34801561055157600080fd5b506102d76105603660046117e3565b610960565b34801561057157600080fd5b506102f860085481565b34801561058757600080fd5b5061023361059636600461184a565b61096d565b3480156105a757600080fd5b506102336109cd565b3480156105bc57600080fd5b506102f860065481565b3480156105d257600080fd5b506102f8600e5481565b3480156105e857600080fd5b506102f8600c5481565b3480156105fe57600080fd5b506102f861060d366004611769565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561064457600080fd5b50610233610653366004611728565b610b02565b34801561066457600080fd5b506102f860055481565b34801561067a57600080fd5b50610233610689366004611728565b610b4d565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b8906118c1565b60405180910390fd5b6106cd6009600a6119e4565b6106d79082611a8f565b60155550565b60006106ea338484610be5565b5060015b92915050565b6000546001600160a01b0316331461071e5760405162461bcd60e51b81526004016106b8906118c1565b61072a6009600a6119e4565b6107349082611a8f565b60145550565b6000610747848484610d09565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156107cc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106b8565b6107e085336107db8685611aae565b610be5565b506001949350505050565b6000546001600160a01b031633146108155760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016106b8906118c1565b60006009819055600a8190556104b0600b819055906108829080611967565b61088c9190611967565b600c55565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146109095760405162461bcd60e51b81526004016106b8906118c1565b610913600061119b565b565b6000546001600160a01b0316331461093f5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19169055565b60006106ea338484610d09565b6000546001600160a01b031633146109975760405162461bcd60e51b81526004016106b8906118c1565b6109a36009600a6119e4565b6109ad9083611a8f565b6015556109bc6009600a6119e4565b6109c69082611a8f565b6014555050565b6000546001600160a01b031633146109f75760405162461bcd60e51b81526004016106b8906118c1565b601254600160a01b900460ff1615610a515760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106b8565b6012805465098cb8c52800601481905560155562ff00ff60a01b1981166201000160a01b1790915560115460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061180f565b50565b6000546001600160a01b03163314610b2c5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b03163314610b775760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b038116610bdc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b610aff8161119b565b6001600160a01b038316610c475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b8565b6001600160a01b038216610ca85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b8565b6001600160a01b038216610dcf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b8565b60008111610e315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b8565b6001600160a01b038316600090815260016020526040902054811115610eb35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106b8565b601254600160a01b900460ff1680610ee357506001600160a01b03831660009081526003602052604090205460ff165b80610f0657506001600160a01b03821660009081526003602052604090205460ff165b610f525760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016106b8565b6012546001600160a01b038481169116148015610f7d57506011546001600160a01b03838116911614155b8015610fa257506001600160a01b03821660009081526003602052604090205460ff16155b15610ff957601554811115610ff95760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e000000000000000060448201526064016106b8565b6012546001600160a01b03848116911614801561102457506011546001600160a01b03838116911614155b801561104957506001600160a01b03821660009081526004602052604090205460ff16155b156110cd576014546001600160a01b0383166000908152600160205260409020546110749083611967565b11156110cd5760405162461bcd60e51b815260206004820152602260248201527f526563697069656e742065786365656473206d61782077616c6c65742073697a604482015261329760f11b60648201526084016106b8565b30600090815260016020526040902054601254600160a81b900460ff1615801561110557506012546001600160a01b03858116911614155b801561111a5750601254600160b01b900460ff165b80156111265750600081115b1561114657611134816111eb565b4780156111445761114447611374565b505b6001600160a01b0384166000908152600360205260409020546111959085908590859060ff168061118f57506001600160a01b03871660009081526003602052604090205460ff165b156113b2565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061123357611233611adb565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061174c565b816001815181106112d2576112d2611adb565b6001600160a01b0392831660209182029290920101526011546112f89130911684610be5565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113319085906000908690309042906004016118f6565b600060405180830381600087803b15801561134b57600080fd5b505af115801561135f573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113ae573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260016020526040812080548492906113da908490611aae565b9091555060009050816113ed57826113f8565b6113f885858561146e565b6001600160a01b038516600090815260016020526040812080549293508392909190611425908490611967565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611b078339815191528360405161145f91815260200190565b60405180910390a35050505050565b6012546000906001600160a01b03858116911614801561149057506000600854115b156115065760105460055461ffff909116906114ac9084611a8f565b6114b6919061197f565b600d5560105460065461ffff909116906114d09084611a8f565b6114da919061197f565b600e5560105460075461ffff909116906114f49084611a8f565b6114fe919061197f565b600f55611597565b6012546001600160a01b03848116911614801561152557506000600c54115b156115975760105460095461ffff909116906115419084611a8f565b61154b919061197f565b600d55601054600a5461ffff909116906115659084611a8f565b61156f919061197f565b600e55601054600b5461ffff909116906115899084611a8f565b611593919061197f565b600f555b600d546010546201000090046001600160a01b0316600090815260016020526040812080549091906115ca908490611967565b9091555050601054600d546040516001600160a01b0362010000909304831692871691600080516020611b078339815191529161160991815260200190565b60405180910390a3600e5461dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054909190611652908490611967565b9091555050600e546013546116679190611aae565b601355600e54604080519182525161dead916001600160a01b03871691600080516020611b078339815191529181900360200190a3600f5430600090815260016020526040812080549091906116be908490611967565b9091555050600f5460405190815230906001600160a01b03861690600080516020611b078339815191529060200160405180910390a36000600f54600e54600d546117099190611967565b6117139190611967565b905061171f8184611aae565b95945050505050565b60006020828403121561173a57600080fd5b813561174581611af1565b9392505050565b60006020828403121561175e57600080fd5b815161174581611af1565b6000806040838503121561177c57600080fd5b823561178781611af1565b9150602083013561179781611af1565b809150509250929050565b6000806000606084860312156117b757600080fd5b83356117c281611af1565b925060208401356117d281611af1565b929592945050506040919091013590565b600080604083850312156117f657600080fd5b823561180181611af1565b946020939093013593505050565b60006020828403121561182157600080fd5b8151801515811461174557600080fd5b60006020828403121561184357600080fd5b5035919050565b6000806040838503121561185d57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156118995785810183015185820160400152820161187d565b818111156118ab576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561197a5761197a611ac5565b500190565b60008261199c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156119dc5781600019048211156119c2576119c2611ac5565b808516156119cf57918102915b93841c93908002906119a6565b509250929050565b600061174560ff8416836000826119fd575060016106ee565b81611a0a575060006106ee565b8160018114611a205760028114611a2a57611a46565b60019150506106ee565b60ff841115611a3b57611a3b611ac5565b50506001821b6106ee565b5060208310610133831016604e8410600b8410161715611a69575081810a6106ee565b611a7383836119a1565b8060001904821115611a8757611a87611ac5565b029392505050565b6000816000190483118215151615611aa957611aa9611ac5565b500290565b600082821015611ac057611ac0611ac5565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610aff57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f2bd19368a177ffc828ec326d9b14578258bf59c27dcaf852d2ac0a8fec092da64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106102075760003560e01c80637bce5a0411610118578063c24ad66c116100a0578063d0a398141161006f578063d0a39814146105dc578063dd62ed3e146105f2578063ea2f0b3714610638578063f239eab814610658578063f2fde38b1461066e57600080fd5b8063c24ad66c1461057b578063c9567bf91461059b578063c99f2fed146105b0578063cc70acee146105c657600080fd5b80639740a946116100e75780639740a946146104e95780639f71146d146104ff578063a8b089821461051f578063a9059cbb14610545578063b9e937001461056557600080fd5b80637bce5a04146104725780638da5cb5b1461048857806392136913146104a657806395d89b41146104bc57600080fd5b806323b872dd1161019b578063437823ec1161016a578063437823ec146103db57806347afcbfe146103fb5780636cce46fc1461041157806370a0823114610427578063715018a61461045d57600080fd5b806323b872dd1461036a578063313ce5671461038a5780633722355c146103a65780633e0c23b8146103c657600080fd5b806318160ddd116101d757806318160ddd146102e75780631c499ab0146103065780631d6167ac146103265780631f3fed8f1461035457600080fd5b8062f44d241461021357806303fd2a451461023557806306fdde0314610268578063095ea7b3146102b757600080fd5b3661020e57005b600080fd5b34801561021f57600080fd5b5061023361022e366004611831565b61068e565b005b34801561024157600080fd5b5061024b61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561027457600080fd5b5060408051808201909152601981527f424f52414341592042454143482043525950544f20434c55420000000000000060208201525b60405161025f919061186c565b3480156102c357600080fd5b506102d76102d23660046117e3565b6106dd565b604051901515815260200161025f565b3480156102f357600080fd5b506013545b60405190815260200161025f565b34801561031257600080fd5b50610233610321366004611831565b6106f4565b34801561033257600080fd5b506010546103419061ffff1681565b60405161ffff909116815260200161025f565b34801561036057600080fd5b506102f8600f5481565b34801561037657600080fd5b506102d76103853660046117a2565b61073a565b34801561039657600080fd5b506040516009815260200161025f565b3480156103b257600080fd5b506102336103c1366004611728565b6107eb565b3480156103d257600080fd5b50610233610839565b3480156103e757600080fd5b506102336103f6366004611728565b610891565b34801561040757600080fd5b506102f8600a5481565b34801561041d57600080fd5b506102f860095481565b34801561043357600080fd5b506102f8610442366004611728565b6001600160a01b031660009081526001602052604090205490565b34801561046957600080fd5b506102336108df565b34801561047e57600080fd5b506102f860075481565b34801561049457600080fd5b506000546001600160a01b031661024b565b3480156104b257600080fd5b506102f8600b5481565b3480156104c857600080fd5b506040805180820190915260048152634242434360e01b60208201526102aa565b3480156104f557600080fd5b506102f8600d5481565b34801561050b57600080fd5b5061023361051a366004611728565b610915565b34801561052b57600080fd5b5060105461024b906201000090046001600160a01b031681565b34801561055157600080fd5b506102d76105603660046117e3565b610960565b34801561057157600080fd5b506102f860085481565b34801561058757600080fd5b5061023361059636600461184a565b61096d565b3480156105a757600080fd5b506102336109cd565b3480156105bc57600080fd5b506102f860065481565b3480156105d257600080fd5b506102f8600e5481565b3480156105e857600080fd5b506102f8600c5481565b3480156105fe57600080fd5b506102f861060d366004611769565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561064457600080fd5b50610233610653366004611728565b610b02565b34801561066457600080fd5b506102f860055481565b34801561067a57600080fd5b50610233610689366004611728565b610b4d565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b8906118c1565b60405180910390fd5b6106cd6009600a6119e4565b6106d79082611a8f565b60155550565b60006106ea338484610be5565b5060015b92915050565b6000546001600160a01b0316331461071e5760405162461bcd60e51b81526004016106b8906118c1565b61072a6009600a6119e4565b6107349082611a8f565b60145550565b6000610747848484610d09565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156107cc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106b8565b6107e085336107db8685611aae565b610be5565b506001949350505050565b6000546001600160a01b031633146108155760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146108635760405162461bcd60e51b81526004016106b8906118c1565b60006009819055600a8190556104b0600b819055906108829080611967565b61088c9190611967565b600c55565b6000546001600160a01b031633146108bb5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146109095760405162461bcd60e51b81526004016106b8906118c1565b610913600061119b565b565b6000546001600160a01b0316331461093f5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600460205260409020805460ff19169055565b60006106ea338484610d09565b6000546001600160a01b031633146109975760405162461bcd60e51b81526004016106b8906118c1565b6109a36009600a6119e4565b6109ad9083611a8f565b6015556109bc6009600a6119e4565b6109c69082611a8f565b6014555050565b6000546001600160a01b031633146109f75760405162461bcd60e51b81526004016106b8906118c1565b601254600160a01b900460ff1615610a515760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106b8565b6012805465098cb8c52800601481905560155562ff00ff60a01b1981166201000160a01b1790915560115460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061180f565b50565b6000546001600160a01b03163314610b2c5760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b03163314610b775760405162461bcd60e51b81526004016106b8906118c1565b6001600160a01b038116610bdc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b610aff8161119b565b6001600160a01b038316610c475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b8565b6001600160a01b038216610ca85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b8565b6001600160a01b038216610dcf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b8565b60008111610e315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106b8565b6001600160a01b038316600090815260016020526040902054811115610eb35760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106b8565b601254600160a01b900460ff1680610ee357506001600160a01b03831660009081526003602052604090205460ff165b80610f0657506001600160a01b03821660009081526003602052604090205460ff165b610f525760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c65642079657400000000000000000060448201526064016106b8565b6012546001600160a01b038481169116148015610f7d57506011546001600160a01b03838116911614155b8015610fa257506001600160a01b03821660009081526003602052604090205460ff16155b15610ff957601554811115610ff95760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e000000000000000060448201526064016106b8565b6012546001600160a01b03848116911614801561102457506011546001600160a01b03838116911614155b801561104957506001600160a01b03821660009081526004602052604090205460ff16155b156110cd576014546001600160a01b0383166000908152600160205260409020546110749083611967565b11156110cd5760405162461bcd60e51b815260206004820152602260248201527f526563697069656e742065786365656473206d61782077616c6c65742073697a604482015261329760f11b60648201526084016106b8565b30600090815260016020526040902054601254600160a81b900460ff1615801561110557506012546001600160a01b03858116911614155b801561111a5750601254600160b01b900460ff165b80156111265750600081115b1561114657611134816111eb565b4780156111445761114447611374565b505b6001600160a01b0384166000908152600360205260409020546111959085908590859060ff168061118f57506001600160a01b03871660009081526003602052604090205460ff165b156113b2565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061123357611233611adb565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061174c565b816001815181106112d2576112d2611adb565b6001600160a01b0392831660209182029290920101526011546112f89130911684610be5565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906113319085906000908690309042906004016118f6565b600060405180830381600087803b15801561134b57600080fd5b505af115801561135f573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6016546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113ae573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260016020526040812080548492906113da908490611aae565b9091555060009050816113ed57826113f8565b6113f885858561146e565b6001600160a01b038516600090815260016020526040812080549293508392909190611425908490611967565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611b078339815191528360405161145f91815260200190565b60405180910390a35050505050565b6012546000906001600160a01b03858116911614801561149057506000600854115b156115065760105460055461ffff909116906114ac9084611a8f565b6114b6919061197f565b600d5560105460065461ffff909116906114d09084611a8f565b6114da919061197f565b600e5560105460075461ffff909116906114f49084611a8f565b6114fe919061197f565b600f55611597565b6012546001600160a01b03848116911614801561152557506000600c54115b156115975760105460095461ffff909116906115419084611a8f565b61154b919061197f565b600d55601054600a5461ffff909116906115659084611a8f565b61156f919061197f565b600e55601054600b5461ffff909116906115899084611a8f565b611593919061197f565b600f555b600d546010546201000090046001600160a01b0316600090815260016020526040812080549091906115ca908490611967565b9091555050601054600d546040516001600160a01b0362010000909304831692871691600080516020611b078339815191529161160991815260200190565b60405180910390a3600e5461dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d8054909190611652908490611967565b9091555050600e546013546116679190611aae565b601355600e54604080519182525161dead916001600160a01b03871691600080516020611b078339815191529181900360200190a3600f5430600090815260016020526040812080549091906116be908490611967565b9091555050600f5460405190815230906001600160a01b03861690600080516020611b078339815191529060200160405180910390a36000600f54600e54600d546117099190611967565b6117139190611967565b905061171f8184611aae565b95945050505050565b60006020828403121561173a57600080fd5b813561174581611af1565b9392505050565b60006020828403121561175e57600080fd5b815161174581611af1565b6000806040838503121561177c57600080fd5b823561178781611af1565b9150602083013561179781611af1565b809150509250929050565b6000806000606084860312156117b757600080fd5b83356117c281611af1565b925060208401356117d281611af1565b929592945050506040919091013590565b600080604083850312156117f657600080fd5b823561180181611af1565b946020939093013593505050565b60006020828403121561182157600080fd5b8151801515811461174557600080fd5b60006020828403121561184357600080fd5b5035919050565b6000806040838503121561185d57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156118995785810183015185820160400152820161187d565b818111156118ab576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561197a5761197a611ac5565b500190565b60008261199c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156119dc5781600019048211156119c2576119c2611ac5565b808516156119cf57918102915b93841c93908002906119a6565b509250929050565b600061174560ff8416836000826119fd575060016106ee565b81611a0a575060006106ee565b8160018114611a205760028114611a2a57611a46565b60019150506106ee565b60ff841115611a3b57611a3b611ac5565b50506001821b6106ee565b5060208310610133831016604e8410600b8410161715611a69575081810a6106ee565b611a7383836119a1565b8060001904821115611a8757611a87611ac5565b029392505050565b6000816000190483118215151615611aa957611aa9611ac5565b500290565b600082821015611ac057611ac0611ac5565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610aff57600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f2bd19368a177ffc828ec326d9b14578258bf59c27dcaf852d2ac0a8fec092da64736f6c63430008070033
Deployed Bytecode Sourcemap
4837:10524:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14440:130;;;;;;;;;;-1:-1:-1;14440:130:0;;;;;:::i;:::-;;:::i;:::-;;5959:73;;;;;;;;;;;;5990:42;5959:73;;;;;-1:-1:-1;;;;;2580:32:1;;;2562:51;;2550:2;2535:18;5959:73:0;;;;;;;;8287:69;;;;;;;;;;-1:-1:-1;8348:5:0;;;;;;;;;;;;;;;;;8287:69;;;;;;;:::i;8997:138::-;;;;;;;;;;-1:-1:-1;8997:138:0;;;;;:::i;:::-;;:::i;:::-;;;3068:14:1;;3061:22;3043:41;;3031:2;3016:18;8997:138:0;2903:187:1;8516:81:0;;;;;;;;;;-1:-1:-1;8587:7:0;;8516:81;;;9119:25:1;;;9107:2;9092:18;8516:81:0;8973:177:1;14297:135:0;;;;;;;;;;-1:-1:-1;14297:135:0;;;;;:::i;:::-;;:::i;5912:38::-;;;;;;;;;;-1:-1:-1;5912:38:0;;;;;;;;;;;8954:6:1;8942:19;;;8924:38;;8912:2;8897:18;5912:38:0;8780:188:1;5872:33:0;;;;;;;;;;;;;;;;9143:420;;;;;;;;;;-1:-1:-1;9143:420:0;;;;;:::i;:::-;;:::i;8441:69::-;;;;;;;;;;-1:-1:-1;8441:69:0;;5326:1;10282:36:1;;10270:2;10255:18;8441:69:0;10140:184:1;13811:123:0;;;;;;;;;;-1:-1:-1;13811:123:0;;;;;:::i;:::-;;:::i;14576:288::-;;;;;;;;;;;;;:::i;13574:111::-;;;;;;;;;;-1:-1:-1;13574:111:0;;;;;:::i;:::-;;:::i;5603:34::-;;;;;;;;;;;;;;;;5557:39;;;;;;;;;;;;;;;;8603:103;;;;;;;;;;-1:-1:-1;8603:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;8687:16:0;8669:7;8687:16;;;:7;:16;;;;;;;8603:103;3500:94;;;;;;;;;;;;;:::i;5421:36::-;;;;;;;;;;;;;;;;3277:87;;;;;;;;;;-1:-1:-1;3323:7:0;3350:6;-1:-1:-1;;;;;3350:6:0;3277:87;;5644:38;;;;;;;;;;;;;;;;8362:73;;;;;;;;;;-1:-1:-1;8425:7:0;;;;;;;;;;;;-1:-1:-1;;;8425:7:0;;;;8362:73;;5787:37;;;;;;;;;;;;;;;;13942:122;;;;;;;;;;-1:-1:-1;13942:122:0;;;;;:::i;:::-;;:::i;6039:26::-;;;;;;;;;;-1:-1:-1;6039:26:0;;;;;;;-1:-1:-1;;;;;6039:26:0;;;8712:144;;;;;;;;;;-1:-1:-1;8712:144:0;;;;;:::i;:::-;;:::i;5464:84::-;;;;;;;;;;;;;;;;14072:217;;;;;;;;;;-1:-1:-1;14072:217:0;;;;;:::i;:::-;;:::i;14976:338::-;;;;;;;;;;;;;:::i;5381:33::-;;;;;;;;;;;;;;;;5831:32;;;;;;;;;;;;;;;;5689:89;;;;;;;;;;;;;;;;8862:129;;;;;;;;;;-1:-1:-1;8862:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;8961:18:0;;;8943:7;8961:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8862:129;13693:110;;;;;;;;;;-1:-1:-1;13693:110:0;;;;;:::i;:::-;;:::i;5336:38::-;;;;;;;;;;;;;;;;3602:192;;;;;;;;;;-1:-1:-1;3602:192:0;;;;;:::i;:::-;;:::i;14440:130::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;;;;;;;;;14548:14:::1;5326:1;14548:2;:14;:::i;:::-;14533:29;::::0;:12;:29:::1;:::i;:::-;14519:11;:43:::0;-1:-1:-1;14440:130:0:o;8997:138::-;9072:4;9080:39;2778:10;9103:7;9112:6;9080:8;:39::i;:::-;-1:-1:-1;9128:4:0;8997:138;;;;;:::o;14297:135::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;14410:14:::1;5326:1;14410:2;:14;:::i;:::-;14393:31;::::0;:14;:31:::1;:::i;:::-;14375:15;:49:::0;-1:-1:-1;14297:135:0:o;9143:420::-;9249:4;9266:36;9276:6;9284:9;9295:6;9266:9;:36::i;:::-;-1:-1:-1;;;;;9342:19:0;;9315:24;9342:19;;;:11;:19;;;;;;;;2778:10;9342:33;;;;;;;;9394:26;;;;9386:79;;;;-1:-1:-1;;;9386:79:0;;5934:2:1;9386:79:0;;;5916:21:1;5973:2;5953:18;;;5946:30;6012:34;5992:18;;;5985:62;-1:-1:-1;;;6063:18:1;;;6056:38;6111:19;;9386:79:0;5732:404:1;9386:79:0;9476:57;9485:6;2778:10;9507:25;9526:6;9507:16;:25;:::i;:::-;9476:8;:57::i;:::-;-1:-1:-1;9551:4:0;;9143:420;-1:-1:-1;;;;9143:420:0:o;13811:123::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13885:37:0::1;;::::0;;;:28:::1;:37;::::0;;;;:44;;-1:-1:-1;;13885:44:0::1;13925:4;13885:44;::::0;;13811:123::o;14576:288::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;14707:1:::1;14684:20;:24:::0;;;14719:15:::1;:19:::0;;;14768:4:::1;14749:16;:23:::0;;;14768:4;14799:38:::1;::::0;14707:1;14799:38:::1;:::i;:::-;:57;;;;:::i;:::-;14783:13;:73:::0;14576:288::o;13574:111::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13643:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;13643:34:0::1;13673:4;13643:34;::::0;;13574:111::o;3500:94::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;3565:21:::1;3583:1;3565:9;:21::i;:::-;3500:94::o:0;13942:122::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14014:37:0::1;14054:5;14014:37:::0;;;:28:::1;:37;::::0;;;;:45;;-1:-1:-1;;14014:45:0::1;::::0;;13942:122::o;8712:144::-;8790:4;8798:42;2778:10;8822:9;8833:6;8798:9;:42::i;14072:217::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;14207:14:::1;5326:1;14207:2;:14;:::i;:::-;14192:29;::::0;:12;:29:::1;:::i;:::-;14178:11;:43:::0;14267:14:::1;5326:1;14267:2;:14;:::i;:::-;14250:31;::::0;:14;:31:::1;:::i;:::-;14232:15;:49:::0;-1:-1:-1;;14072:217:0:o;14976:338::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;15040:11:::1;::::0;-1:-1:-1;;;15040:11:0;::::1;;;15039:12;15031:47;;;::::0;-1:-1:-1;;;15031:47:0;;7925:2:1;15031:47:0::1;::::0;::::1;7907:21:1::0;7964:2;7944:18;;;7937:30;8003:25;7983:18;;;7976:53;8046:18;;15031:47:0::1;7723:347:1::0;15031:47:0::1;15097:11;:18:::0;;15144:13:::1;15126:15;:31:::0;;;15168:11:::1;:27:::0;-1:-1:-1;;;;15206:18:0;;-1:-1:-1;;;15206:18:0;;;;15273:15:::1;::::0;15235:71:::1;::::0;-1:-1:-1;;;15235:71:0;;-1:-1:-1;;;;;15273:15:0;;::::1;15235:71;::::0;::::1;2798:51:1::0;-1:-1:-1;;2865:18:1;;;2858:34;15242:13:0;;;15235:29:::1;::::0;2771:18:1;;15235:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14976:338::o:0;13693:110::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13760:27:0::1;13790:5;13760:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;13760:35:0::1;::::0;;13693:110::o;3602:192::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2778:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3691:22:0;::::1;3683:73;;;::::0;-1:-1:-1;;;3683:73:0;;4721:2:1;3683:73:0::1;::::0;::::1;4703:21:1::0;4760:2;4740:18;;;4733:30;4799:34;4779:18;;;4772:62;-1:-1:-1;;;4850:18:1;;;4843:36;4896:19;;3683:73:0::1;4519:402:1::0;3683:73:0::1;3767:19;3777:8;3767:9;:19::i;9571:335::-:0;-1:-1:-1;;;;;9664:19:0;;9656:68;;;;-1:-1:-1;;;9656:68:0;;7520:2:1;9656:68:0;;;7502:21:1;7559:2;7539:18;;;7532:30;7598:34;7578:18;;;7571:62;-1:-1:-1;;;7649:18:1;;;7642:34;7693:19;;9656:68:0;7318:400:1;9656:68:0;-1:-1:-1;;;;;9743:21:0;;9735:68;;;;-1:-1:-1;;;9735:68:0;;5128:2:1;9735:68:0;;;5110:21:1;5167:2;5147:18;;;5140:30;5206:34;5186:18;;;5179:62;-1:-1:-1;;;5257:18:1;;;5250:32;5299:19;;9735:68:0;4926:398:1;9735:68:0;-1:-1:-1;;;;;9814:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9866:32;;9119:25:1;;;9866:32:0;;9092:18:1;9866:32:0;;;;;;;9571:335;;;:::o;9914:1476::-;-1:-1:-1;;;;;10002:18:0;;9994:68;;;;-1:-1:-1;;;9994:68:0;;7114:2:1;9994:68:0;;;7096:21:1;7153:2;7133:18;;;7126:30;7192:34;7172:18;;;7165:62;-1:-1:-1;;;7243:18:1;;;7236:35;7288:19;;9994:68:0;6912:401:1;9994:68:0;-1:-1:-1;;;;;10081:16:0;;10073:64;;;;-1:-1:-1;;;10073:64:0;;3899:2:1;10073:64:0;;;3881:21:1;3938:2;3918:18;;;3911:30;3977:34;3957:18;;;3950:62;-1:-1:-1;;;4028:18:1;;;4021:33;4071:19;;10073:64:0;3697:399:1;10073:64:0;10165:1;10156:6;:10;10148:64;;;;-1:-1:-1;;;10148:64:0;;6704:2:1;10148:64:0;;;6686:21:1;6743:2;6723:18;;;6716:30;6782:34;6762:18;;;6755:62;-1:-1:-1;;;6833:18:1;;;6826:39;6882:19;;10148:64:0;6502:405:1;10148:64:0;-1:-1:-1;;;;;8687:16:0;;8669:7;8687:16;;;:7;:16;;;;;;10231:6;:25;;10223:86;;;;-1:-1:-1;;;10223:86:0;;4303:2:1;10223:86:0;;;4285:21:1;4342:2;4322:18;;;4315:30;4381:34;4361:18;;;4354:62;-1:-1:-1;;;4432:18:1;;;4425:47;4489:19;;10223:86:0;4101:413:1;10223:86:0;10332:11;;-1:-1:-1;;;10332:11:0;;;;;:39;;-1:-1:-1;;;;;;10347:24:0;;;;;;:18;:24;;;;;;;;10332:39;:65;;;-1:-1:-1;;;;;;10375:22:0;;;;;;:18;:22;;;;;;;;10332:65;10324:101;;;;-1:-1:-1;;;10324:101:0;;8277:2:1;10324:101:0;;;8259:21:1;8316:2;8296:18;;;8289:30;8355:25;8335:18;;;8328:53;8398:18;;10324:101:0;8075:347:1;10324:101:0;10450:13;;-1:-1:-1;;;;;10442:21:0;;;10450:13;;10442:21;:55;;;;-1:-1:-1;10481:15:0;;-1:-1:-1;;;;;10467:30:0;;;10481:15;;10467:30;;10442:55;:83;;;;-1:-1:-1;;;;;;10503:22:0;;;;;;:18;:22;;;;;;;;10501:24;10442:83;10438:178;;;10564:11;;10554:6;:21;;10546:58;;;;-1:-1:-1;;;10546:58:0;;8629:2:1;10546:58:0;;;8611:21:1;8668:2;8648:18;;;8641:30;8707:26;8687:18;;;8680:54;8751:18;;10546:58:0;8427:348:1;10546:58:0;10638:13;;-1:-1:-1;;;;;10630:21:0;;;10638:13;;10630:21;:55;;;;-1:-1:-1;10669:15:0;;-1:-1:-1;;;;;10655:30:0;;;10669:15;;10655:30;;10630:55;:93;;;;-1:-1:-1;;;;;;10691:32:0;;;;;;:28;:32;;;;;;;;10689:34;10630:93;10626:231;;;10791:15;;-1:-1:-1;;;;;8687:16:0;;8669:7;8687:16;;;:7;:16;;;;;;10765:22;;:6;:22;:::i;:::-;:41;;10757:88;;;;-1:-1:-1;;;10757:88:0;;5531:2:1;10757:88:0;;;5513:21:1;5570:2;5550:18;;;5543:30;5609:34;5589:18;;;5582:62;-1:-1:-1;;;5660:18:1;;;5653:32;5702:19;;10757:88:0;5329:398:1;10757:88:0;10918:4;10869:28;8687:16;;;:7;:16;;;;;;10944:6;;-1:-1:-1;;;10944:6:0;;;;10943:7;:32;;;;-1:-1:-1;10962:13:0;;-1:-1:-1;;;;;10954:21:0;;;10962:13;;10954:21;;10943:32;:47;;;;-1:-1:-1;10979:11:0;;-1:-1:-1;;;10979:11:0;;;;10943:47;:73;;;;;11015:1;10994:20;:22;10943:73;10939:344;;;11037:38;11054:20;11037:16;:38::i;:::-;11123:21;11166:22;;11163:105;;11213:35;11226:21;11213:12;:35::i;:::-;11018:265;10939:344;-1:-1:-1;;;;;11330:24:0;;;;;;:18;:24;;;;;;11295:87;;11310:4;;11316:2;;11320:6;;11330:24;;;:50;;-1:-1:-1;;;;;;11358:22:0;;;;;;:18;:22;;;;;;;;11330:50;11328:53;11295:14;:87::i;:::-;9983:1407;9914:1476;;;:::o;3802:173::-;3858:16;3877:6;;-1:-1:-1;;;;;3894:17:0;;;-1:-1:-1;;;;;;3894:17:0;;;;;;3927:40;;3877:6;;;;;;;3927:40;;3858:16;3927:40;3847:128;3802:173;:::o;11398:483::-;6557:6;:13;;-1:-1:-1;;;;6557:13:0;-1:-1:-1;;;6557:13:0;;;11500:16:::1;::::0;;11514:1:::1;11500:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11500:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11500:16:0::1;11476:40;;11545:4;11527;11532:1;11527:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11527:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11571:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11571:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11527:7;;11571:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11561:4;11566:1;11561:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11561:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11636:15:::1;::::0;11604:62:::1;::::0;11621:4:::1;::::0;11636:15:::1;11654:11:::0;11604:8:::1;:62::i;:::-;11677:15;::::0;:196:::1;::::0;-1:-1:-1;;;11677:196:0;;-1:-1:-1;;;;;11677:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11758:11;;11677:15:::1;::::0;11800:4;;11827::::1;::::0;11847:15:::1;::::0;11677:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6593:6:0;:14;;-1:-1:-1;;;;6593:14:0;;;-1:-1:-1;;;;11398:483:0:o;14872:95::-;14929:13;;:30;;-1:-1:-1;;;;;14929:13:0;;;;:30;;;;;14952:6;;14929:13;:30;:13;:30;14952:6;14929:13;:30;;;;;;;;;;;;;;;;;;;;;14872:95;:::o;11889:340::-;-1:-1:-1;;;;;11997:15:0;;;;;;:7;:15;;;;;:25;;12016:6;;11997:15;:25;;12016:6;;11997:25;:::i;:::-;;;;-1:-1:-1;12033:22:0;;-1:-1:-1;12059:7:0;12058:57;;12109:6;12058:57;;;12070:36;12080:6;12088:9;12099:6;12070:9;:36::i;:::-;-1:-1:-1;;;;;12126:18:0;;;;;;:7;:18;;;;;:36;;12033:82;;-1:-1:-1;12033:82:0;;12126:18;;;:36;;12033:82;;12126:36;:::i;:::-;;;;;;;;12195:9;-1:-1:-1;;;;;12178:43:0;12187:6;-1:-1:-1;;;;;12178:43:0;-1:-1:-1;;;;;;;;;;;12206:14:0;12178:43;;;;9119:25:1;;9107:2;9092:18;;8973:177;12178:43:0;;;;;;;;11986:243;11889:340;;;;:::o;12237:1329::-;12347:13;;12316:7;;-1:-1:-1;;;;;12339:21:0;;;12347:13;;12339:21;:41;;;;;12379:1;12364:12;;:16;12339:41;12336:637;;;12455:16;;12433:19;;12455:16;;;;;12424:28;;:6;:28;:::i;:::-;:47;;;;:::i;:::-;12399:22;:72;12532:16;;12515:14;;12532:16;;;;;12506:23;;:6;:23;:::i;:::-;:42;;;;:::i;:::-;12486:17;:62;12620:16;;12602:15;;12620:16;;;;;12593:24;;:6;:24;:::i;:::-;:43;;;;:::i;:::-;12572:18;:64;12336:637;;;12668:13;;-1:-1:-1;;;;;12662:19:0;;;12668:13;;12662:19;:41;;;;;12702:1;12686:13;;:17;12662:41;12658:315;;;12779:16;;12756:20;;12779:16;;;;;12747:29;;:6;:29;:::i;:::-;:48;;;;:::i;:::-;12722:22;:73;12857:16;;12839:15;;12857:16;;;;;12830:24;;:6;:24;:::i;:::-;:43;;;;:::i;:::-;12810:17;:63;12937:16;;12918;;12937;;;;;12909:25;;:6;:25;:::i;:::-;:44;;;;:::i;:::-;12888:18;:65;12658:315;13007:22;;12991:11;;;;;-1:-1:-1;;;;;12991:11:0;12983:20;;;;:7;:20;;;;;:46;;:20;;;:46;;13007:22;;12983:46;:::i;:::-;;;;-1:-1:-1;;13060:11:0;;13073:22;;13045:51;;-1:-1:-1;;;;;13060:11:0;;;;;;;13045:51;;;-1:-1:-1;;;;;;;;;;;13045:51:0;;;9119:25:1;;9107:2;9092:18;;8973:177;13045:51:0;;;;;;;;13134:17;;5990:42;13117:13;;;;:7;:13;;;:34;;:13;;;:34;;13134:17;;13117:34;:::i;:::-;;;;-1:-1:-1;;13182:17:0;;13172:7;;:27;;13182:17;13172:27;:::i;:::-;13162:7;:37;13270:17;;13249:39;;;9119:25:1;;;13249:39:0;5990:42;;-1:-1:-1;;;;;13249:39:0;;;-1:-1:-1;;;;;;;;;;;13249:39:0;;;;9107:2:1;13249:39:0;;;13343:18;;13333:4;13317:22;;;;:7;:22;;;;;:44;;:22;;;:44;;13343:18;;13317:44;:::i;:::-;;;;-1:-1:-1;;13407:18:0;;13377:49;;9119:25:1;;;13400:4:0;;-1:-1:-1;;;;;13377:49:0;;;-1:-1:-1;;;;;;;;;;;13377:49:0;9107:2:1;9092:18;13377:49:0;;;;;;;13439:17;13504:18;;13484:17;;13459:22;;:42;;;;:::i;:::-;:63;;;;:::i;:::-;13439:83;-1:-1:-1;13540:18:0;13439:83;13540:6;:18;:::i;:::-;13533:25;12237:1329;-1:-1:-1;;;;;12237:1329:0:o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;14:247;-1:-1:-1;;;14:247:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:277::-;1763:6;1816:2;1804:9;1795:7;1791:23;1787:32;1784:52;;;1832:1;1829;1822:12;1784:52;1864:9;1858:16;1917:5;1910:13;1903:21;1896:5;1893:32;1883:60;;1939:1;1936;1929:12;1978:180;2037:6;2090:2;2078:9;2069:7;2065:23;2061:32;2058:52;;;2106:1;2103;2096:12;2058:52;-1:-1:-1;2129:23:1;;1978:180;-1:-1:-1;1978:180:1:o;2163:248::-;2231:6;2239;2292:2;2280:9;2271:7;2267:23;2263:32;2260:52;;;2308:1;2305;2298:12;2260:52;-1:-1:-1;;2331:23:1;;;2401:2;2386:18;;;2373:32;;-1:-1:-1;2163:248:1:o;3095:597::-;3207:4;3236:2;3265;3254:9;3247:21;3297:6;3291:13;3340:6;3335:2;3324:9;3320:18;3313:34;3365:1;3375:140;3389:6;3386:1;3383:13;3375:140;;;3484:14;;;3480:23;;3474:30;3450:17;;;3469:2;3446:26;3439:66;3404:10;;3375:140;;;3533:6;3530:1;3527:13;3524:91;;;3603:1;3598:2;3589:6;3578:9;3574:22;3570:31;3563:42;3524:91;-1:-1:-1;3676:2:1;3655:15;-1:-1:-1;;3651:29:1;3636:45;;;;3683:2;3632:54;;3095:597;-1:-1:-1;;;3095:597:1:o;6141:356::-;6343:2;6325:21;;;6362:18;;;6355:30;6421:34;6416:2;6401:18;;6394:62;6488:2;6473:18;;6141:356::o;9155:980::-;9417:4;9465:3;9454:9;9450:19;9496:6;9485:9;9478:25;9522:2;9560:6;9555:2;9544:9;9540:18;9533:34;9603:3;9598:2;9587:9;9583:18;9576:31;9627:6;9662;9656:13;9693:6;9685;9678:22;9731:3;9720:9;9716:19;9709:26;;9770:2;9762:6;9758:15;9744:29;;9791:1;9801:195;9815:6;9812:1;9809:13;9801:195;;;9880:13;;-1:-1:-1;;;;;9876:39:1;9864:52;;9971:15;;;;9936:12;;;;9912:1;9830:9;9801:195;;;-1:-1:-1;;;;;;;10052:32:1;;;;10047:2;10032:18;;10025:60;-1:-1:-1;;;10116:3:1;10101:19;10094:35;10013:3;9155:980;-1:-1:-1;;;9155:980:1:o;10329:128::-;10369:3;10400:1;10396:6;10393:1;10390:13;10387:39;;;10406:18;;:::i;:::-;-1:-1:-1;10442:9:1;;10329:128::o;10462:217::-;10502:1;10528;10518:132;;10572:10;10567:3;10563:20;10560:1;10553:31;10607:4;10604:1;10597:15;10635:4;10632:1;10625:15;10518:132;-1:-1:-1;10664:9:1;;10462:217::o;10684:422::-;10773:1;10816:5;10773:1;10830:270;10851:7;10841:8;10838:21;10830:270;;;10910:4;10906:1;10902:6;10898:17;10892:4;10889:27;10886:53;;;10919:18;;:::i;:::-;10969:7;10959:8;10955:22;10952:55;;;10989:16;;;;10952:55;11068:22;;;;11028:15;;;;10830:270;;;10834:3;10684:422;;;;;:::o;11111:140::-;11169:5;11198:47;11239:4;11229:8;11225:19;11219:4;11305:5;11335:8;11325:80;;-1:-1:-1;11376:1:1;11390:5;;11325:80;11424:4;11414:76;;-1:-1:-1;11461:1:1;11475:5;;11414:76;11506:4;11524:1;11519:59;;;;11592:1;11587:130;;;;11499:218;;11519:59;11549:1;11540:10;;11563:5;;;11587:130;11624:3;11614:8;11611:17;11608:43;;;11631:18;;:::i;:::-;-1:-1:-1;;11687:1:1;11673:16;;11702:5;;11499:218;;11801:2;11791:8;11788:16;11782:3;11776:4;11773:13;11769:36;11763:2;11753:8;11750:16;11745:2;11739:4;11736:12;11732:35;11729:77;11726:159;;;-1:-1:-1;11838:19:1;;;11870:5;;11726:159;11917:34;11942:8;11936:4;11917:34;:::i;:::-;11987:6;11983:1;11979:6;11975:19;11966:7;11963:32;11960:58;;;11998:18;;:::i;:::-;12036:20;;11256:806;-1:-1:-1;;;11256:806:1:o;12067:168::-;12107:7;12173:1;12169;12165:6;12161:14;12158:1;12155:21;12150:1;12143:9;12136:17;12132:45;12129:71;;;12180:18;;:::i;:::-;-1:-1:-1;12220:9:1;;12067:168::o;12240:125::-;12280:4;12308:1;12305;12302:8;12299:34;;;12313:18;;:::i;:::-;-1:-1:-1;12350:9:1;;12240:125::o;12370:127::-;12431:10;12426:3;12422:20;12419:1;12412:31;12462:4;12459:1;12452:15;12486:4;12483:1;12476:15;12502:127;12563:10;12558:3;12554:20;12551:1;12544:31;12594:4;12591:1;12584:15;12618:4;12615:1;12608:15;12766:131;-1:-1:-1;;;;;12841:31:1;;12831:42;;12821:70;;12887:1;12884;12877:12
Swarm Source
ipfs://f2bd19368a177ffc828ec326d9b14578258bf59c27dcaf852d2ac0a8fec092da
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.