ERC-20
Overview
Max Total Supply
10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 KuKu2.0
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
457,425,269,798,985,651,086,603,761,908 KuKu2.0Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Token
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-31 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; /* * Twitter : https://twitter.com/kukuerc?t=AtIxgXFwuwTWY2JTLrWrmw&s=09 * Telegram : https://t.me/kukueth2 * Website : https://kukuerc.com/ */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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 public _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function waiveOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function getTime() public view returns (uint256) { return block.timestamp; } } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Token is Context, IERC20, Ownable { using SafeMath for uint256; string private _name; string private _symbol; uint8 private _decimals; address payable public marketingWalletAddress = payable(msg.sender); address public deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; uint256 public _totalTaxIfBuying = 0; uint256 public _totalTaxIfSelling = 0; uint256 private _totalSupply; uint256 private _minimumTokensBeforeSwap = 0; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () payable { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _name = "KuKu2.0"; _symbol = "KuKu2.0"; _decimals = 0; _owner = msg.sender; _totalSupply = 10000000000000000000000000000000000000000000000000000000000000000000000000000; _minimumTokensBeforeSwap = 10000000000000000000000000; uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[_owner] = true; isExcludedFromFee[address(this)] = true; isExcludedFromFee[marketingWalletAddress] = true; isMarketPair[address(uniswapPair)] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return _minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, 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 setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { _minimumTokensBeforeSwap = newLimit; } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function setFee(uint256 buy,uint256 sell) public onlyOwner { _totalTaxIfBuying = buy; _totalTaxIfSelling = sell; } function setMarketAddress(address addr) public onlyOwner { marketingWalletAddress = payable(addr); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= _minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = _minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { // swap token -> eth swapTokensForEth(tAmount); uint256 amountReceived = address(this).balance; if(amountReceived > 0) transferToAddressETH(marketingWalletAddress, amountReceived); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setMarketAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040819052600380546101003302610100600160a81b0319909116179055600480546001600160a01b03191661dead17815560006009819055600a819055600c55600e805461ffff60a81b1916600160a81b17905563c45a015560e01b8252737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916084916020919081865afa1580156200009b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c1919062000355565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000135919062000355565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a9919062000355565b600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600781526604b754b75322e360cc1b6020820152600190620001f690826200042c565b5060408051808201909152600781526604b754b75322e360cc1b60208201526002906200022490826200042c565b506003805460ff19908116825560008054336001600160a01b03199182161782557f161bcca7119915b50764b4abe86529797775a5f1719510000000000000000000600b8181556a084595161401484a000000600c55600d80549093166001600160a01b03888116918217909455308086526006602090815260408088209388529281528287209490945585548516865260078452818620805488166001908117909155908652818620805488168217905596546101009004841685528085208054871688179055600e54841685526008835280852080549096169096179094559254825482168352600584528483208190558254945190815293169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620004f8565b6000602082840312156200036857600080fd5b81516001600160a01b03811681146200038057600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003b257607f821691505b602082108103620003d357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200042757600081815260208120601f850160051c81016020861015620004025750805b601f850160051c820191505b8181101562000423578281556001016200040e565b5050505b505050565b81516001600160401b0381111562000448576200044862000387565b62000460816200045984546200039d565b84620003d9565b602080601f8311600181146200049857600084156200047f5750858301515b600019600386901b1c1916600185901b17855562000423565b600085815260208120601f198616915b82811015620004c957888601518255948401946001909101908401620004a8565b5085821015620004e85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6119ce80620005086000396000f3fe6080604052600436106101fd5760003560e01c8063844d591c1161010d578063b2bdfa7b116100a0578063da00097d1161006f578063da00097d146105d6578063dd62ed3e146105f7578063f0cd1dac1461063d578063f2fde38b14610653578063fae926121461067357600080fd5b8063b2bdfa7b14610551578063c49b9a8014610571578063c816841b14610591578063d158272d146105b157600080fd5b8063a073d37f116100dc578063a073d37f146104dc578063a457c2d7146104f1578063a5d69d1f14610511578063a9059cbb1461053157600080fd5b8063844d591c146104745780638da5cb5b14610494578063914eb66a146104b257806395d89b41146104c757600080fd5b8063395093511161019057806352f7c9881161015f57806352f7c988146103c55780635342acb4146103e5578063557ed1ba1461041557806370a082311461042857806382eefb431461045e57600080fd5b806339509351146103325780633b97084a146103525780633ecad271146103745780634a74bb02146103a457600080fd5b806323b872dd116101cc57806323b872dd146102bb57806327c8f835146102db5780632b112e49146102fb578063313ce5671461031057600080fd5b806306fdde0314610209578063095ea7b3146102345780631694505e1461026457806318160ddd1461029c57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e610693565b60405161022b91906115ca565b60405180910390f35b34801561024057600080fd5b5061025461024f366004611630565b610725565b604051901515815260200161022b565b34801561027057600080fd5b50600d54610284906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102a857600080fd5b50600b545b60405190815260200161022b565b3480156102c757600080fd5b506102546102d636600461165c565b61073c565b3480156102e757600080fd5b50600454610284906001600160a01b031681565b34801561030757600080fd5b506102ad6107a7565b34801561031c57600080fd5b5060035460405160ff909116815260200161022b565b34801561033e57600080fd5b5061025461034d366004611630565b6107d3565b34801561035e57600080fd5b5061037261036d36600461169d565b610809565b005b34801561038057600080fd5b5061025461038f3660046116b6565b60086020526000908152604090205460ff1681565b3480156103b057600080fd5b50600e5461025490600160a81b900460ff1681565b3480156103d157600080fd5b506103726103e03660046116d3565b610841565b3480156103f157600080fd5b506102546104003660046116b6565b60076020526000908152604090205460ff1681565b34801561042157600080fd5b50426102ad565b34801561043457600080fd5b506102ad6104433660046116b6565b6001600160a01b031660009081526005602052604090205490565b34801561046a57600080fd5b506102ad600a5481565b34801561048057600080fd5b5061037261048f36600461170a565b610876565b3480156104a057600080fd5b506000546001600160a01b0316610284565b3480156104be57600080fd5b506103726108cb565b3480156104d357600080fd5b5061021e61093f565b3480156104e857600080fd5b50600c546102ad565b3480156104fd57600080fd5b5061025461050c366004611630565b61094e565b34801561051d57600080fd5b5061037261052c36600461173f565b61099d565b34801561053d57600080fd5b5061025461054c366004611630565b6109e5565b34801561055d57600080fd5b50600054610284906001600160a01b031681565b34801561057d57600080fd5b5061037261058c36600461173f565b6109f2565b34801561059d57600080fd5b50600e54610284906001600160a01b031681565b3480156105bd57600080fd5b506003546102849061010090046001600160a01b031681565b3480156105e257600080fd5b50600e5461025490600160b01b900460ff1681565b34801561060357600080fd5b506102ad61061236600461175a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064957600080fd5b506102ad60095481565b34801561065f57600080fd5b5061037261066e3660046116b6565b610a74565b34801561067f57600080fd5b5061037261068e3660046116b6565b610b5e565b6060600180546106a290611793565b80601f01602080910402602001604051908101604052809291908181526020018280546106ce90611793565b801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b5050505050905090565b6000610732338484610bb0565b5060015b92915050565b6000610749848484610cd4565b5061079c84336107978560405180606001604052806028815260200161194c602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610ff3565b610bb0565b5060015b9392505050565b6004546001600160a01b0316600090815260056020526040812054600b546107ce9161102d565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610732918590610797908661106f565b6000546001600160a01b0316331461083c5760405162461bcd60e51b8152600401610833906117cd565b60405180910390fd5b600c55565b6000546001600160a01b0316331461086b5760405162461bcd60e51b8152600401610833906117cd565b600991909155600a55565b6000546001600160a01b031633146108a05760405162461bcd60e51b8152600401610833906117cd565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108f55760405162461bcd60e51b8152600401610833906117cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546106a290611793565b6000610732338461079785604051806060016040528060258152602001611974602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610ff3565b6000546001600160a01b031633146109c75760405162461bcd60e51b8152600401610833906117cd565b600e8054911515600160b01b0260ff60b01b19909216919091179055565b600061079c338484610cd4565b6000546001600160a01b03163314610a1c5760405162461bcd60e51b8152600401610833906117cd565b600e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610a6990831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610a9e5760405162461bcd60e51b8152600401610833906117cd565b6001600160a01b038116610b035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610833565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b885760405162461bcd60e51b8152600401610833906117cd565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038316610c125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610833565b6001600160a01b038216610c735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610833565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610d3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610833565b6001600160a01b038316610d9c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610833565b60008211610dfe5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610833565b600e54600160a01b900460ff1615610e2257610e1b8484846110ce565b90506107a0565b30600090815260056020526040902054600c5481108015908190610e505750600e54600160a01b900460ff16155b8015610e7557506001600160a01b03861660009081526008602052604090205460ff16155b8015610e8a5750600e54600160a81b900460ff165b15610eb057600e54600160b01b900460ff1615610ea757600c5491505b610eb0826111b4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610f02918690610ff3565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610f4f57506001600160a01b03861660009081526007602052604090205460ff165b610f6357610f5e878787611203565b610f65565b845b6001600160a01b038716600090815260056020526040902054909150610f8b908261106f565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fdf9085815260200190565b60405180910390a3600193505050506107a0565b600081848411156110175760405162461bcd60e51b815260040161083391906115ca565b5060006110248486611818565b95945050505050565b60006107a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ff3565b60008061107c838561182b565b9050838110156107a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610833565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461111f918490610ff3565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461114e908361106f565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a29086815260200190565b60405180910390a35060019392505050565b600e805460ff60a01b1916600160a01b1790556111d08161130f565b4780156111f2576003546111f29061010090046001600160a01b0316826114a2565b5050600e805460ff60a01b19169055565b6001600160a01b038316600090815260086020526040812054819060ff161561124d576112466064611240600954866114dd90919063ffffffff16565b9061155f565b905061128b565b6001600160a01b03841660009081526008602052604090205460ff161561128b576112886064611240600a54866114dd90919063ffffffff16565b90505b801561130557306000908152600560205260409020546112ab908261106f565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112fc9085815260200190565b60405180910390a35b611024838261102d565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113445761134461183e565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561139d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c19190611854565b816001815181106113d4576113d461183e565b6001600160a01b039283166020918202929092010152600d546113fa9130911684610bb0565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114339085906000908690309042906004016118b5565b600060405180830381600087803b15801561144d57600080fd5b505af1158015611461573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516114969291906118f1565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156114d8573d6000803e3d6000fd5b505050565b6000826000036114ef57506000610736565b60006114fb8385611912565b9050826115088583611929565b146107a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610833565b60006107a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115bd5760405162461bcd60e51b815260040161083391906115ca565b5060006110248486611929565b600060208083528351808285015260005b818110156115f7578581018301518582016040015282016115db565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461162d57600080fd5b50565b6000806040838503121561164357600080fd5b823561164e81611618565b946020939093013593505050565b60008060006060848603121561167157600080fd5b833561167c81611618565b9250602084013561168c81611618565b929592945050506040919091013590565b6000602082840312156116af57600080fd5b5035919050565b6000602082840312156116c857600080fd5b81356107a081611618565b600080604083850312156116e657600080fd5b50508035926020909101359150565b8035801515811461170557600080fd5b919050565b6000806040838503121561171d57600080fd5b823561172881611618565b9150611736602084016116f5565b90509250929050565b60006020828403121561175157600080fd5b6107a0826116f5565b6000806040838503121561176d57600080fd5b823561177881611618565b9150602083013561178881611618565b809150509250929050565b600181811c908216806117a757607f821691505b6020821081036117c757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561073657610736611802565b8082018082111561073657610736611802565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561186657600080fd5b81516107a081611618565b600081518084526020808501945080840160005b838110156118aa5781516001600160a01b031687529582019590820190600101611885565b509495945050505050565b85815284602082015260a0604082015260006118d460a0830186611871565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061190a6040830184611871565b949350505050565b808202811582820484141761073657610736611802565b60008261194657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201c4142ec0b200f63f1d55d4ae70b251770f3caa550382a795e0d1f6cfd21cb6464736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101fd5760003560e01c8063844d591c1161010d578063b2bdfa7b116100a0578063da00097d1161006f578063da00097d146105d6578063dd62ed3e146105f7578063f0cd1dac1461063d578063f2fde38b14610653578063fae926121461067357600080fd5b8063b2bdfa7b14610551578063c49b9a8014610571578063c816841b14610591578063d158272d146105b157600080fd5b8063a073d37f116100dc578063a073d37f146104dc578063a457c2d7146104f1578063a5d69d1f14610511578063a9059cbb1461053157600080fd5b8063844d591c146104745780638da5cb5b14610494578063914eb66a146104b257806395d89b41146104c757600080fd5b8063395093511161019057806352f7c9881161015f57806352f7c988146103c55780635342acb4146103e5578063557ed1ba1461041557806370a082311461042857806382eefb431461045e57600080fd5b806339509351146103325780633b97084a146103525780633ecad271146103745780634a74bb02146103a457600080fd5b806323b872dd116101cc57806323b872dd146102bb57806327c8f835146102db5780632b112e49146102fb578063313ce5671461031057600080fd5b806306fdde0314610209578063095ea7b3146102345780631694505e1461026457806318160ddd1461029c57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e610693565b60405161022b91906115ca565b60405180910390f35b34801561024057600080fd5b5061025461024f366004611630565b610725565b604051901515815260200161022b565b34801561027057600080fd5b50600d54610284906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102a857600080fd5b50600b545b60405190815260200161022b565b3480156102c757600080fd5b506102546102d636600461165c565b61073c565b3480156102e757600080fd5b50600454610284906001600160a01b031681565b34801561030757600080fd5b506102ad6107a7565b34801561031c57600080fd5b5060035460405160ff909116815260200161022b565b34801561033e57600080fd5b5061025461034d366004611630565b6107d3565b34801561035e57600080fd5b5061037261036d36600461169d565b610809565b005b34801561038057600080fd5b5061025461038f3660046116b6565b60086020526000908152604090205460ff1681565b3480156103b057600080fd5b50600e5461025490600160a81b900460ff1681565b3480156103d157600080fd5b506103726103e03660046116d3565b610841565b3480156103f157600080fd5b506102546104003660046116b6565b60076020526000908152604090205460ff1681565b34801561042157600080fd5b50426102ad565b34801561043457600080fd5b506102ad6104433660046116b6565b6001600160a01b031660009081526005602052604090205490565b34801561046a57600080fd5b506102ad600a5481565b34801561048057600080fd5b5061037261048f36600461170a565b610876565b3480156104a057600080fd5b506000546001600160a01b0316610284565b3480156104be57600080fd5b506103726108cb565b3480156104d357600080fd5b5061021e61093f565b3480156104e857600080fd5b50600c546102ad565b3480156104fd57600080fd5b5061025461050c366004611630565b61094e565b34801561051d57600080fd5b5061037261052c36600461173f565b61099d565b34801561053d57600080fd5b5061025461054c366004611630565b6109e5565b34801561055d57600080fd5b50600054610284906001600160a01b031681565b34801561057d57600080fd5b5061037261058c36600461173f565b6109f2565b34801561059d57600080fd5b50600e54610284906001600160a01b031681565b3480156105bd57600080fd5b506003546102849061010090046001600160a01b031681565b3480156105e257600080fd5b50600e5461025490600160b01b900460ff1681565b34801561060357600080fd5b506102ad61061236600461175a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064957600080fd5b506102ad60095481565b34801561065f57600080fd5b5061037261066e3660046116b6565b610a74565b34801561067f57600080fd5b5061037261068e3660046116b6565b610b5e565b6060600180546106a290611793565b80601f01602080910402602001604051908101604052809291908181526020018280546106ce90611793565b801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b5050505050905090565b6000610732338484610bb0565b5060015b92915050565b6000610749848484610cd4565b5061079c84336107978560405180606001604052806028815260200161194c602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610ff3565b610bb0565b5060015b9392505050565b6004546001600160a01b0316600090815260056020526040812054600b546107ce9161102d565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610732918590610797908661106f565b6000546001600160a01b0316331461083c5760405162461bcd60e51b8152600401610833906117cd565b60405180910390fd5b600c55565b6000546001600160a01b0316331461086b5760405162461bcd60e51b8152600401610833906117cd565b600991909155600a55565b6000546001600160a01b031633146108a05760405162461bcd60e51b8152600401610833906117cd565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108f55760405162461bcd60e51b8152600401610833906117cd565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546106a290611793565b6000610732338461079785604051806060016040528060258152602001611974602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610ff3565b6000546001600160a01b031633146109c75760405162461bcd60e51b8152600401610833906117cd565b600e8054911515600160b01b0260ff60b01b19909216919091179055565b600061079c338484610cd4565b6000546001600160a01b03163314610a1c5760405162461bcd60e51b8152600401610833906117cd565b600e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610a6990831515815260200190565b60405180910390a150565b6000546001600160a01b03163314610a9e5760405162461bcd60e51b8152600401610833906117cd565b6001600160a01b038116610b035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610833565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b885760405162461bcd60e51b8152600401610833906117cd565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038316610c125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610833565b6001600160a01b038216610c735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610833565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610d3a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610833565b6001600160a01b038316610d9c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610833565b60008211610dfe5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610833565b600e54600160a01b900460ff1615610e2257610e1b8484846110ce565b90506107a0565b30600090815260056020526040902054600c5481108015908190610e505750600e54600160a01b900460ff16155b8015610e7557506001600160a01b03861660009081526008602052604090205460ff16155b8015610e8a5750600e54600160a81b900460ff165b15610eb057600e54600160b01b900460ff1615610ea757600c5491505b610eb0826111b4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610f02918690610ff3565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610f4f57506001600160a01b03861660009081526007602052604090205460ff165b610f6357610f5e878787611203565b610f65565b845b6001600160a01b038716600090815260056020526040902054909150610f8b908261106f565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fdf9085815260200190565b60405180910390a3600193505050506107a0565b600081848411156110175760405162461bcd60e51b815260040161083391906115ca565b5060006110248486611818565b95945050505050565b60006107a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ff3565b60008061107c838561182b565b9050838110156107a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610833565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461111f918490610ff3565b6001600160a01b03808616600090815260056020526040808220939093559085168152205461114e908361106f565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a29086815260200190565b60405180910390a35060019392505050565b600e805460ff60a01b1916600160a01b1790556111d08161130f565b4780156111f2576003546111f29061010090046001600160a01b0316826114a2565b5050600e805460ff60a01b19169055565b6001600160a01b038316600090815260086020526040812054819060ff161561124d576112466064611240600954866114dd90919063ffffffff16565b9061155f565b905061128b565b6001600160a01b03841660009081526008602052604090205460ff161561128b576112886064611240600a54866114dd90919063ffffffff16565b90505b801561130557306000908152600560205260409020546112ab908261106f565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112fc9085815260200190565b60405180910390a35b611024838261102d565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106113445761134461183e565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561139d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c19190611854565b816001815181106113d4576113d461183e565b6001600160a01b039283166020918202929092010152600d546113fa9130911684610bb0565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114339085906000908690309042906004016118b5565b600060405180830381600087803b15801561144d57600080fd5b505af1158015611461573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516114969291906118f1565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156114d8573d6000803e3d6000fd5b505050565b6000826000036114ef57506000610736565b60006114fb8385611912565b9050826115088583611929565b146107a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610833565b60006107a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115bd5760405162461bcd60e51b815260040161083391906115ca565b5060006110248486611929565b600060208083528351808285015260005b818110156115f7578581018301518582016040015282016115db565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461162d57600080fd5b50565b6000806040838503121561164357600080fd5b823561164e81611618565b946020939093013593505050565b60008060006060848603121561167157600080fd5b833561167c81611618565b9250602084013561168c81611618565b929592945050506040919091013590565b6000602082840312156116af57600080fd5b5035919050565b6000602082840312156116c857600080fd5b81356107a081611618565b600080604083850312156116e657600080fd5b50508035926020909101359150565b8035801515811461170557600080fd5b919050565b6000806040838503121561171d57600080fd5b823561172881611618565b9150611736602084016116f5565b90509250929050565b60006020828403121561175157600080fd5b6107a0826116f5565b6000806040838503121561176d57600080fd5b823561177881611618565b9150602083013561178881611618565b809150509250929050565b600181811c908216806117a757607f821691505b6020821081036117c757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561073657610736611802565b8082018082111561073657610736611802565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561186657600080fd5b81516107a081611618565b600081518084526020808501945080840160005b838110156118aa5781516001600160a01b031687529582019590820190600101611885565b509495945050505050565b85815284602082015260a0604082015260006118d460a0830186611871565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061190a6040830184611871565b949350505050565b808202811582820484141761073657610736611802565b60008261194657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201c4142ec0b200f63f1d55d4ae70b251770f3caa550382a795e0d1f6cfd21cb6464736f6c63430008110033
Deployed Bytecode Sourcemap
5494:9344:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7942:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9237:161;;;;;;;;;;-1:-1:-1;9237:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9237:161:0;1023:187:1;6238:41:0;;;;;;;;;;-1:-1:-1;6238:41:0;;;;-1:-1:-1;;;;;6238:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;6238:41:0;1215:229:1;8219:100:0;;;;;;;;;;-1:-1:-1;8299:12:0;;8219:100;;;1595:25:1;;;1583:2;1568:18;8219:100:0;1449:177:1;11143:313:0;;;;;;;;;;-1:-1:-1;11143:313:0;;;;;:::i;:::-;;:::i;5741:71::-;;;;;;;;;;-1:-1:-1;5741:71:0;;;;-1:-1:-1;;;;;5741:71:0;;;10600:128;;;;;;;;;;;;;:::i;8128:83::-;;;;;;;;;;-1:-1:-1;8194:9:0;;8128:83;;8194:9;;;;2442:36:1;;2430:2;2415:18;8128:83:0;2300:184:1;8605:218:0;;;;;;;;;;-1:-1:-1;8605:218:0;;;;;:::i;:::-;;:::i;9888:125::-;;;;;;;;;;-1:-1:-1;9888:125:0;;;;;:::i;:::-;;:::i;:::-;;6001:45;;;;;;;;;;-1:-1:-1;6001:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6349:40;;;;;;;;;;-1:-1:-1;6349:40:0;;;;-1:-1:-1;;;6349:40:0;;;;;;10333:137;;;;;;;;;;-1:-1:-1;10333:137:0;;;;;:::i;:::-;;:::i;5944:50::-;;;;;;;;;;-1:-1:-1;5944:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3653:90;;;;;;;;;;-1:-1:-1;3720:15:0;3653:90;;8327:119;;;;;;;;;;-1:-1:-1;8327:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8420:18:0;8393:7;8420:18;;;:9;:18;;;;;;;8327:119;6100:37;;;;;;;;;;;;;;;;9751:129;;;;;;;;;;-1:-1:-1;9751:129:0;;;;;:::i;:::-;;:::i;3034:79::-;;;;;;;;;;-1:-1:-1;3072:7:0;3099:6;-1:-1:-1;;;;;3099:6:0;3034:79;;3248:145;;;;;;;;;;;;;:::i;8033:87::-;;;;;;;;;;;;;:::i;9108:121::-;;;;;;;;;;-1:-1:-1;9197:24:0;;9108:121;;8831:269;;;;;;;;;;-1:-1:-1;8831:269:0;;;;;:::i;:::-;;:::i;10200:125::-;;;;;;;;;;-1:-1:-1;10200:125:0;;;;;:::i;:::-;;:::i;10968:167::-;;;;;;;;;;-1:-1:-1;10968:167:0;;;;;:::i;:::-;;:::i;2910:21::-;;;;;;;;;;-1:-1:-1;2910:21:0;;;;-1:-1:-1;;;;;2910:21:0;;;10021:171;;;;;;;;;;-1:-1:-1;10021:171:0;;;;;:::i;:::-;;:::i;6286:26::-;;;;;;;;;;-1:-1:-1;6286:26:0;;;;-1:-1:-1;;;;;6286:26:0;;;5667:67;;;;;;;;;;-1:-1:-1;5667:67:0;;;;;;;-1:-1:-1;;;;;5667:67:0;;;6396:45;;;;;;;;;;-1:-1:-1;6396:45:0;;;;-1:-1:-1;;;6396:45:0;;;;;;8454:143;;;;;;;;;;-1:-1:-1;8454:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8562:18:0;;;8535:7;8562:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8454:143;6057:36;;;;;;;;;;;;;;;;3401:244;;;;;;;;;;-1:-1:-1;3401:244:0;;;;;:::i;:::-;;:::i;10478:114::-;;;;;;;;;;-1:-1:-1;10478:114:0;;;;;:::i;:::-;;:::i;7942:83::-;7979:13;8012:5;8005:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7942:83;:::o;9237:161::-;9312:4;9329:39;354:10;9352:7;9361:6;9329:8;:39::i;:::-;-1:-1:-1;9386:4:0;9237:161;;;;;:::o;11143:313::-;11241:4;11258:36;11268:6;11276:9;11287:6;11258:9;:36::i;:::-;-1:-1:-1;11305:121:0;11314:6;354:10;11336:89;11374:6;11336:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11336:19:0;;;;;;:11;:19;;;;;;;;354:10;11336:33;;;;;;;;;;:37;:89::i;:::-;11305:8;:121::i;:::-;-1:-1:-1;11444:4:0;11143:313;;;;;;:::o;10600:128::-;10707:11;;-1:-1:-1;;;;;10707:11:0;10653:7;8420:18;;;:9;:18;;;;;;10680:12;;:40;;:16;:40::i;:::-;10673:47;;10600:128;:::o;8605:218::-;354:10;8693:4;8742:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8742:34:0;;;;;;;;;;8693:4;;8710:83;;8733:7;;8742:50;;8781:10;8742:38;:50::i;9888:125::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;;;;;;;;;9970:24:::1;:35:::0;9888:125::o;10333:137::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;10403:17:::1;:23:::0;;;;10437:18:::1;:25:::0;10333:137::o;9751:129::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9840:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;9840:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9751:129::o;3248:145::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;3352:1:::1;3336:6:::0;;3315:40:::1;::::0;-1:-1:-1;;;;;3336:6:0;;::::1;::::0;3315:40:::1;::::0;3352:1;;3315:40:::1;3383:1;3366:19:::0;;-1:-1:-1;;;;;;3366:19:0::1;::::0;;3248:145::o;8033:87::-;8072:13;8105:7;8098:14;;;;;:::i;8831:269::-;8924:4;8941:129;354:10;8964:7;8973:96;9012:15;8973:96;;;;;;;;;;;;;;;;;354:10;8973:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8973:34:0;;;;;;;;;;;;:38;:96::i;10200:125::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;10281:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;10281:36:0::1;-1:-1:-1::0;;;;10281:36:0;;::::1;::::0;;;::::1;::::0;;10200:125::o;10968:167::-;11046:4;11063:42;354:10;11087:9;11098:6;11063:9;:42::i;10021:171::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;10098:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;10098:32:0::1;-1:-1:-1::0;;;;10098:32:0;;::::1;;::::0;;10146:38:::1;::::0;::::1;::::0;::::1;::::0;10122:8;1188:14:1;1181:22;1163:41;;1151:2;1136:18;;1023:187;10146:38:0::1;;;;;;;;10021:171:::0;:::o;3401:244::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3490:22:0;::::1;3482:73;;;::::0;-1:-1:-1;;;3482:73:0;;5414:2:1;3482:73:0::1;::::0;::::1;5396:21:1::0;5453:2;5433:18;;;5426:30;5492:34;5472:18;;;5465:62;-1:-1:-1;;;5543:18:1;;;5536:36;5589:19;;3482:73:0::1;5212:402:1::0;3482:73:0::1;3592:6;::::0;;3571:38:::1;::::0;-1:-1:-1;;;;;3571:38:0;;::::1;::::0;3592:6;::::1;::::0;3571:38:::1;::::0;::::1;3620:6;:17:::0;;-1:-1:-1;;;;;;3620:17:0::1;-1:-1:-1::0;;;;;3620:17:0;;;::::1;::::0;;;::::1;::::0;;3401:244::o;10478:114::-;3161:6;;-1:-1:-1;;;;;3161:6:0;354:10;3161:22;3153:67;;;;-1:-1:-1;;;3153:67:0;;;;;;;:::i;:::-;10546:22:::1;:38:::0;;-1:-1:-1;;;;;10546:38:0;;::::1;;;-1:-1:-1::0;;;;;;10546:38:0;;::::1;::::0;;;::::1;::::0;;10478:114::o;9406:337::-;-1:-1:-1;;;;;9499:19:0;;9491:68;;;;-1:-1:-1;;;9491:68:0;;5821:2:1;9491:68:0;;;5803:21:1;5860:2;5840:18;;;5833:30;5899:34;5879:18;;;5872:62;-1:-1:-1;;;5950:18:1;;;5943:34;5994:19;;9491:68:0;5619:400:1;9491:68:0;-1:-1:-1;;;;;9578:21:0;;9570:68;;;;-1:-1:-1;;;9570:68:0;;6226:2:1;9570:68:0;;;6208:21:1;6265:2;6245:18;;;6238:30;6304:34;6284:18;;;6277:62;-1:-1:-1;;;6355:18:1;;;6348:32;6397:19;;9570:68:0;6024:398:1;9570:68:0;-1:-1:-1;;;;;9651:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9703:32;;1595:25:1;;;9703:32:0;;1568:18:1;9703:32:0;;;;;;;9406:337;;;:::o;11464:1430::-;11551:4;-1:-1:-1;;;;;11578:20:0;;11570:70;;;;-1:-1:-1;;;11570:70:0;;6629:2:1;11570:70:0;;;6611:21:1;6668:2;6648:18;;;6641:30;6707:34;6687:18;;;6680:62;-1:-1:-1;;;6758:18:1;;;6751:35;6803:19;;11570:70:0;6427:401:1;11570:70:0;-1:-1:-1;;;;;11659:23:0;;11651:71;;;;-1:-1:-1;;;11651:71:0;;7035:2:1;11651:71:0;;;7017:21:1;7074:2;7054:18;;;7047:30;7113:34;7093:18;;;7086:62;-1:-1:-1;;;7164:18:1;;;7157:33;7207:19;;11651:71:0;6833:399:1;11651:71:0;11750:1;11741:6;:10;11733:64;;;;-1:-1:-1;;;11733:64:0;;7439:2:1;11733:64:0;;;7421:21:1;7478:2;7458:18;;;7451:30;7517:34;7497:18;;;7490:62;-1:-1:-1;;;7568:18:1;;;7561:39;7617:19;;11733:64:0;7237:405:1;11733:64:0;11823:16;;-1:-1:-1;;;11823:16:0;;;;11820:1067;;;11872:41;11887:6;11895:9;11906:6;11872:14;:41::i;:::-;11865:48;;;;11820:1067;12015:4;11966:28;8420:18;;;:9;:18;;;;;;12091:24;;12067:48;;;;;;;12136:44;;-1:-1:-1;12164:16:0;;-1:-1:-1;;;12164:16:0;;;;12163:17;12136:44;:69;;;;-1:-1:-1;;;;;;12185:20:0;;;;;;:12;:20;;;;;;;;12184:21;12136:69;:94;;;;-1:-1:-1;12209:21:0;;-1:-1:-1;;;12209:21:0;;;;12136:94;12132:301;;;12267:25;;-1:-1:-1;;;12267:25:0;;;;12264:98;;;12338:24;;12315:47;;12264:98;12381:36;12396:20;12381:14;:36::i;:::-;12469:53;;;;;;;;;;;-1:-1:-1;;;12469:53:0;;;;;;;;-1:-1:-1;;;;;12469:17:0;;-1:-1:-1;12469:17:0;;;:9;:17;;;;;;;;:53;;12491:6;;12469:21;:53::i;:::-;-1:-1:-1;;;;;12449:17:0;;;;;;:9;:17;;;;;;;;:73;;;;12562:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;12591:28:0;;;;;;:17;:28;;;;;;;;12562:57;12561:147;;12674:34;12682:6;12690:9;12701:6;12674:7;:34::i;:::-;12561:147;;;12665:6;12561:147;-1:-1:-1;;;;;12750:20:0;;;;;;:9;:20;;;;;;12539:169;;-1:-1:-1;12750:37:0;;12539:169;12750:24;:37::i;:::-;-1:-1:-1;;;;;12727:20:0;;;;;;;:9;:20;;;;;;;:60;;;;12809:40;;;;;;;;;;12837:11;1595:25:1;;1583:2;1568:18;;1449:177;12809:40:0;;;;;;;;12871:4;12864:11;;;;;;;1680:192;1766:7;1802:12;1794:6;;;;1786:29;;;;-1:-1:-1;;;1786:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1826:9:0;1838:5;1842:1;1838;:5;:::i;:::-;1826:17;1680:192;-1:-1:-1;;;;;1680:192:0:o;1536:136::-;1594:7;1621:43;1625:1;1628;1621:43;;;;;;;;;;;;;;;;;:3;:43::i;1347:181::-;1405:7;;1437:5;1441:1;1437;:5;:::i;:::-;1425:17;;1466:1;1461;:6;;1453:46;;;;-1:-1:-1;;;1453:46:0;;8244:2:1;1453:46:0;;;8226:21:1;8283:2;8263:18;;;8256:30;8322:29;8302:18;;;8295:57;8369:18;;1453:46:0;8042:351:1;12902:330:0;13032:53;;;;;;;;;;;-1:-1:-1;;;13032:53:0;;;;;;;;-1:-1:-1;;;;;13032:17:0;;12995:4;13032:17;;;:9;:17;;;;;;;:53;;13054:6;;13032:21;:53::i;:::-;-1:-1:-1;;;;;13012:17:0;;;;;;;:9;:17;;;;;;:73;;;;13119:20;;;;;;;:32;;13144:6;13119:24;:32::i;:::-;-1:-1:-1;;;;;13096:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13167:35;;;;;;;;;;13195:6;1595:25:1;;1583:2;1568:18;;1449:177;13167:35:0;;;;;;;;-1:-1:-1;13220:4:0;12902:330;;;;;:::o;13242:314::-;6852:16;:23;;-1:-1:-1;;;;6852:23:0;-1:-1:-1;;;6852:23:0;;;13346:25:::1;13363:7:::0;13346:16:::1;:25::i;:::-;13407:21;13453:18:::0;;13450:96:::1;;13507:22;::::0;13486:60:::1;::::0;13507:22:::1;::::0;::::1;-1:-1:-1::0;;;;;13507:22:0::1;13531:14:::0;13486:20:::1;:60::i;:::-;-1:-1:-1::0;;6898:16:0;:24;;-1:-1:-1;;;;6898:24:0;;;13242:314::o;14234:594::-;-1:-1:-1;;;;;14377:20:0;;14320:7;14377:20;;;:12;:20;;;;;;14320:7;;14377:20;;14374:223;;;14426:38;14460:3;14426:29;14437:17;;14426:6;:10;;:29;;;;:::i;:::-;:33;;:38::i;:::-;14414:50;;14374:223;;;-1:-1:-1;;;;;14494:23:0;;;;;;:12;:23;;;;;;;;14491:106;;;14546:39;14581:3;14546:30;14557:18;;14546:6;:10;;:30;;;;:::i;:39::-;14534:51;;14491:106;14610:13;;14607:173;;14685:4;14667:24;;;;:9;:24;;;;;;:39;;14696:9;14667:28;:39::i;:::-;14658:4;14640:24;;;;:9;:24;;;;;;;:66;;;;14726:42;;-1:-1:-1;;;;;14726:42:0;;;;;;;14758:9;1595:25:1;;1583:2;1568:18;;1449:177;14726:42:0;;;;;;;;14607:173;14799:21;:6;14810:9;14799:10;:21::i;13564:658::-;13714:16;;;13728:1;13714:16;;;;;;;;13690:21;;13714:16;;;;;;;;;;-1:-1:-1;13714:16:0;13690:40;;13759:4;13741;13746:1;13741:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13741:23:0;;;:7;;;;;;;;;;:23;;;;13785:15;;:22;;;-1:-1:-1;;;13785:22:0;;;;:15;;;;;:20;;:22;;;;;13741:7;;13785:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13775:4;13780:1;13775:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13775:32:0;;;:7;;;;;;;;;:32;13852:15;;13820:62;;13837:4;;13852:15;13870:11;13820:8;:62::i;:::-;13921:15;;:240;;-1:-1:-1;;;13921:240:0;;-1:-1:-1;;;;;13921:15:0;;;;:66;;:240;;14002:11;;13921:15;;14072:4;;14099;;14135:15;;13921:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14179:35;14196:11;14209:4;14179:35;;;;;;;:::i;:::-;;;;;;;;13619:603;13564:658;:::o;10736:126::-;10828:26;;-1:-1:-1;;;;;10828:18:0;;;:26;;;;;10847:6;;10828:26;;;;10847:6;10828:18;:26;;;;;;;;;;;;;;;;;;;;;10736:126;;:::o;1880:250::-;1938:7;1962:1;1967;1962:6;1958:47;;-1:-1:-1;1992:1:0;1985:8;;1958:47;2017:9;2029:5;2033:1;2029;:5;:::i;:::-;2017:17;-1:-1:-1;2062:1:0;2053:5;2057:1;2017:17;2053:5;:::i;:::-;:10;2045:56;;;;-1:-1:-1;;;2045:56:0;;10905:2:1;2045:56:0;;;10887:21:1;10944:2;10924:18;;;10917:30;10983:34;10963:18;;;10956:62;-1:-1:-1;;;11034:18:1;;;11027:31;11075:19;;2045:56:0;10703:397:1;2138:132:0;2196:7;2223:39;2227:1;2230;2223:39;;;;;;;;;;;;;;;;;2364:7;2399:12;2392:5;2384:28;;;;-1:-1:-1;;;2384:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2423:9:0;2435:5;2439:1;2435;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:180::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;-1:-1:-1;2640:23:1;;2489:180;-1:-1:-1;2489:180:1:o;2674:247::-;2733:6;2786:2;2774:9;2765:7;2761:23;2757:32;2754:52;;;2802:1;2799;2792:12;2754:52;2841:9;2828:23;2860:31;2885:5;2860:31;:::i;2926:248::-;2994:6;3002;3055:2;3043:9;3034:7;3030:23;3026:32;3023:52;;;3071:1;3068;3061:12;3023:52;-1:-1:-1;;3094:23:1;;;3164:2;3149:18;;;3136:32;;-1:-1:-1;2926:248:1:o;3179:160::-;3244:20;;3300:13;;3293:21;3283:32;;3273:60;;3329:1;3326;3319:12;3273:60;3179:160;;;:::o;3344:315::-;3409:6;3417;3470:2;3458:9;3449:7;3445:23;3441:32;3438:52;;;3486:1;3483;3476:12;3438:52;3525:9;3512:23;3544:31;3569:5;3544:31;:::i;:::-;3594:5;-1:-1:-1;3618:35:1;3649:2;3634:18;;3618:35;:::i;:::-;3608:45;;3344:315;;;;;:::o;3664:180::-;3720:6;3773:2;3761:9;3752:7;3748:23;3744:32;3741:52;;;3789:1;3786;3779:12;3741:52;3812:26;3828:9;3812:26;:::i;4073:388::-;4141:6;4149;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;4257:9;4244:23;4276:31;4301:5;4276:31;:::i;:::-;4326:5;-1:-1:-1;4383:2:1;4368:18;;4355:32;4396:33;4355:32;4396:33;:::i;:::-;4448:7;4438:17;;;4073:388;;;;;:::o;4466:380::-;4545:1;4541:12;;;;4588;;;4609:61;;4663:4;4655:6;4651:17;4641:27;;4609:61;4716:2;4708:6;4705:14;4685:18;4682:38;4679:161;;4762:10;4757:3;4753:20;4750:1;4743:31;4797:4;4794:1;4787:15;4825:4;4822:1;4815:15;4679:161;;4466:380;;;:::o;4851:356::-;5053:2;5035:21;;;5072:18;;;5065:30;5131:34;5126:2;5111:18;;5104:62;5198:2;5183:18;;4851:356::o;7647:127::-;7708:10;7703:3;7699:20;7696:1;7689:31;7739:4;7736:1;7729:15;7763:4;7760:1;7753:15;7779:128;7846:9;;;7867:11;;;7864:37;;;7881:18;;:::i;7912:125::-;7977:9;;;7998:10;;;7995:36;;;8011:18;;:::i;8530:127::-;8591:10;8586:3;8582:20;8579:1;8572:31;8622:4;8619:1;8612:15;8646:4;8643:1;8636:15;8662:251;8732:6;8785:2;8773:9;8764:7;8760:23;8756:32;8753:52;;;8801:1;8798;8791:12;8753:52;8833:9;8827:16;8852:31;8877:5;8852:31;:::i;8918:461::-;8971:3;9009:5;9003:12;9036:6;9031:3;9024:19;9062:4;9091:2;9086:3;9082:12;9075:19;;9128:2;9121:5;9117:14;9149:1;9159:195;9173:6;9170:1;9167:13;9159:195;;;9238:13;;-1:-1:-1;;;;;9234:39:1;9222:52;;9294:12;;;;9329:15;;;;9270:1;9188:9;9159:195;;;-1:-1:-1;9370:3:1;;8918:461;-1:-1:-1;;;;;8918:461:1:o;9384:582::-;9683:6;9672:9;9665:25;9726:6;9721:2;9710:9;9706:18;9699:34;9769:3;9764:2;9753:9;9749:18;9742:31;9646:4;9790:57;9842:3;9831:9;9827:19;9819:6;9790:57;:::i;:::-;-1:-1:-1;;;;;9883:32:1;;;;9878:2;9863:18;;9856:60;-1:-1:-1;9947:3:1;9932:19;9925:35;9782:65;9384:582;-1:-1:-1;;;9384:582:1:o;9971:332::-;10178:6;10167:9;10160:25;10221:2;10216;10205:9;10201:18;10194:30;10141:4;10241:56;10293:2;10282:9;10278:18;10270:6;10241:56;:::i;:::-;10233:64;9971:332;-1:-1:-1;;;;9971:332:1:o;10308:168::-;10381:9;;;10412;;10429:15;;;10423:22;;10409:37;10399:71;;10450:18;;:::i;10481:217::-;10521:1;10547;10537:132;;10591:10;10586:3;10582:20;10579:1;10572:31;10626:4;10623:1;10616:15;10654:4;10651:1;10644:15;10537:132;-1:-1:-1;10683:9:1;;10481:217::o
Swarm Source
ipfs://1c4142ec0b200f63f1d55d4ae70b251770f3caa550382a795e0d1f6cfd21cb64
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.