ERC-20
Overview
Max Total Supply
1,000,000 TROG
Holders
107
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 7 Decimals)
Balance
0.0000001 TROGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Trogdor
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-02-17 */ /** Trogdor the Burninator Burninating the peasants TG:https://t.me/TROGDReth Web: https://www.trogdoroneth.com/ X: https://x.com/trogdor_eth Memes: https://t.me/trogdormemes */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract Trogdor is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "TROGDOR"; string private constant _symbol = "TROG"; uint8 private constant _decimals = 7; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private _redisFeeOnBuy = 0; uint256 private _redisFeeOnSell = 0; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**7; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; //Buy Tax uint256 public _taxFeeOnBuy = 25; //Sell Tax uint256 public _taxFeeOnSell = 28; uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable public _developmentAddress = payable(0x6B9C925645B0bCf5Cab118bda086F64e033B7e7F); address payable public _marketingAddress = payable(0x6B9C925645B0bCf5Cab118bda086F64e033B7e7F); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 20000 * 10**7; uint256 public _maxWalletSize = 20000 * 10**7; uint256 public _swapTokensAtAmount = 5000 * 10**7; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; _isExcludedFromFee[address(0xdead)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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"); // Check if the transaction is initiated by the owner. bool isOwnerTransaction = (from == owner() || to == owner()); if (!isOwnerTransaction) { // Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; // Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || isOwnerTransaction) { takeFee = false; } else { // Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } // Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount*50/100); _developmentAddress.transfer(amount*50/100); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBot(address isbot) public onlyOwner { bots[isbot] = true; } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function setAddresses(address payable newDevelopmentAddress, address payable newmarketingAddress) public onlyOwner { _developmentAddress = newDevelopmentAddress; _marketingAddress = newmarketingAddress; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { require(taxFeeOnBuy <= 35, "Buy tax should be less than or equal to 35"); require(taxFeeOnSell <= 35, "Sell tax should be less than or equal to 35"); _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { require(maxTxAmount >= 5000 * 10**7, "Max Txn can't be less than 0.5% "); _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { require(maxWalletSize >= 5000 * 10**7, "Max Wallet can't be less than 0.5% "); _maxWalletSize = maxWalletSize; } function removeLimits() public onlyOwner { _maxWalletSize = 1000000 * 10**7; _maxTxAmount = 1000000 * 10**7; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developmentAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnSell","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":[{"internalType":"address","name":"isbot","type":"address"}],"name":"blockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newDevelopmentAddress","type":"address"},{"internalType":"address payable","name":"newmarketingAddress","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260006006819055600755620000226509184e72a0006000196200039e565b6200003090600019620003c1565b6008556019600a55601c600b819055600754600c819055600d829055600e55600f55601280546001600160a01b0319908116736b9c925645b0bcf5cab118bda086f64e033b7e7f9081179092556013805490911690911790556015805461ffff60a81b1916600160b01b179055642e90edd0006016819055601755640ba43b7400601855348015620000c157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506008543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200017a57600080fd5b505afa1580156200018f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b59190620003e7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fe57600080fd5b505afa15801562000213573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002399190620003e7565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028257600080fd5b505af115801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd9190620003e7565b601580546001600160a01b0319166001600160a01b039283161790556000805482168152600560209081526040808320805460ff19908116600190811790925530855282852080548216831790556012548616855282852080548216831790556013549095168452818420805486168217905561dead84527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549095161790935591516509184e72a000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000419565b600082620003bc57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003e257634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003fa57600080fd5b81516001600160a01b03811681146200041257600080fd5b9392505050565b611ff880620004296000396000f3fe6080604052600436106102135760003560e01c80637f2feddc11610118578063bf5976d3116100a0578063caac79341161006f578063caac793414610614578063dd62ed3e14610634578063e70ef8a41461067a578063ea1644d51461069a578063f2fde38b146106ba57600080fd5b8063bf5976d314610599578063bfd79284146105af578063c3c8cd80146105df578063c492f046146105f457600080fd5b80638f9a55c0116100e75780638f9a55c0146104f657806390107afe1461050c57806395d89b411461052c57806398a5c31514610559578063a9059cbb1461057957600080fd5b80637f2feddc146104755780638199040e146104a25780638da5cb5b146104b85780638f70ccf7146104d657600080fd5b806352f7c9881161019b57806370a082311161016a57806370a08231146103f5578063715018a61461041557806374010ece1461042a578063751039fc1461044a5780637d1db4a51461045f57600080fd5b806352f7c9881461037e5780636b999053146103a05780636d8aa8f8146103c05780636fc3eaec146103e057600080fd5b806323b872dd116101e257806323b872dd146102ec5780632fd689e31461030c578063313ce567146103225780633d6a9afe1461033e57806349bd5a5e1461035e57600080fd5b806306fdde031461021f578063095ea7b3146102615780631694505e1461029157806318160ddd146102c957600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506040805180820190915260078152662a2927a3a227a960c91b60208201525b6040516102589190611c04565b60405180910390f35b34801561026d57600080fd5b5061028161027c366004611c6e565b6106da565b6040519015158152602001610258565b34801561029d57600080fd5b506014546102b1906001600160a01b031681565b6040516001600160a01b039091168152602001610258565b3480156102d557600080fd5b506509184e72a0005b604051908152602001610258565b3480156102f857600080fd5b50610281610307366004611c9a565b6106f1565b34801561031857600080fd5b506102de60185481565b34801561032e57600080fd5b5060405160078152602001610258565b34801561034a57600080fd5b506012546102b1906001600160a01b031681565b34801561036a57600080fd5b506015546102b1906001600160a01b031681565b34801561038a57600080fd5b5061039e610399366004611cdb565b61075a565b005b3480156103ac57600080fd5b5061039e6103bb366004611cfd565b610861565b3480156103cc57600080fd5b5061039e6103db366004611d2f565b6108ac565b3480156103ec57600080fd5b5061039e6108f4565b34801561040157600080fd5b506102de610410366004611cfd565b61093f565b34801561042157600080fd5b5061039e610961565b34801561043657600080fd5b5061039e610445366004611d4a565b6109d5565b34801561045657600080fd5b5061039e610a59565b34801561046b57600080fd5b506102de60165481565b34801561048157600080fd5b506102de610490366004611cfd565b60116020526000908152604090205481565b3480156104ae57600080fd5b506102de600b5481565b3480156104c457600080fd5b506000546001600160a01b03166102b1565b3480156104e257600080fd5b5061039e6104f1366004611d2f565b610a94565b34801561050257600080fd5b506102de60175481565b34801561051857600080fd5b5061039e610527366004611d63565b610adc565b34801561053857600080fd5b5060408051808201909152600481526354524f4760e01b602082015261024b565b34801561056557600080fd5b5061039e610574366004611d4a565b610b34565b34801561058557600080fd5b50610281610594366004611c6e565b610b63565b3480156105a557600080fd5b506102de600a5481565b3480156105bb57600080fd5b506102816105ca366004611cfd565b60106020526000908152604090205460ff1681565b3480156105eb57600080fd5b5061039e610b70565b34801561060057600080fd5b5061039e61060f366004611d9c565b610bc4565b34801561062057600080fd5b506013546102b1906001600160a01b031681565b34801561064057600080fd5b506102de61064f366004611d63565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561068657600080fd5b5061039e610695366004611cfd565b610c65565b3480156106a657600080fd5b5061039e6106b5366004611d4a565b610cb3565b3480156106c657600080fd5b5061039e6106d5366004611cfd565b610d43565b60006106e7338484610e2d565b5060015b92915050565b60006106fe848484610f51565b610750843361074b85604051806060016040528060288152602001611f9b602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061146a565b610e2d565b5060019392505050565b6000546001600160a01b0316331461078d5760405162461bcd60e51b815260040161078490611e20565b60405180910390fd5b60238211156107f15760405162461bcd60e51b815260206004820152602a60248201527f427579207461782073686f756c64206265206c657373207468616e206f7220656044820152697175616c20746f20333560b01b6064820152608401610784565b60238111156108565760405162461bcd60e51b815260206004820152602b60248201527f53656c6c207461782073686f756c64206265206c657373207468616e206f722060448201526a657175616c20746f20333560a81b6064820152608401610784565b600a91909155600b55565b6000546001600160a01b0316331461088b5760405162461bcd60e51b815260040161078490611e20565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040161078490611e20565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061092957506013546001600160a01b0316336001600160a01b0316145b61093257600080fd5b4761093c816114a4565b50565b6001600160a01b0381166000908152600260205260408120546106eb90611545565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161078490611e20565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ff5760405162461bcd60e51b815260040161078490611e20565b640ba43b7400811015610a545760405162461bcd60e51b815260206004820181905260248201527f4d61782054786e2063616e2774206265206c657373207468616e20302e3525206044820152606401610784565b601655565b6000546001600160a01b03163314610a835760405162461bcd60e51b815260040161078490611e20565b6509184e72a0006017819055601655565b6000546001600160a01b03163314610abe5760405162461bcd60e51b815260040161078490611e20565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610b065760405162461bcd60e51b815260040161078490611e20565b601280546001600160a01b039384166001600160a01b03199182161790915560138054929093169116179055565b6000546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161078490611e20565b601855565b60006106e7338484610f51565b6012546001600160a01b0316336001600160a01b03161480610ba557506013546001600160a01b0316336001600160a01b0316145b610bae57600080fd5b6000610bb93061093f565b905061093c816115c9565b6000546001600160a01b03163314610bee5760405162461bcd60e51b815260040161078490611e20565b60005b82811015610c5f578160056000868685818110610c1057610c10611e55565b9050602002016020810190610c259190611cfd565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c5781611e81565b915050610bf1565b50505050565b6000546001600160a01b03163314610c8f5760405162461bcd60e51b815260040161078490611e20565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b03163314610cdd5760405162461bcd60e51b815260040161078490611e20565b640ba43b7400811015610d3e5760405162461bcd60e51b815260206004820152602360248201527f4d61782057616c6c65742063616e2774206265206c657373207468616e20302e60448201526201a92960ed1b6064820152608401610784565b601755565b6000546001600160a01b03163314610d6d5760405162461bcd60e51b815260040161078490611e20565b6001600160a01b038116610dd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610784565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e8f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610784565b6001600160a01b038216610ef05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610784565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fb55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610784565b6001600160a01b0382166110175760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610784565b600081116110795760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610784565b600080546001600160a01b03858116911614806110a357506000546001600160a01b038481169116145b90508061138657601554600160a01b900460ff1661113e576000546001600160a01b0385811691161461113e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610784565b6016548211156111905760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610784565b6001600160a01b03841660009081526010602052604090205460ff161580156111d257506001600160a01b03831660009081526010602052604090205460ff16155b61122a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610784565b6015546001600160a01b038481169116146112af576017548261124c8561093f565b6112569190611e9c565b106112af5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610784565b60006112ba3061093f565b6018546016549192508210159082106112d35760165491505b8080156112ea5750601554600160a81b900460ff16155b801561130457506015546001600160a01b03878116911614155b80156113195750601554600160b01b900460ff165b801561133e57506001600160a01b03861660009081526005602052604090205460ff16155b801561136357506001600160a01b03851660009081526005602052604090205460ff16155b1561138357611371826115c9565b47801561138157611381476114a4565b505b50505b6001600160a01b03841660009081526005602052604090205460019060ff16806113c857506001600160a01b03841660009081526005602052604090205460ff165b806113d05750815b156113dd57506000611457565b6015546001600160a01b03868116911614801561140857506014546001600160a01b03858116911614155b1561141a57600654600c55600a54600d555b6015546001600160a01b03858116911614801561144557506014546001600160a01b03868116911614155b1561145757600754600c55600b54600d555b61146385858584611752565b5050505050565b6000818484111561148e5760405162461bcd60e51b81526004016107849190611c04565b50600061149b8486611eb4565b95945050505050565b6013546001600160a01b03166108fc60646114c0846032611ecb565b6114ca9190611eea565b6040518115909202916000818181858888f193505050501580156114f2573d6000803e3d6000fd5b506012546001600160a01b03166108fc606461150f846032611ecb565b6115199190611eea565b6040518115909202916000818181858888f19350505050158015611541573d6000803e3d6000fd5b5050565b60006008548211156115ac5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610784565b60006115b6611780565b90506115c283826117a3565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061161157611611611e55565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169d9190611f0c565b816001815181106116b0576116b0611e55565b6001600160a01b0392831660209182029290920101526014546116d69130911684610e2d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061170f908590600090869030904290600401611f29565b600060405180830381600087803b15801561172957600080fd5b505af115801561173d573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061175f5761175f6117e5565b61176a848484611813565b80610c5f57610c5f600e54600c55600f54600d55565b600080600061178d61190a565b909250905061179c82826117a3565b9250505090565b60006115c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611946565b600c541580156117f55750600d54155b156117fc57565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061182587611974565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061185790876119d1565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546118869086611a13565b6001600160a01b0389166000908152600260205260409020556118a881611a72565b6118b28483611abc565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118f791815260200190565b60405180910390a3505050505050505050565b60085460009081906509184e72a00061192382826117a3565b82101561193d575050600854926509184e72a00092509050565b90939092509050565b600081836119675760405162461bcd60e51b81526004016107849190611c04565b50600061149b8486611eea565b60008060008060008060008060006119918a600c54600d54611ae0565b92509250925060006119a1611780565b905060008060006119b48e878787611b35565b919e509c509a509598509396509194505050505091939550919395565b60006115c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061146a565b600080611a208385611e9c565b9050838110156115c25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610784565b6000611a7c611780565b90506000611a8a8383611b85565b30600090815260026020526040902054909150611aa79082611a13565b30600090815260026020526040902055505050565b600854611ac990836119d1565b600855600954611ad99082611a13565b6009555050565b6000808080611afa6064611af48989611b85565b906117a3565b90506000611b0d6064611af48a89611b85565b90506000611b2582611b1f8b866119d1565b906119d1565b9992985090965090945050505050565b6000808080611b448886611b85565b90506000611b528887611b85565b90506000611b608888611b85565b90506000611b7282611b1f86866119d1565b939b939a50919850919650505050505050565b600082611b94575060006106eb565b6000611ba08385611ecb565b905082611bad8583611eea565b146115c25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610784565b600060208083528351808285015260005b81811015611c3157858101830151858201604001528201611c15565b81811115611c43576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461093c57600080fd5b60008060408385031215611c8157600080fd5b8235611c8c81611c59565b946020939093013593505050565b600080600060608486031215611caf57600080fd5b8335611cba81611c59565b92506020840135611cca81611c59565b929592945050506040919091013590565b60008060408385031215611cee57600080fd5b50508035926020909101359150565b600060208284031215611d0f57600080fd5b81356115c281611c59565b80358015158114611d2a57600080fd5b919050565b600060208284031215611d4157600080fd5b6115c282611d1a565b600060208284031215611d5c57600080fd5b5035919050565b60008060408385031215611d7657600080fd5b8235611d8181611c59565b91506020830135611d9181611c59565b809150509250929050565b600080600060408486031215611db157600080fd5b833567ffffffffffffffff80821115611dc957600080fd5b818601915086601f830112611ddd57600080fd5b813581811115611dec57600080fd5b8760208260051b8501011115611e0157600080fd5b602092830195509350611e179186019050611d1a565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611e9557611e95611e6b565b5060010190565b60008219821115611eaf57611eaf611e6b565b500190565b600082821015611ec657611ec6611e6b565b500390565b6000816000190483118215151615611ee557611ee5611e6b565b500290565b600082611f0757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611f1e57600080fd5b81516115c281611c59565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f795784516001600160a01b031683529383019391830191600101611f54565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a685c27e57117962a0d75551f5294a2e4f007df253301c7e5d1970fb3ccb19c964736f6c63430008090033
Deployed Bytecode
0x6080604052600436106102135760003560e01c80637f2feddc11610118578063bf5976d3116100a0578063caac79341161006f578063caac793414610614578063dd62ed3e14610634578063e70ef8a41461067a578063ea1644d51461069a578063f2fde38b146106ba57600080fd5b8063bf5976d314610599578063bfd79284146105af578063c3c8cd80146105df578063c492f046146105f457600080fd5b80638f9a55c0116100e75780638f9a55c0146104f657806390107afe1461050c57806395d89b411461052c57806398a5c31514610559578063a9059cbb1461057957600080fd5b80637f2feddc146104755780638199040e146104a25780638da5cb5b146104b85780638f70ccf7146104d657600080fd5b806352f7c9881161019b57806370a082311161016a57806370a08231146103f5578063715018a61461041557806374010ece1461042a578063751039fc1461044a5780637d1db4a51461045f57600080fd5b806352f7c9881461037e5780636b999053146103a05780636d8aa8f8146103c05780636fc3eaec146103e057600080fd5b806323b872dd116101e257806323b872dd146102ec5780632fd689e31461030c578063313ce567146103225780633d6a9afe1461033e57806349bd5a5e1461035e57600080fd5b806306fdde031461021f578063095ea7b3146102615780631694505e1461029157806318160ddd146102c957600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506040805180820190915260078152662a2927a3a227a960c91b60208201525b6040516102589190611c04565b60405180910390f35b34801561026d57600080fd5b5061028161027c366004611c6e565b6106da565b6040519015158152602001610258565b34801561029d57600080fd5b506014546102b1906001600160a01b031681565b6040516001600160a01b039091168152602001610258565b3480156102d557600080fd5b506509184e72a0005b604051908152602001610258565b3480156102f857600080fd5b50610281610307366004611c9a565b6106f1565b34801561031857600080fd5b506102de60185481565b34801561032e57600080fd5b5060405160078152602001610258565b34801561034a57600080fd5b506012546102b1906001600160a01b031681565b34801561036a57600080fd5b506015546102b1906001600160a01b031681565b34801561038a57600080fd5b5061039e610399366004611cdb565b61075a565b005b3480156103ac57600080fd5b5061039e6103bb366004611cfd565b610861565b3480156103cc57600080fd5b5061039e6103db366004611d2f565b6108ac565b3480156103ec57600080fd5b5061039e6108f4565b34801561040157600080fd5b506102de610410366004611cfd565b61093f565b34801561042157600080fd5b5061039e610961565b34801561043657600080fd5b5061039e610445366004611d4a565b6109d5565b34801561045657600080fd5b5061039e610a59565b34801561046b57600080fd5b506102de60165481565b34801561048157600080fd5b506102de610490366004611cfd565b60116020526000908152604090205481565b3480156104ae57600080fd5b506102de600b5481565b3480156104c457600080fd5b506000546001600160a01b03166102b1565b3480156104e257600080fd5b5061039e6104f1366004611d2f565b610a94565b34801561050257600080fd5b506102de60175481565b34801561051857600080fd5b5061039e610527366004611d63565b610adc565b34801561053857600080fd5b5060408051808201909152600481526354524f4760e01b602082015261024b565b34801561056557600080fd5b5061039e610574366004611d4a565b610b34565b34801561058557600080fd5b50610281610594366004611c6e565b610b63565b3480156105a557600080fd5b506102de600a5481565b3480156105bb57600080fd5b506102816105ca366004611cfd565b60106020526000908152604090205460ff1681565b3480156105eb57600080fd5b5061039e610b70565b34801561060057600080fd5b5061039e61060f366004611d9c565b610bc4565b34801561062057600080fd5b506013546102b1906001600160a01b031681565b34801561064057600080fd5b506102de61064f366004611d63565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561068657600080fd5b5061039e610695366004611cfd565b610c65565b3480156106a657600080fd5b5061039e6106b5366004611d4a565b610cb3565b3480156106c657600080fd5b5061039e6106d5366004611cfd565b610d43565b60006106e7338484610e2d565b5060015b92915050565b60006106fe848484610f51565b610750843361074b85604051806060016040528060288152602001611f9b602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061146a565b610e2d565b5060019392505050565b6000546001600160a01b0316331461078d5760405162461bcd60e51b815260040161078490611e20565b60405180910390fd5b60238211156107f15760405162461bcd60e51b815260206004820152602a60248201527f427579207461782073686f756c64206265206c657373207468616e206f7220656044820152697175616c20746f20333560b01b6064820152608401610784565b60238111156108565760405162461bcd60e51b815260206004820152602b60248201527f53656c6c207461782073686f756c64206265206c657373207468616e206f722060448201526a657175616c20746f20333560a81b6064820152608401610784565b600a91909155600b55565b6000546001600160a01b0316331461088b5760405162461bcd60e51b815260040161078490611e20565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040161078490611e20565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061092957506013546001600160a01b0316336001600160a01b0316145b61093257600080fd5b4761093c816114a4565b50565b6001600160a01b0381166000908152600260205260408120546106eb90611545565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161078490611e20565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ff5760405162461bcd60e51b815260040161078490611e20565b640ba43b7400811015610a545760405162461bcd60e51b815260206004820181905260248201527f4d61782054786e2063616e2774206265206c657373207468616e20302e3525206044820152606401610784565b601655565b6000546001600160a01b03163314610a835760405162461bcd60e51b815260040161078490611e20565b6509184e72a0006017819055601655565b6000546001600160a01b03163314610abe5760405162461bcd60e51b815260040161078490611e20565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610b065760405162461bcd60e51b815260040161078490611e20565b601280546001600160a01b039384166001600160a01b03199182161790915560138054929093169116179055565b6000546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161078490611e20565b601855565b60006106e7338484610f51565b6012546001600160a01b0316336001600160a01b03161480610ba557506013546001600160a01b0316336001600160a01b0316145b610bae57600080fd5b6000610bb93061093f565b905061093c816115c9565b6000546001600160a01b03163314610bee5760405162461bcd60e51b815260040161078490611e20565b60005b82811015610c5f578160056000868685818110610c1057610c10611e55565b9050602002016020810190610c259190611cfd565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c5781611e81565b915050610bf1565b50505050565b6000546001600160a01b03163314610c8f5760405162461bcd60e51b815260040161078490611e20565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b03163314610cdd5760405162461bcd60e51b815260040161078490611e20565b640ba43b7400811015610d3e5760405162461bcd60e51b815260206004820152602360248201527f4d61782057616c6c65742063616e2774206265206c657373207468616e20302e60448201526201a92960ed1b6064820152608401610784565b601755565b6000546001600160a01b03163314610d6d5760405162461bcd60e51b815260040161078490611e20565b6001600160a01b038116610dd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610784565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610e8f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610784565b6001600160a01b038216610ef05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610784565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fb55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610784565b6001600160a01b0382166110175760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610784565b600081116110795760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610784565b600080546001600160a01b03858116911614806110a357506000546001600160a01b038481169116145b90508061138657601554600160a01b900460ff1661113e576000546001600160a01b0385811691161461113e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610784565b6016548211156111905760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610784565b6001600160a01b03841660009081526010602052604090205460ff161580156111d257506001600160a01b03831660009081526010602052604090205460ff16155b61122a5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610784565b6015546001600160a01b038481169116146112af576017548261124c8561093f565b6112569190611e9c565b106112af5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610784565b60006112ba3061093f565b6018546016549192508210159082106112d35760165491505b8080156112ea5750601554600160a81b900460ff16155b801561130457506015546001600160a01b03878116911614155b80156113195750601554600160b01b900460ff165b801561133e57506001600160a01b03861660009081526005602052604090205460ff16155b801561136357506001600160a01b03851660009081526005602052604090205460ff16155b1561138357611371826115c9565b47801561138157611381476114a4565b505b50505b6001600160a01b03841660009081526005602052604090205460019060ff16806113c857506001600160a01b03841660009081526005602052604090205460ff165b806113d05750815b156113dd57506000611457565b6015546001600160a01b03868116911614801561140857506014546001600160a01b03858116911614155b1561141a57600654600c55600a54600d555b6015546001600160a01b03858116911614801561144557506014546001600160a01b03868116911614155b1561145757600754600c55600b54600d555b61146385858584611752565b5050505050565b6000818484111561148e5760405162461bcd60e51b81526004016107849190611c04565b50600061149b8486611eb4565b95945050505050565b6013546001600160a01b03166108fc60646114c0846032611ecb565b6114ca9190611eea565b6040518115909202916000818181858888f193505050501580156114f2573d6000803e3d6000fd5b506012546001600160a01b03166108fc606461150f846032611ecb565b6115199190611eea565b6040518115909202916000818181858888f19350505050158015611541573d6000803e3d6000fd5b5050565b60006008548211156115ac5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610784565b60006115b6611780565b90506115c283826117a3565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061161157611611611e55565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169d9190611f0c565b816001815181106116b0576116b0611e55565b6001600160a01b0392831660209182029290920101526014546116d69130911684610e2d565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061170f908590600090869030904290600401611f29565b600060405180830381600087803b15801561172957600080fd5b505af115801561173d573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b8061175f5761175f6117e5565b61176a848484611813565b80610c5f57610c5f600e54600c55600f54600d55565b600080600061178d61190a565b909250905061179c82826117a3565b9250505090565b60006115c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611946565b600c541580156117f55750600d54155b156117fc57565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061182587611974565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061185790876119d1565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546118869086611a13565b6001600160a01b0389166000908152600260205260409020556118a881611a72565b6118b28483611abc565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118f791815260200190565b60405180910390a3505050505050505050565b60085460009081906509184e72a00061192382826117a3565b82101561193d575050600854926509184e72a00092509050565b90939092509050565b600081836119675760405162461bcd60e51b81526004016107849190611c04565b50600061149b8486611eea565b60008060008060008060008060006119918a600c54600d54611ae0565b92509250925060006119a1611780565b905060008060006119b48e878787611b35565b919e509c509a509598509396509194505050505091939550919395565b60006115c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061146a565b600080611a208385611e9c565b9050838110156115c25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610784565b6000611a7c611780565b90506000611a8a8383611b85565b30600090815260026020526040902054909150611aa79082611a13565b30600090815260026020526040902055505050565b600854611ac990836119d1565b600855600954611ad99082611a13565b6009555050565b6000808080611afa6064611af48989611b85565b906117a3565b90506000611b0d6064611af48a89611b85565b90506000611b2582611b1f8b866119d1565b906119d1565b9992985090965090945050505050565b6000808080611b448886611b85565b90506000611b528887611b85565b90506000611b608888611b85565b90506000611b7282611b1f86866119d1565b939b939a50919850919650505050505050565b600082611b94575060006106eb565b6000611ba08385611ecb565b905082611bad8583611eea565b146115c25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610784565b600060208083528351808285015260005b81811015611c3157858101830151858201604001528201611c15565b81811115611c43576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461093c57600080fd5b60008060408385031215611c8157600080fd5b8235611c8c81611c59565b946020939093013593505050565b600080600060608486031215611caf57600080fd5b8335611cba81611c59565b92506020840135611cca81611c59565b929592945050506040919091013590565b60008060408385031215611cee57600080fd5b50508035926020909101359150565b600060208284031215611d0f57600080fd5b81356115c281611c59565b80358015158114611d2a57600080fd5b919050565b600060208284031215611d4157600080fd5b6115c282611d1a565b600060208284031215611d5c57600080fd5b5035919050565b60008060408385031215611d7657600080fd5b8235611d8181611c59565b91506020830135611d9181611c59565b809150509250929050565b600080600060408486031215611db157600080fd5b833567ffffffffffffffff80821115611dc957600080fd5b818601915086601f830112611ddd57600080fd5b813581811115611dec57600080fd5b8760208260051b8501011115611e0157600080fd5b602092830195509350611e179186019050611d1a565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611e9557611e95611e6b565b5060010190565b60008219821115611eaf57611eaf611e6b565b500190565b600082821015611ec657611ec6611e6b565b500390565b6000816000190483118215151615611ee557611ee5611e6b565b500290565b600082611f0757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611f1e57600080fd5b81516115c281611c59565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f795784516001600160a01b031683529383019391830191600101611f54565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a685c27e57117962a0d75551f5294a2e4f007df253301c7e5d1970fb3ccb19c964736f6c63430008090033
Deployed Bytecode Sourcemap
4260:14208:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6804:83;;;;;;;;;;-1:-1:-1;6874:5:0;;;;;;;;;;;;-1:-1:-1;;;6874:5:0;;;;6804:83;;;;;;;:::i;:::-;;;;;;;;7729:193;;;;;;;;;;-1:-1:-1;7729:193:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7729:193:0;1072:187:1;5608:41:0;;;;;;;;;;-1:-1:-1;5608:41:0;;;;-1:-1:-1;;;;;5608:41:0;;;;;;-1:-1:-1;;;;;1454:32:1;;;1436:51;;1424:2;1409:18;5608:41:0;1264:229:1;7081:95:0;;;;;;;;;;-1:-1:-1;4888:15:0;7081:95;;;1644:25:1;;;1632:2;1617:18;7081:95:0;1498:177:1;7930:446:0;;;;;;;;;;-1:-1:-1;7930:446:0;;;;;:::i;:::-;;:::i;5902:49::-;;;;;;;;;;;;;;;;6990:83;;;;;;;;;;-1:-1:-1;6990:83:0;;4479:1;2283:36:1;;2271:2;2256:18;6990:83:0;2141:184:1;5401:96:0;;;;;;;;;;-1:-1:-1;5401:96:0;;;;-1:-1:-1;;;;;5401:96:0;;;5656:28;;;;;;;;;;-1:-1:-1;5656:28:0;;;;-1:-1:-1;;;;;5656:28:0;;;16965:328;;;;;;;;;;-1:-1:-1;16965:328:0;;;;;:::i;:::-;;:::i;:::-;;13232:92;;;;;;;;;;-1:-1:-1;13232:92:0;;;;;:::i;:::-;;:::i;17536:101::-;;;;;;;;;;-1:-1:-1;17536:101:0;;;;;:::i;:::-;;:::i;12894:235::-;;;;;;;;;;;;;:::i;7184:138::-;;;;;;;;;;-1:-1:-1;7184:138:0;;;;;:::i;:::-;;:::i;1747:148::-;;;;;;;;;;;;;:::i;17676:191::-;;;;;;;;;;-1:-1:-1;17676:191:0;;;;;:::i;:::-;;:::i;18086:135::-;;;;;;;;;;;;;:::i;5798:45::-;;;;;;;;;;;;;;;;5351:43;;;;;;;;;;-1:-1:-1;5351:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;5071:33;;;;;;;;;;;;;;;;1533:79;;;;;;;;;;-1:-1:-1;1571:7:0;1598:6;-1:-1:-1;;;;;1598:6:0;1533:79;;12541:101;;;;;;;;;;-1:-1:-1;12541:101:0;;;;;:::i;:::-;;:::i;5850:45::-;;;;;;;;;;;;;;;;13332:227;;;;;;;;;;-1:-1:-1;13332:227:0;;;;;:::i;:::-;;:::i;6895:87::-;;;;;;;;;;-1:-1:-1;6967:7:0;;;;;;;;;;;;-1:-1:-1;;;6967:7:0;;;;6895:87;;17345:139;;;;;;;;;;-1:-1:-1;17345:139:0;;;;;:::i;:::-;;:::i;7330:199::-;;;;;;;;;;-1:-1:-1;7330:199:0;;;;;:::i;:::-;;:::i;5016:32::-;;;;;;;;;;;;;;;;5313:36;;;;;;;;;;-1:-1:-1;5313:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12650:236;;;;;;;;;;;;;:::i;18229:234::-;;;;;;;;;;-1:-1:-1;18229:234:0;;;;;:::i;:::-;;:::i;5505:94::-;;;;;;;;;;-1:-1:-1;5505:94:0;;;;-1:-1:-1;;;;;5505:94:0;;;7537:184;;;;;;;;;;-1:-1:-1;7537:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7686:18:0;;;7654:7;7686:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7537:184;13137:87;;;;;;;;;;-1:-1:-1;13137:87:0;;;;;:::i;:::-;;:::i;17875:203::-;;;;;;;;;;-1:-1:-1;17875:203:0;;;;;:::i;:::-;;:::i;1903:244::-;;;;;;;;;;-1:-1:-1;1903:244:0;;;;;:::i;:::-;;:::i;7729:193::-;7831:4;7853:39;372:10;7876:7;7885:6;7853:8;:39::i;:::-;-1:-1:-1;7910:4:0;7729:193;;;;;:::o;7930:446::-;8062:4;8079:36;8089:6;8097:9;8108:6;8079:9;:36::i;:::-;8126:220;8149:6;372:10;8197:138;8253:6;8197:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8197:19:0;;;;;;:11;:19;;;;;;;;372:10;8197:33;;;;;;;;;;:37;:138::i;:::-;8126:8;:220::i;:::-;-1:-1:-1;8364:4:0;7930:446;;;;;:::o;16965:328::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;;;;;;;;;17075:2:::1;17060:11;:17;;17052:72;;;::::0;-1:-1:-1;;;17052:72:0;;5861:2:1;17052:72:0::1;::::0;::::1;5843:21:1::0;5900:2;5880:18;;;5873:30;5939:34;5919:18;;;5912:62;-1:-1:-1;;;5990:18:1;;;5983:40;6040:19;;17052:72:0::1;5659:406:1::0;17052:72:0::1;17159:2;17143:12;:18;;17135:74;;;::::0;-1:-1:-1;;;17135:74:0;;6272:2:1;17135:74:0::1;::::0;::::1;6254:21:1::0;6311:2;6291:18;;;6284:30;6350:34;6330:18;;;6323:62;-1:-1:-1;;;6401:18:1;;;6394:41;6452:19;;17135:74:0::1;6070:407:1::0;17135:74:0::1;17220:12;:26:::0;;;;17257:13:::1;:28:::0;16965:328::o;13232:92::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13296:12:0::1;13311:5;13296:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13296:20:0::1;::::0;;13232:92::o;17536:101::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;17603:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17603:26:0::1;-1:-1:-1::0;;;;17603:26:0;;::::1;::::0;;;::::1;::::0;;17536:101::o;12894:235::-;12960:19;;-1:-1:-1;;;;;12960:19:0;372:10;-1:-1:-1;;;;;12944:35:0;;:72;;;-1:-1:-1;12999:17:0;;-1:-1:-1;;;;;12999:17:0;372:10;-1:-1:-1;;;;;12983:33:0;;12944:72;12936:81;;;;;;13057:21;13089:32;13057:21;13089:12;:32::i;:::-;12925:204;12894:235::o;7184:138::-;-1:-1:-1;;;;;7297:16:0;;7250:7;7297:16;;;:7;:16;;;;;;7277:37;;:19;:37::i;1747:148::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;1854:1:::1;1838:6:::0;;1817:40:::1;::::0;-1:-1:-1;;;;;1838:6:0;;::::1;::::0;1817:40:::1;::::0;1854:1;;1817:40:::1;1885:1;1868:19:::0;;-1:-1:-1;;;;;;1868:19:0::1;::::0;;1747:148::o;17676:191::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;17773:12:::1;17758:11;:27;;17750:72;;;::::0;-1:-1:-1;;;17750:72:0;;6684:2:1;17750:72:0::1;::::0;::::1;6666:21:1::0;;;6703:18;;;6696:30;6762:34;6742:18;;;6735:62;6814:18;;17750:72:0::1;6482:356:1::0;17750:72:0::1;17833:12;:26:::0;17676:191::o;18086:135::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;18155:15:::1;18138:14;:32:::0;;;18181:12:::1;:32:::0;18086:135::o;12541:101::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;12608:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12608:26:0::1;-1:-1:-1::0;;;;12608:26:0;;::::1;::::0;;;::::1;::::0;;12541:101::o;13332:227::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;13458:19:::1;:43:::0;;-1:-1:-1;;;;;13458:43:0;;::::1;-1:-1:-1::0;;;;;;13458:43:0;;::::1;;::::0;;;13512:17:::1;:39:::0;;;;;::::1;::::0;::::1;;::::0;;13332:227::o;17345:139::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;17436:19:::1;:40:::0;17345:139::o;7330:199::-;7435:4;7457:42;372:10;7481:9;7492:6;7457:9;:42::i;12650:236::-;12716:19;;-1:-1:-1;;;;;12716:19:0;372:10;-1:-1:-1;;;;;12700:35:0;;:72;;;-1:-1:-1;12755:17:0;;-1:-1:-1;;;;;12755:17:0;372:10;-1:-1:-1;;;;;12739:33:0;;12700:72;12692:81;;;;;;12784:23;12810:24;12828:4;12810:9;:24::i;:::-;12784:50;;12845:33;12862:15;12845:16;:33::i;18229:234::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;18346:9:::1;18342:114;18361:19:::0;;::::1;18342:114;;;18436:8;18402:18;:31;18421:8;;18430:1;18421:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18402:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18402:31:0;:42;;-1:-1:-1;;18402:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18382:3;::::1;::::0;::::1;:::i;:::-;;;;18342:114;;;;18229:234:::0;;;:::o;13137:87::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13198:11:0::1;;::::0;;;:4:::1;:11;::::0;;;;:18;;-1:-1:-1;;13198:18:0::1;13212:4;13198:18;::::0;;13137:87::o;17875:203::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;17977:12:::1;17960:13;:29;;17952:77;;;::::0;-1:-1:-1;;;17952:77:0;;7449:2:1;17952:77:0::1;::::0;::::1;7431:21:1::0;7488:2;7468:18;;;7461:30;7527:34;7507:18;;;7500:62;-1:-1:-1;;;7578:18:1;;;7571:33;7621:19;;17952:77:0::1;7247:399:1::0;17952:77:0::1;18040:14;:30:::0;17875:203::o;1903:244::-;1660:6;;-1:-1:-1;;;;;1660:6:0;372:10;1660:22;1652:67;;;;-1:-1:-1;;;1652:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1992:22:0;::::1;1984:73;;;::::0;-1:-1:-1;;;1984:73:0;;7853:2:1;1984:73:0::1;::::0;::::1;7835:21:1::0;7892:2;7872:18;;;7865:30;7931:34;7911:18;;;7904:62;-1:-1:-1;;;7982:18:1;;;7975:36;8028:19;;1984:73:0::1;7651:402:1::0;1984:73:0::1;2094:6;::::0;;2073:38:::1;::::0;-1:-1:-1;;;;;2073:38:0;;::::1;::::0;2094:6;::::1;::::0;2073:38:::1;::::0;::::1;2122:6;:17:::0;;-1:-1:-1;;;;;;2122:17:0::1;-1:-1:-1::0;;;;;2122:17:0;;;::::1;::::0;;;::::1;::::0;;1903:244::o;9067:369::-;-1:-1:-1;;;;;9194:19:0;;9186:68;;;;-1:-1:-1;;;9186:68:0;;8260:2:1;9186:68:0;;;8242:21:1;8299:2;8279:18;;;8272:30;8338:34;8318:18;;;8311:62;-1:-1:-1;;;8389:18:1;;;8382:34;8433:19;;9186:68:0;8058:400:1;9186:68:0;-1:-1:-1;;;;;9273:21:0;;9265:68;;;;-1:-1:-1;;;9265:68:0;;8665:2:1;9265:68:0;;;8647:21:1;8704:2;8684:18;;;8677:30;8743:34;8723:18;;;8716:62;-1:-1:-1;;;8794:18:1;;;8787:32;8836:19;;9265:68:0;8463:398:1;9265:68:0;-1:-1:-1;;;;;9344:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9396:32;;1644:25:1;;;9396:32:0;;1617:18:1;9396:32:0;;;;;;;9067:369;;;:::o;9444:2428::-;-1:-1:-1;;;;;9566:18:0;;9558:68;;;;-1:-1:-1;;;9558:68:0;;9068:2:1;9558:68:0;;;9050:21:1;9107:2;9087:18;;;9080:30;9146:34;9126:18;;;9119:62;-1:-1:-1;;;9197:18:1;;;9190:35;9242:19;;9558:68:0;8866:401:1;9558:68:0;-1:-1:-1;;;;;9645:16:0;;9637:64;;;;-1:-1:-1;;;9637:64:0;;9474:2:1;9637:64:0;;;9456:21:1;9513:2;9493:18;;;9486:30;9552:34;9532:18;;;9525:62;-1:-1:-1;;;9603:18:1;;;9596:33;9646:19;;9637:64:0;9272:399:1;9637:64:0;9729:1;9720:6;:10;9712:64;;;;-1:-1:-1;;;9712:64:0;;9878:2:1;9712:64:0;;;9860:21:1;9917:2;9897:18;;;9890:30;9956:34;9936:18;;;9929:62;-1:-1:-1;;;10007:18:1;;;10000:39;10056:19;;9712:64:0;9676:405:1;9712:64:0;9853:23;1598:6;;-1:-1:-1;;;;;9880:15:0;;;1598:6;;9880:15;;:32;;-1:-1:-1;1571:7:0;1598:6;-1:-1:-1;;;;;9899:13:0;;;1598:6;;9899:13;9880:32;9853:60;;9931:18;9926:1247;;10007:11;;-1:-1:-1;;;10007:11:0;;;;10002:144;;1571:7;1598:6;-1:-1:-1;;;;;10047:15:0;;;1598:6;;10047:15;10039:91;;;;-1:-1:-1;;;10039:91:0;;10288:2:1;10039:91:0;;;10270:21:1;10327:2;10307:18;;;10300:30;10366:34;10346:18;;;10339:62;10437:33;10417:18;;;10410:61;10488:19;;10039:91:0;10086:427:1;10039:91:0;10180:12;;10170:6;:22;;10162:63;;;;-1:-1:-1;;;10162:63:0;;10720:2:1;10162:63:0;;;10702:21:1;10759:2;10739:18;;;10732:30;10798;10778:18;;;10771:58;10846:18;;10162:63:0;10518:352:1;10162:63:0;-1:-1:-1;;;;;10249:10:0;;;;;;:4;:10;;;;;;;;10248:11;:24;;;;-1:-1:-1;;;;;;10264:8:0;;;;;;:4;:8;;;;;;;;10263:9;10248:24;10240:72;;;;-1:-1:-1;;;10240:72:0;;11077:2:1;10240:72:0;;;11059:21:1;11116:2;11096:18;;;11089:30;11155:34;11135:18;;;11128:62;-1:-1:-1;;;11206:18:1;;;11199:33;11249:19;;10240:72:0;10875:399:1;10240:72:0;10338:13;;-1:-1:-1;;;;;10332:19:0;;;10338:13;;10332:19;10329:146;;10405:14;;10396:6;10380:13;10390:2;10380:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10372:87;;;;-1:-1:-1;;;10372:87:0;;11614:2:1;10372:87:0;;;11596:21:1;11653:2;11633:18;;;11626:30;11692:34;11672:18;;;11665:62;-1:-1:-1;;;11743:18:1;;;11736:33;11786:19;;10372:87:0;11412:399:1;10372:87:0;10491:28;10522:24;10540:4;10522:9;:24::i;:::-;10600:19;;10663:12;;10491:55;;-1:-1:-1;10576:43:0;;;;10639:36;;10636:124;;10732:12;;10709:35;;10636:124;10780:7;:18;;;;-1:-1:-1;10792:6:0;;-1:-1:-1;;;10792:6:0;;;;10791:7;10780:18;:43;;;;-1:-1:-1;10810:13:0;;-1:-1:-1;;;;;10802:21:0;;;10810:13;;10802:21;;10780:43;:58;;;;-1:-1:-1;10827:11:0;;-1:-1:-1;;;10827:11:0;;;;10780:58;:87;;;;-1:-1:-1;;;;;;10843:24:0;;;;;;:18;:24;;;;;;;;10842:25;10780:87;:114;;;;-1:-1:-1;;;;;;10872:22:0;;;;;;:18;:22;;;;;;;;10871:23;10780:114;10776:386;;;10915:38;10932:20;10915:16;:38::i;:::-;11001:21;11045:22;;11041:106;;11092:35;11105:21;11092:12;:35::i;:::-;10896:266;10776:386;9951:1222;;9926:1247;-1:-1:-1;;;;;11250:24:0;;11185:12;11250:24;;;:18;:24;;;;;;11200:4;;11250:24;;;:50;;-1:-1:-1;;;;;;11278:22:0;;;;;;:18;:22;;;;;;;;11250:50;11249:74;;;;11305:18;11249:74;11245:566;;;-1:-1:-1;11350:5:0;11245:566;;;11434:13;;-1:-1:-1;;;;;11426:21:0;;;11434:13;;11426:21;:55;;;;-1:-1:-1;11465:15:0;;-1:-1:-1;;;;;11451:30:0;;;11465:15;;11451:30;;11426:55;11423:162;;;11514:14;;11502:9;:26;11557:12;;11547:7;:22;11423:162;11645:13;;-1:-1:-1;;;;;11639:19:0;;;11645:13;;11639:19;:55;;;;-1:-1:-1;11678:15:0;;-1:-1:-1;;;;;11662:32:0;;;11678:15;;11662:32;;11639:55;11635:165;;;11727:15;;11715:9;:27;11771:13;;11761:7;:23;11635:165;11823:41;11838:4;11844:2;11848:6;11856:7;11823:14;:41::i;:::-;9547:2325;;9444:2428;;;:::o;2511:224::-;2631:7;2667:12;2659:6;;;;2651:29;;;;-1:-1:-1;;;2651:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2691:9:0;2703:5;2707:1;2703;:5;:::i;:::-;2691:17;2511:224;-1:-1:-1;;;;;2511:224:0:o;12373:160::-;12430:17;;-1:-1:-1;;;;;12430:17:0;:41;12467:3;12457:9;:6;12464:2;12457:9;:::i;:::-;:13;;;;:::i;:::-;12430:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12482:19:0;;-1:-1:-1;;;;;12482:19:0;:43;12521:3;12511:9;:6;12518:2;12511:9;:::i;:::-;:13;;;;:::i;:::-;12482:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12373:160;:::o;8384:323::-;8479:7;8537;;8526;:18;;8504:110;;;;-1:-1:-1;;;8504:110:0;;12543:2:1;8504:110:0;;;12525:21:1;12582:2;12562:18;;;12555:30;12621:34;12601:18;;;12594:62;-1:-1:-1;;;12672:18:1;;;12665:40;12722:19;;8504:110:0;12341:406:1;8504:110:0;8625:19;8647:10;:8;:10::i;:::-;8625:32;-1:-1:-1;8675:24:0;:7;8625:32;8675:11;:24::i;:::-;8668:31;8384:323;-1:-1:-1;;;8384:323:0:o;11882:483::-;6045:6;:13;;-1:-1:-1;;;;6045:13:0;-1:-1:-1;;;6045:13:0;;;11984:16:::1;::::0;;11998:1:::1;11984:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11984:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11984:16:0::1;11960:40;;12029:4;12011;12016:1;12011:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12011:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12055:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12055:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12011:7;;12055:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12045:4;12050:1;12045:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12045:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12120:15:::1;::::0;12088:62:::1;::::0;12105:4:::1;::::0;12120:15:::1;12138:11:::0;12088:8:::1;:62::i;:::-;12161:15;::::0;:196:::1;::::0;-1:-1:-1;;;12161:196:0;;-1:-1:-1;;;;;12161:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12242:11;;12161:15:::1;::::0;12284:4;;12311::::1;::::0;12331:15:::1;::::0;12161:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6081:6:0;:14;;-1:-1:-1;;;;6081:14:0;;;-1:-1:-1;;;;11882:483:0:o;13567:282::-;13723:7;13718:28;;13732:14;:12;:14::i;:::-;13757:44;13775:6;13783:9;13794:6;13757:17;:44::i;:::-;13817:7;13812:29;;13826:15;8998:17;;8986:9;:29;9036:15;;9026:7;:25;8942:117;16528:164;16570:7;16591:15;16608;16627:19;:17;:19::i;:::-;16590:56;;-1:-1:-1;16590:56:0;-1:-1:-1;16664:20:0;16590:56;;16664:11;:20::i;:::-;16657:27;;;;16528:164;:::o;2997:132::-;3055:7;3082:39;3086:1;3089;3082:39;;;;;;;;;;;;;;;;;:3;:39::i;8715:219::-;8762:9;;:14;:30;;;;-1:-1:-1;8780:7:0;;:12;8762:30;8758:43;;;8715:219::o;8758:43::-;8833:9;;;8813:17;:29;8871:7;;;8853:15;:25;-1:-1:-1;8891:13:0;;;;8915:11;8715:219::o;13857:610::-;14004:15;14034:23;14072:12;14099:23;14137:12;14164:13;14191:19;14202:7;14191:10;:19::i;:::-;-1:-1:-1;;;;;14239:15:0;;;;;;:7;:15;;;;;;13989:221;;-1:-1:-1;13989:221:0;;-1:-1:-1;13989:221:0;;-1:-1:-1;13989:221:0;-1:-1:-1;13989:221:0;-1:-1:-1;13989:221:0;-1:-1:-1;14239:28:0;;13989:221;14239:19;:28::i;:::-;-1:-1:-1;;;;;14221:15:0;;;;;;;:7;:15;;;;;;:46;;;;14299:18;;;;;;;:39;;14322:15;14299:22;:39::i;:::-;-1:-1:-1;;;;;14278:18:0;;;;;;:7;:18;;;;;:60;14349:16;14359:5;14349:9;:16::i;:::-;14376:23;14388:4;14394;14376:11;:23::i;:::-;14432:9;-1:-1:-1;;;;;14415:44:0;14424:6;-1:-1:-1;;;;;14415:44:0;;14443:15;14415:44;;;;1644:25:1;;1632:2;1617:18;;1498:177;14415:44:0;;;;;;;;13978:489;;;;;;13857:610;;;:::o;16700:257::-;16798:7;;16751;;;;4888:15;16866:20;16798:7;4888:15;16866:11;:20::i;:::-;16856:7;:30;16852:61;;;-1:-1:-1;;16896:7:0;;;4888:15;;-1:-1:-1;16700:257:0;-1:-1:-1;16700:257:0:o;16852:61::-;16932:7;;16941;;-1:-1:-1;16700:257:0;-1:-1:-1;16700:257:0:o;3137:223::-;3257:7;3292:12;3285:5;3277:28;;;;-1:-1:-1;;;3277:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3316:9:0;3328:5;3332:1;3328;:5;:::i;14886:615::-;14986:7;15008;15030;15052;15074;15096;15132:23;15157:12;15171:13;15201:40;15213:7;15222:9;;15233:7;;15201:11;:40::i;:::-;15131:110;;;;;;15252:19;15274:10;:8;:10::i;:::-;15252:32;;15296:15;15313:23;15338:12;15367:46;15379:7;15388:4;15394:5;15401:11;15367;:46::i;:::-;15295:118;;-1:-1:-1;15295:118:0;-1:-1:-1;15295:118:0;-1:-1:-1;15464:15:0;;-1:-1:-1;15481:4:0;;-1:-1:-1;15487:5:0;;-1:-1:-1;;;;;14886:615:0;;;;;;;:::o;2367:136::-;2425:7;2452:43;2456:1;2459;2452:43;;;;;;;;;;;;;;;;;:3;:43::i;2180:179::-;2238:7;;2270:5;2274:1;2270;:5;:::i;:::-;2258:17;;2299:1;2294;:6;;2286:46;;;;-1:-1:-1;;;2286:46:0;;14327:2:1;2286:46:0;;;14309:21:1;14366:2;14346:18;;;14339:30;14405:29;14385:18;;;14378:57;14452:18;;2286:46:0;14125:351:1;14475:211:0;14528:19;14550:10;:8;:10::i;:::-;14528:32;-1:-1:-1;14571:13:0;14587:22;:5;14528:32;14587:9;:22::i;:::-;14661:4;14645:22;;;;:7;:22;;;;;;14571:38;;-1:-1:-1;14645:33:0;;14571:38;14645:26;:33::i;:::-;14636:4;14620:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14475:211:0:o;14694:147::-;14772:7;;:17;;14784:4;14772:11;:17::i;:::-;14762:7;:27;14813:10;;:20;;14828:4;14813:14;:20::i;:::-;14800:10;:33;-1:-1:-1;;14694:147:0:o;15509:469::-;15678:7;;;;15772:30;15798:3;15772:21;:7;15784:8;15772:11;:21::i;:::-;:25;;:30::i;:::-;15757:45;-1:-1:-1;15813:13:0;15829:28;15853:3;15829:19;:7;15841:6;15829:11;:19::i;:28::-;15813:44;-1:-1:-1;15868:23:0;15894:28;15813:44;15894:17;:7;15906:4;15894:11;:17::i;:::-;:21;;:28::i;:::-;15868:54;15958:4;;-1:-1:-1;15964:5:0;;-1:-1:-1;15509:469:0;;-1:-1:-1;;;;;15509:469:0:o;15986:534::-;16180:7;;;;16277:24;:7;16289:11;16277;:24::i;:::-;16259:42;-1:-1:-1;16312:12:0;16327:21;:4;16336:11;16327:8;:21::i;:::-;16312:36;-1:-1:-1;16359:13:0;16375:22;:5;16385:11;16375:9;:22::i;:::-;16359:38;-1:-1:-1;16408:23:0;16434:28;16359:38;16434:17;:7;16446:4;16434:11;:17::i;:28::-;16481:7;;;;-1:-1:-1;16507:4:0;;-1:-1:-1;15986:534:0;;-1:-1:-1;;;;;;;15986:534:0:o;2743:246::-;2801:7;2825:6;2821:47;;-1:-1:-1;2855:1:0;2848:8;;2821:47;2878:9;2890:5;2894:1;2890;:5;:::i;:::-;2878:17;-1:-1:-1;2923:1:0;2914:5;2918:1;2878:17;2914:5;:::i;:::-;:10;2906:56;;;;-1:-1:-1;;;2906:56:0;;14683:2:1;2906:56:0;;;14665:21:1;14722:2;14702:18;;;14695:30;14761:34;14741:18;;;14734:62;-1:-1:-1;;;14812:18:1;;;14805:31;14853:19;;2906:56:0;14481:397:1;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1680:456::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;:::-;1950:5;-1:-1:-1;2007:2:1;1992:18;;1979:32;2020:33;1979:32;2020:33;:::i;:::-;1680:456;;2072:7;;-1:-1:-1;;;2126:2:1;2111:18;;;;2098:32;;1680:456::o;2762:248::-;2830:6;2838;2891:2;2879:9;2870:7;2866:23;2862:32;2859:52;;;2907:1;2904;2897:12;2859:52;-1:-1:-1;;2930:23:1;;;3000:2;2985:18;;;2972:32;;-1:-1:-1;2762:248:1:o;3015:247::-;3074:6;3127:2;3115:9;3106:7;3102:23;3098:32;3095:52;;;3143:1;3140;3133:12;3095:52;3182:9;3169:23;3201:31;3226:5;3201:31;:::i;3267:160::-;3332:20;;3388:13;;3381:21;3371:32;;3361:60;;3417:1;3414;3407:12;3361:60;3267:160;;;:::o;3432:180::-;3488:6;3541:2;3529:9;3520:7;3516:23;3512:32;3509:52;;;3557:1;3554;3547:12;3509:52;3580:26;3596:9;3580:26;:::i;3617:180::-;3676:6;3729:2;3717:9;3708:7;3704:23;3700:32;3697:52;;;3745:1;3742;3735:12;3697:52;-1:-1:-1;3768:23:1;;3617:180;-1:-1:-1;3617:180:1:o;3802:404::-;3886:6;3894;3947:2;3935:9;3926:7;3922:23;3918:32;3915:52;;;3963:1;3960;3953:12;3915:52;4002:9;3989:23;4021:31;4046:5;4021:31;:::i;:::-;4071:5;-1:-1:-1;4128:2:1;4113:18;;4100:32;4141:33;4100:32;4141:33;:::i;:::-;4193:7;4183:17;;;3802:404;;;;;:::o;4211:689::-;4303:6;4311;4319;4372:2;4360:9;4351:7;4347:23;4343:32;4340:52;;;4388:1;4385;4378:12;4340:52;4428:9;4415:23;4457:18;4498:2;4490:6;4487:14;4484:34;;;4514:1;4511;4504:12;4484:34;4552:6;4541:9;4537:22;4527:32;;4597:7;4590:4;4586:2;4582:13;4578:27;4568:55;;4619:1;4616;4609:12;4568:55;4659:2;4646:16;4685:2;4677:6;4674:14;4671:34;;;4701:1;4698;4691:12;4671:34;4756:7;4749:4;4739:6;4736:1;4732:14;4728:2;4724:23;4720:34;4717:47;4714:67;;;4777:1;4774;4767:12;4714:67;4808:4;4800:13;;;;-1:-1:-1;4832:6:1;-1:-1:-1;4857:37:1;;4873:20;;;-1:-1:-1;4857:37:1;:::i;:::-;4847:47;;4211:689;;;;;:::o;5298:356::-;5500:2;5482:21;;;5519:18;;;5512:30;5578:34;5573:2;5558:18;;5551:62;5645:2;5630:18;;5298:356::o;6843:127::-;6904:10;6899:3;6895:20;6892:1;6885:31;6935:4;6932:1;6925:15;6959:4;6956:1;6949:15;6975:127;7036:10;7031:3;7027:20;7024:1;7017:31;7067:4;7064:1;7057:15;7091:4;7088:1;7081:15;7107:135;7146:3;-1:-1:-1;;7167:17:1;;7164:43;;;7187:18;;:::i;:::-;-1:-1:-1;7234:1:1;7223:13;;7107:135::o;11279:128::-;11319:3;11350:1;11346:6;11343:1;11340:13;11337:39;;;11356:18;;:::i;:::-;-1:-1:-1;11392:9:1;;11279:128::o;11816:125::-;11856:4;11884:1;11881;11878:8;11875:34;;;11889:18;;:::i;:::-;-1:-1:-1;11926:9:1;;11816:125::o;11946:168::-;11986:7;12052:1;12048;12044:6;12040:14;12037:1;12034:21;12029:1;12022:9;12015:17;12011:45;12008:71;;;12059:18;;:::i;:::-;-1:-1:-1;12099:9:1;;11946:168::o;12119:217::-;12159:1;12185;12175:132;;12229:10;12224:3;12220:20;12217:1;12210:31;12264:4;12261:1;12254:15;12292:4;12289:1;12282:15;12175:132;-1:-1:-1;12321:9:1;;12119:217::o;12884:251::-;12954:6;13007:2;12995:9;12986:7;12982:23;12978:32;12975:52;;;13023:1;13020;13013:12;12975:52;13055:9;13049:16;13074:31;13099:5;13074:31;:::i;13140:980::-;13402:4;13450:3;13439:9;13435:19;13481:6;13470:9;13463:25;13507:2;13545:6;13540:2;13529:9;13525:18;13518:34;13588:3;13583:2;13572:9;13568:18;13561:31;13612:6;13647;13641:13;13678:6;13670;13663:22;13716:3;13705:9;13701:19;13694:26;;13755:2;13747:6;13743:15;13729:29;;13776:1;13786:195;13800:6;13797:1;13794:13;13786:195;;;13865:13;;-1:-1:-1;;;;;13861:39:1;13849:52;;13956:15;;;;13921:12;;;;13897:1;13815:9;13786:195;;;-1:-1:-1;;;;;;;14037:32:1;;;;14032:2;14017:18;;14010:60;-1:-1:-1;;;14101:3:1;14086:19;14079:35;13998:3;13140:980;-1:-1:-1;;;13140:980:1:o
Swarm Source
ipfs://a685c27e57117962a0d75551f5294a2e4f007df253301c7e5d1970fb3ccb19c9
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.