ERC-20
Overview
Max Total Supply
25,000,000,000 Project2025
Holders
8
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Project2025
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-18 */ /** * SPDX-License-Identifier: MIT * * ____ _ __ ____ ____ ____ ______ * / __ \_________ (_)__ _____/ / |__ \ / __ \|__ \ / ____/ * / /_/ / ___/ __ \ / / _ \/ ___/ __/ _/ // / / / _/ / /___ \ * / ____/ / / /_/ / / / __/ /__/ /_ / __// /_/ / / __/ ____/ / * /_/ /_/ \____/_/ /\___/\___/\__/ /____/\____/ /____/|_____/ * /___/ * * For more information, visit: * - https://project2025.dev * - https://x.com/EthProject2025 * - https://t.me/Project2025_eth */ pragma solidity ^0.8.23; 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 Project2025 is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Project2025"; string private constant _symbol = "Project2025"; uint8 private constant _decimals = 9; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 25_000_000_000 * 10 ** _decimals; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFeeOnBuy = 25; uint256 private _taxFeeOnSell = 35; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previoustaxFee = _taxFee; address payable private _devAddress; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = _tTotal.div(100); uint256 public _maxWalletSize = _tTotal.div(100); uint256 public _swapTokensAtAmount = 1000 * 10**_decimals; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address routerAddress, address devAddress) { _tOwned[_msgSender()] = _rTotal; _devAddress = payable(devAddress); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(routerAddress); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_devAddress] = 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 tokenFromRef(_tOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "the transfer amount exceeds allowance" ) ); return true; } function tokenFromRef(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount has to be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function remAllFee() private { if (_taxFee == 0) return; _previoustaxFee = _taxFee; _taxFee = 0; } function resAllFee() private { _taxFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "Can't approve from zero address"); require(spender != address(0), "Can't approve to zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(to != address(0), "Cant transfer to address zero"); require(amount > 0, "Amount should be above zero"); if (from != owner() && to != owner()) { if (!tradingOpen) { require(from == owner(), "Only owner can trade before trading activation"); } require(amount <= _maxTxAmount, "Exceeded max transaction limit"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds max wallet balance"); } 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; if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _taxFee = _taxFeeOnBuy; } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _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 { _devAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualSwap() external { require(_msgSender() == _devAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external { require(_msgSender() == _devAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) remAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) resAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tCom ) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(rTransferAmount); _takeCom(tCom); emit Transfer(sender, recipient, tTransferAmount); } function _takeCom(uint256 tCom) private { uint256 currentRate = _getRate(); uint256 rCom = tCom.mul(currentRate); _tOwned[address(this)] = _tOwned[address(this)].add(rCom); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tTeam) = _getTValues(tAmount, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount) = _getRValues(tAmount, tTeam, currentRate); return (rAmount, rTransferAmount, tTransferAmount, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee ) private pure returns ( uint256, uint256 ) { uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tTeam); return (tTransferAmount, tTeam); } function _getRValues( uint256 tAmount, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rTeam); return (rAmount, rTransferAmount); } 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 >= 0 && taxFeeOnBuy <= 95, "Buy tax must be between 0% and 95%"); require(taxFeeOnSell >= 0 && taxFeeOnSell <= 95, "Sell tax must be between 0% and 95%"); _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function setMinSwapTokens(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } function enabledSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletAmount(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function changeDevelopmentAddress(address newDevAddress) public onlyOwner { require(newDevAddress != address(0), "New development address cannot be zero address"); _isExcludedFromFee[_devAddress] = false; _devAddress = payable(newDevAddress); _isExcludedFromFee[_devAddress] = true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"devAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_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":[{"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":"newDevAddress","type":"address"}],"name":"changeDevelopmentAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"enabledSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeAccountsFromFees","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":"renounceOwnership","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":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokens","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":[],"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":[],"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
60806040526100106009600a6104e4565b61001f906405d21dba006104f2565b61002a905f1961051d565b610035905f19610530565b6005556019600755602360088190556009818155600a918255600d805461ffff60a81b1916600160b01b17905561008791606491610072916104e4565b610081906405d21dba006104f2565b9061035f565b600e5561009b60646100726009600a6104e4565b600f556100aa6009600a6104e4565b6100b6906103e86104f2565b6010553480156100c4575f80fd5b5060405161210c38038061210c8339810160408190526100e39161055e565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600554335f9081526002602090815260409182902092909255600b80546001600160a01b038581166001600160a01b031992831617909255600c80549287169290911682179055815163c45a015560e01b815291518593919263c45a01559260048083019391928290030181865afa1580156101a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c5919061058f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610210573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610234919061058f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561027e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a2919061058f565b600d80546001600160a01b0319166001600160a01b039283161790555f80548216815260046020526040808220805460ff1990811660019081179092553084528284208054821683179055600b54909416835291208054909216179055336001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6103376009600a6104e4565b610346906405d21dba006104f2565b60405190815260200160405180910390a35050506105f0565b5f6103a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506103af60201b60201c565b90505b92915050565b5f81836103d85760405162461bcd60e51b81526004016103cf91906105a8565b60405180910390fd5b505f6103e484866105dd565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561043c57808504811115610420576104206103ed565b600184161561042e57908102905b60019390931c928002610405565b935093915050565b5f82610452575060016103a9565b8161045e57505f6103a9565b8160018114610474576002811461047e5761049a565b60019150506103a9565b60ff84111561048f5761048f6103ed565b50506001821b6103a9565b5060208310610133831016604e8410600b84101617156104bd575081810a6103a9565b6104c95f198484610401565b805f19048211156104dc576104dc6103ed565b029392505050565b5f6103a660ff841683610444565b80820281158282048414176103a9576103a96103ed565b634e487b7160e01b5f52601260045260245ffd5b5f8261052b5761052b610509565b500690565b818103818111156103a9576103a96103ed565b80516001600160a01b0381168114610559575f80fd5b919050565b5f806040838503121561056f575f80fd5b61057883610543565b915061058660208401610543565b90509250929050565b5f6020828403121561059f575f80fd5b6103a682610543565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f826105eb576105eb610509565b500490565b611b0f806105fd5f395ff3fe608060405260043610610198575f3560e01c8063715018a6116100e757806395d89b4111610087578063dd88800511610062578063dd88800514610487578063f2fde38b146104a6578063f4293890146104c5578063fb0c2643146104d9575f80fd5b806395d89b41146101a3578063a9059cbb14610424578063dd62ed3e14610443575f80fd5b80638da5cb5b116100c25780638da5cb5b146103b55780638f70ccf7146103d15780638f9a55c0146103f057806390d2c93a14610405575f80fd5b8063715018a61461036d57806374010ece146103815780637d1db4a5146103a0575f80fd5b80632fd689e31161015257806351bc3c851161012d57806351bc3c85146102fc57806352f7c9881461031057806365db9cbb1461032f57806370a082311461034e575f80fd5b80632fd689e3146102ad578063313ce567146102c257806349bd5a5e146102dd575f80fd5b806306fdde03146101a3578063095ea7b3146101e55780631694505e1461021457806318160ddd1461024b57806323b872dd1461026d57806327a14fc21461028c575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b50604080518082018252600b81526a50726f6a6563743230323560a81b602082015290516101dc91906116a1565b60405180910390f35b3480156101f0575f80fd5b506102046101ff3660046116ea565b6104f8565b60405190151581526020016101dc565b34801561021f575f80fd5b50600c54610233906001600160a01b031681565b6040516001600160a01b0390911681526020016101dc565b348015610256575f80fd5b5061025f61050e565b6040519081526020016101dc565b348015610278575f80fd5b50610204610287366004611714565b61052f565b348015610297575f80fd5b506102ab6102a6366004611752565b610596565b005b3480156102b8575f80fd5b5061025f60105481565b3480156102cd575f80fd5b50604051600981526020016101dc565b3480156102e8575f80fd5b50600d54610233906001600160a01b031681565b348015610307575f80fd5b506102ab6105cd565b34801561031b575f80fd5b506102ab61032a366004611769565b610604565b34801561033a575f80fd5b506102ab61034936600461179d565b6106f1565b348015610359575f80fd5b5061025f6103683660046117b6565b610738565b348015610378575f80fd5b506102ab610759565b34801561038c575f80fd5b506102ab61039b366004611752565b6107ca565b3480156103ab575f80fd5b5061025f600e5481565b3480156103c0575f80fd5b505f546001600160a01b0316610233565b3480156103dc575f80fd5b506102ab6103eb36600461179d565b6107f8565b3480156103fb575f80fd5b5061025f600f5481565b348015610410575f80fd5b506102ab61041f3660046117d1565b61083f565b34801561042f575f80fd5b5061020461043e3660046116ea565b6108d2565b34801561044e575f80fd5b5061025f61045d366004611850565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610492575f80fd5b506102ab6104a1366004611752565b6108de565b3480156104b1575f80fd5b506102ab6104c03660046117b6565b61090c565b3480156104d0575f80fd5b506102ab6109f3565b3480156104e4575f80fd5b506102ab6104f33660046117b6565b610a1c565b5f610504338484610b01565b5060015b92915050565b5f61051b6009600a611976565b61052a906405d21dba00611984565b905090565b5f61053b848484610c0d565b61058c843361058785604051806060016040528060258152602001611ab5602591396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610ffd565b610b01565b5060019392505050565b5f546001600160a01b031633146105c85760405162461bcd60e51b81526004016105bf9061199b565b60405180910390fd5b600f55565b600b546001600160a01b0316336001600160a01b0316146105ec575f80fd5b5f6105f630610738565b905061060181611035565b50565b5f546001600160a01b0316331461062d5760405162461bcd60e51b81526004016105bf9061199b565b605f8211156106895760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261352560f01b60648201526084016105bf565b605f8111156106e65760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239352560e81b60648201526084016105bf565b600791909155600855565b5f546001600160a01b0316331461071a5760405162461bcd60e51b81526004016105bf9061199b565b600d8054911515600160b01b0260ff60b01b19909216919091179055565b6001600160a01b0381165f90815260026020526040812054610508906111a5565b5f546001600160a01b031633146107825760405162461bcd60e51b81526004016105bf9061199b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107f35760405162461bcd60e51b81526004016105bf9061199b565b600e55565b5f546001600160a01b031633146108215760405162461bcd60e51b81526004016105bf9061199b565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146108685760405162461bcd60e51b81526004016105bf9061199b565b5f5b828110156108cc578160045f868685818110610888576108886119d0565b905060200201602081019061089d91906117b6565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905560010161086a565b50505050565b5f610504338484610c0d565b5f546001600160a01b031633146109075760405162461bcd60e51b81526004016105bf9061199b565b601055565b5f546001600160a01b031633146109355760405162461bcd60e51b81526004016105bf9061199b565b6001600160a01b03811661099a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105bf565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600b546001600160a01b0316336001600160a01b031614610a12575f80fd5b4761060181611229565b5f546001600160a01b03163314610a455760405162461bcd60e51b81526004016105bf9061199b565b6001600160a01b038116610ab25760405162461bcd60e51b815260206004820152602e60248201527f4e657720646576656c6f706d656e7420616464726573732063616e6e6f74206260448201526d65207a65726f206164647265737360901b60648201526084016105bf565b600b80546001600160a01b039081165f90815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b038316610b575760405162461bcd60e51b815260206004820152601f60248201527f43616e277420617070726f76652066726f6d207a65726f20616464726573730060448201526064016105bf565b6001600160a01b038216610bad5760405162461bcd60e51b815260206004820152601d60248201527f43616e277420617070726f766520746f207a65726f206164647265737300000060448201526064016105bf565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216610c635760405162461bcd60e51b815260206004820152601d60248201527f43616e74207472616e7366657220746f2061646472657373207a65726f00000060448201526064016105bf565b5f8111610cb25760405162461bcd60e51b815260206004820152601b60248201527f416d6f756e742073686f756c642062652061626f7665207a65726f000000000060448201526064016105bf565b5f546001600160a01b03848116911614801590610cdc57505f546001600160a01b03838116911614155b15610f0557600d54600160a01b900460ff16610d65575f546001600160a01b03848116911614610d655760405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79206f776e65722063616e207472616465206265666f7265207472616460448201526d34b7339030b1ba34bb30ba34b7b760911b60648201526084016105bf565b600e54811115610db75760405162461bcd60e51b815260206004820152601e60248201527f4578636565646564206d6178207472616e73616374696f6e206c696d6974000060448201526064016105bf565b600d546001600160a01b03838116911614610e3157600f5481610dd984610738565b610de391906119e4565b1115610e315760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016105bf565b5f610e3b30610738565b601054600e54919250821015908210610e5457600e5491505b808015610e6b5750600d54600160a81b900460ff16155b8015610e855750600d546001600160a01b03868116911614155b8015610e9a5750600d54600160b01b900460ff165b8015610ebe57506001600160a01b0385165f9081526004602052604090205460ff16155b8015610ee257506001600160a01b0384165f9081526004602052604090205460ff16155b15610f0257610ef082611035565b478015610f0057610f0047611229565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610f4557506001600160a01b0383165f9081526004602052604090205460ff165b80610f775750600d546001600160a01b03858116911614801590610f775750600d546001600160a01b03848116911614155b15610f8357505f610ff1565b600d546001600160a01b038581169116148015610fae5750600c546001600160a01b03848116911614155b15610fba576007546009555b600d546001600160a01b038481169116148015610fe55750600c546001600160a01b03858116911614155b15610ff1576008546009555b6108cc84848484611264565b5f81848411156110205760405162461bcd60e51b81526004016105bf91906116a1565b505f61102c84866119f7565b95945050505050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061107b5761107b6119d0565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f69190611a0a565b81600181518110611109576111096119d0565b6001600160a01b039283166020918202929092010152600c5461112f9130911684610b01565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111679085905f90869030904290600401611a25565b5f604051808303815f87803b15801561117e575f80fd5b505af1158015611190573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b5f60055482111561120d5760405162461bcd60e51b815260206004820152602c60248201527f416d6f756e742068617320746f206265206c657373207468616e20746f74616c60448201526b207265666c656374696f6e7360a01b60648201526084016105bf565b5f61121661128c565b905061122283826112ad565b9392505050565b600b546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611260573d5f803e3d5ffd5b5050565b80611271576112716112ee565b61127c848484611305565b806108cc576108cc600a54600955565b5f805f6112976113e3565b90925090506112a682826112ad565b9250505090565b5f61122283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611467565b6009545f036112f957565b60098054600a555f9055565b5f805f8061131285611493565b6001600160a01b038b165f908152600260205260409020549397509195509350915061133e90856114d5565b6001600160a01b038089165f90815260026020526040808220939093559088168152205461136c9084611516565b6001600160a01b0387165f9081526002602052604090205561138d81611574565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113d291815260200190565b60405180910390a350505050505050565b6005545f908190816113f76009600a611976565b611406906405d21dba00611984565b905061142f6114176009600a611976565b611426906405d21dba00611984565b600554906112ad565b82101561145e576005546114456009600a611976565b611454906405d21dba00611984565b9350935050509091565b90939092509050565b5f81836114875760405162461bcd60e51b81526004016105bf91906116a1565b505f61102c8486611a95565b5f805f805f806114a5876009546115ba565b915091505f6114b261128c565b90505f806114c18a85856115eb565b909b909a5094985092965092945050505050565b5f61122283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ffd565b5f8061152283856119e4565b9050838110156112225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bf565b5f61157d61128c565b90505f61158a8383611623565b305f908152600260205260409020549091506115a69082611516565b305f90815260026020526040902055505050565b5f80806115d260646115cc8787611623565b906112ad565b90505f6115df86836114d5565b96919550909350505050565b5f80806115f88685611623565b90505f6116058686611623565b90505f61161283836114d5565b92945091925050505b935093915050565b5f825f0361163257505f610508565b5f61163d8385611984565b90508261164a8583611a95565b146112225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105bf565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610601575f80fd5b5f80604083850312156116fb575f80fd5b8235611706816116d6565b946020939093013593505050565b5f805f60608486031215611726575f80fd5b8335611731816116d6565b92506020840135611741816116d6565b929592945050506040919091013590565b5f60208284031215611762575f80fd5b5035919050565b5f806040838503121561177a575f80fd5b50508035926020909101359150565b80358015158114611798575f80fd5b919050565b5f602082840312156117ad575f80fd5b61122282611789565b5f602082840312156117c6575f80fd5b8135611222816116d6565b5f805f604084860312156117e3575f80fd5b833567ffffffffffffffff8111156117f9575f80fd5b8401601f81018613611809575f80fd5b803567ffffffffffffffff81111561181f575f80fd5b8660208260051b8401011115611833575f80fd5b602091820194509250611847908501611789565b90509250925092565b5f8060408385031215611861575f80fd5b823561186c816116d6565b9150602083013561187c816116d6565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561161b578085048111156118ba576118ba611887565b60018416156118c857908102905b60019390931c92800261189f565b5f826118e457506001610508565b816118f057505f610508565b816001811461190657600281146119105761192c565b6001915050610508565b60ff84111561192157611921611887565b50506001821b610508565b5060208310610133831016604e8410600b841016171561194f575081810a610508565b61195b5f19848461189b565b805f190482111561196e5761196e611887565b029392505050565b5f61122260ff8416836118d6565b808202811582820484141761050857610508611887565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561050857610508611887565b8181038181111561050857610508611887565b5f60208284031215611a1a575f80fd5b8151611222816116d6565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a755783516001600160a01b0316835260209384019390920191600101611a4e565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611aaf57634e487b7160e01b5f52601260045260245ffd5b50049056fe746865207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122007cf7683d01e0b1432b65663d8fa09dc3956a4c0b054a2ab2329ed1f67ffbbe764736f6c634300081a00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000075dfda713efb21947ef7cc382405c9c3304e753a
Deployed Bytecode
0x608060405260043610610198575f3560e01c8063715018a6116100e757806395d89b4111610087578063dd88800511610062578063dd88800514610487578063f2fde38b146104a6578063f4293890146104c5578063fb0c2643146104d9575f80fd5b806395d89b41146101a3578063a9059cbb14610424578063dd62ed3e14610443575f80fd5b80638da5cb5b116100c25780638da5cb5b146103b55780638f70ccf7146103d15780638f9a55c0146103f057806390d2c93a14610405575f80fd5b8063715018a61461036d57806374010ece146103815780637d1db4a5146103a0575f80fd5b80632fd689e31161015257806351bc3c851161012d57806351bc3c85146102fc57806352f7c9881461031057806365db9cbb1461032f57806370a082311461034e575f80fd5b80632fd689e3146102ad578063313ce567146102c257806349bd5a5e146102dd575f80fd5b806306fdde03146101a3578063095ea7b3146101e55780631694505e1461021457806318160ddd1461024b57806323b872dd1461026d57806327a14fc21461028c575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b50604080518082018252600b81526a50726f6a6563743230323560a81b602082015290516101dc91906116a1565b60405180910390f35b3480156101f0575f80fd5b506102046101ff3660046116ea565b6104f8565b60405190151581526020016101dc565b34801561021f575f80fd5b50600c54610233906001600160a01b031681565b6040516001600160a01b0390911681526020016101dc565b348015610256575f80fd5b5061025f61050e565b6040519081526020016101dc565b348015610278575f80fd5b50610204610287366004611714565b61052f565b348015610297575f80fd5b506102ab6102a6366004611752565b610596565b005b3480156102b8575f80fd5b5061025f60105481565b3480156102cd575f80fd5b50604051600981526020016101dc565b3480156102e8575f80fd5b50600d54610233906001600160a01b031681565b348015610307575f80fd5b506102ab6105cd565b34801561031b575f80fd5b506102ab61032a366004611769565b610604565b34801561033a575f80fd5b506102ab61034936600461179d565b6106f1565b348015610359575f80fd5b5061025f6103683660046117b6565b610738565b348015610378575f80fd5b506102ab610759565b34801561038c575f80fd5b506102ab61039b366004611752565b6107ca565b3480156103ab575f80fd5b5061025f600e5481565b3480156103c0575f80fd5b505f546001600160a01b0316610233565b3480156103dc575f80fd5b506102ab6103eb36600461179d565b6107f8565b3480156103fb575f80fd5b5061025f600f5481565b348015610410575f80fd5b506102ab61041f3660046117d1565b61083f565b34801561042f575f80fd5b5061020461043e3660046116ea565b6108d2565b34801561044e575f80fd5b5061025f61045d366004611850565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610492575f80fd5b506102ab6104a1366004611752565b6108de565b3480156104b1575f80fd5b506102ab6104c03660046117b6565b61090c565b3480156104d0575f80fd5b506102ab6109f3565b3480156104e4575f80fd5b506102ab6104f33660046117b6565b610a1c565b5f610504338484610b01565b5060015b92915050565b5f61051b6009600a611976565b61052a906405d21dba00611984565b905090565b5f61053b848484610c0d565b61058c843361058785604051806060016040528060258152602001611ab5602591396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610ffd565b610b01565b5060019392505050565b5f546001600160a01b031633146105c85760405162461bcd60e51b81526004016105bf9061199b565b60405180910390fd5b600f55565b600b546001600160a01b0316336001600160a01b0316146105ec575f80fd5b5f6105f630610738565b905061060181611035565b50565b5f546001600160a01b0316331461062d5760405162461bcd60e51b81526004016105bf9061199b565b605f8211156106895760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261352560f01b60648201526084016105bf565b605f8111156106e65760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239352560e81b60648201526084016105bf565b600791909155600855565b5f546001600160a01b0316331461071a5760405162461bcd60e51b81526004016105bf9061199b565b600d8054911515600160b01b0260ff60b01b19909216919091179055565b6001600160a01b0381165f90815260026020526040812054610508906111a5565b5f546001600160a01b031633146107825760405162461bcd60e51b81526004016105bf9061199b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107f35760405162461bcd60e51b81526004016105bf9061199b565b600e55565b5f546001600160a01b031633146108215760405162461bcd60e51b81526004016105bf9061199b565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146108685760405162461bcd60e51b81526004016105bf9061199b565b5f5b828110156108cc578160045f868685818110610888576108886119d0565b905060200201602081019061089d91906117b6565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905560010161086a565b50505050565b5f610504338484610c0d565b5f546001600160a01b031633146109075760405162461bcd60e51b81526004016105bf9061199b565b601055565b5f546001600160a01b031633146109355760405162461bcd60e51b81526004016105bf9061199b565b6001600160a01b03811661099a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105bf565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600b546001600160a01b0316336001600160a01b031614610a12575f80fd5b4761060181611229565b5f546001600160a01b03163314610a455760405162461bcd60e51b81526004016105bf9061199b565b6001600160a01b038116610ab25760405162461bcd60e51b815260206004820152602e60248201527f4e657720646576656c6f706d656e7420616464726573732063616e6e6f74206260448201526d65207a65726f206164647265737360901b60648201526084016105bf565b600b80546001600160a01b039081165f90815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b038316610b575760405162461bcd60e51b815260206004820152601f60248201527f43616e277420617070726f76652066726f6d207a65726f20616464726573730060448201526064016105bf565b6001600160a01b038216610bad5760405162461bcd60e51b815260206004820152601d60248201527f43616e277420617070726f766520746f207a65726f206164647265737300000060448201526064016105bf565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216610c635760405162461bcd60e51b815260206004820152601d60248201527f43616e74207472616e7366657220746f2061646472657373207a65726f00000060448201526064016105bf565b5f8111610cb25760405162461bcd60e51b815260206004820152601b60248201527f416d6f756e742073686f756c642062652061626f7665207a65726f000000000060448201526064016105bf565b5f546001600160a01b03848116911614801590610cdc57505f546001600160a01b03838116911614155b15610f0557600d54600160a01b900460ff16610d65575f546001600160a01b03848116911614610d655760405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79206f776e65722063616e207472616465206265666f7265207472616460448201526d34b7339030b1ba34bb30ba34b7b760911b60648201526084016105bf565b600e54811115610db75760405162461bcd60e51b815260206004820152601e60248201527f4578636565646564206d6178207472616e73616374696f6e206c696d6974000060448201526064016105bf565b600d546001600160a01b03838116911614610e3157600f5481610dd984610738565b610de391906119e4565b1115610e315760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016105bf565b5f610e3b30610738565b601054600e54919250821015908210610e5457600e5491505b808015610e6b5750600d54600160a81b900460ff16155b8015610e855750600d546001600160a01b03868116911614155b8015610e9a5750600d54600160b01b900460ff165b8015610ebe57506001600160a01b0385165f9081526004602052604090205460ff16155b8015610ee257506001600160a01b0384165f9081526004602052604090205460ff16155b15610f0257610ef082611035565b478015610f0057610f0047611229565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610f4557506001600160a01b0383165f9081526004602052604090205460ff165b80610f775750600d546001600160a01b03858116911614801590610f775750600d546001600160a01b03848116911614155b15610f8357505f610ff1565b600d546001600160a01b038581169116148015610fae5750600c546001600160a01b03848116911614155b15610fba576007546009555b600d546001600160a01b038481169116148015610fe55750600c546001600160a01b03858116911614155b15610ff1576008546009555b6108cc84848484611264565b5f81848411156110205760405162461bcd60e51b81526004016105bf91906116a1565b505f61102c84866119f7565b95945050505050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061107b5761107b6119d0565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f69190611a0a565b81600181518110611109576111096119d0565b6001600160a01b039283166020918202929092010152600c5461112f9130911684610b01565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111679085905f90869030904290600401611a25565b5f604051808303815f87803b15801561117e575f80fd5b505af1158015611190573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b5f60055482111561120d5760405162461bcd60e51b815260206004820152602c60248201527f416d6f756e742068617320746f206265206c657373207468616e20746f74616c60448201526b207265666c656374696f6e7360a01b60648201526084016105bf565b5f61121661128c565b905061122283826112ad565b9392505050565b600b546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611260573d5f803e3d5ffd5b5050565b80611271576112716112ee565b61127c848484611305565b806108cc576108cc600a54600955565b5f805f6112976113e3565b90925090506112a682826112ad565b9250505090565b5f61122283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611467565b6009545f036112f957565b60098054600a555f9055565b5f805f8061131285611493565b6001600160a01b038b165f908152600260205260409020549397509195509350915061133e90856114d5565b6001600160a01b038089165f90815260026020526040808220939093559088168152205461136c9084611516565b6001600160a01b0387165f9081526002602052604090205561138d81611574565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113d291815260200190565b60405180910390a350505050505050565b6005545f908190816113f76009600a611976565b611406906405d21dba00611984565b905061142f6114176009600a611976565b611426906405d21dba00611984565b600554906112ad565b82101561145e576005546114456009600a611976565b611454906405d21dba00611984565b9350935050509091565b90939092509050565b5f81836114875760405162461bcd60e51b81526004016105bf91906116a1565b505f61102c8486611a95565b5f805f805f806114a5876009546115ba565b915091505f6114b261128c565b90505f806114c18a85856115eb565b909b909a5094985092965092945050505050565b5f61122283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ffd565b5f8061152283856119e4565b9050838110156112225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bf565b5f61157d61128c565b90505f61158a8383611623565b305f908152600260205260409020549091506115a69082611516565b305f90815260026020526040902055505050565b5f80806115d260646115cc8787611623565b906112ad565b90505f6115df86836114d5565b96919550909350505050565b5f80806115f88685611623565b90505f6116058686611623565b90505f61161283836114d5565b92945091925050505b935093915050565b5f825f0361163257505f610508565b5f61163d8385611984565b90508261164a8583611a95565b146112225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105bf565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610601575f80fd5b5f80604083850312156116fb575f80fd5b8235611706816116d6565b946020939093013593505050565b5f805f60608486031215611726575f80fd5b8335611731816116d6565b92506020840135611741816116d6565b929592945050506040919091013590565b5f60208284031215611762575f80fd5b5035919050565b5f806040838503121561177a575f80fd5b50508035926020909101359150565b80358015158114611798575f80fd5b919050565b5f602082840312156117ad575f80fd5b61122282611789565b5f602082840312156117c6575f80fd5b8135611222816116d6565b5f805f604084860312156117e3575f80fd5b833567ffffffffffffffff8111156117f9575f80fd5b8401601f81018613611809575f80fd5b803567ffffffffffffffff81111561181f575f80fd5b8660208260051b8401011115611833575f80fd5b602091820194509250611847908501611789565b90509250925092565b5f8060408385031215611861575f80fd5b823561186c816116d6565b9150602083013561187c816116d6565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561161b578085048111156118ba576118ba611887565b60018416156118c857908102905b60019390931c92800261189f565b5f826118e457506001610508565b816118f057505f610508565b816001811461190657600281146119105761192c565b6001915050610508565b60ff84111561192157611921611887565b50506001821b610508565b5060208310610133831016604e8410600b841016171561194f575081810a610508565b61195b5f19848461189b565b805f190482111561196e5761196e611887565b029392505050565b5f61122260ff8416836118d6565b808202811582820484141761050857610508611887565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561050857610508611887565b8181038181111561050857610508611887565b5f60208284031215611a1a575f80fd5b8151611222816116d6565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a755783516001600160a01b0316835260209384019390920191600101611a4e565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611aaf57634e487b7160e01b5f52601260045260245ffd5b50049056fe746865207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122007cf7683d01e0b1432b65663d8fa09dc3956a4c0b054a2ab2329ed1f67ffbbe764736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000075dfda713efb21947ef7cc382405c9c3304e753a
-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : devAddress (address): 0x75dFDA713eFb21947EF7cC382405C9C3304e753a
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 00000000000000000000000075dfda713efb21947ef7cc382405c9c3304e753a
Deployed Bytecode Sourcemap
4702:11744:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6676:83;;;;;;;;;;-1:-1:-1;6746:5:0;;;;;;;;;;;-1:-1:-1;;;6746:5:0;;;;6676:83;;;;6746:5;6676:83;:::i;:::-;;;;;;;;7601:193;;;;;;;;;;-1:-1:-1;7601:193:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;7601:193:0;945:187:1;5572:41:0;;;;;;;;;;-1:-1:-1;5572:41:0;;;;-1:-1:-1;;;;;5572:41:0;;;;;;-1:-1:-1;;;;;1327:32:1;;;1309:51;;1297:2;1282:18;5572:41:0;1137:229:1;6956:95:0;;;;;;;;;;;;;:::i;:::-;;;1517:25:1;;;1505:2;1490:18;6956:95:0;1371:177:1;7803:443:0;;;;;;;;;;-1:-1:-1;7803:443:0;;;;;:::i;:::-;;:::i;15758:117::-;;;;;;;;;;-1:-1:-1;15758:117:0;;;;;:::i;:::-;;:::i;:::-;;5872:57;;;;;;;;;;;;;;;;6864:83;;;;;;;;;;-1:-1:-1;6864:83:0;;4938:1;2439:36:1;;2427:2;2412:18;6864:83:0;2297:184:1;5620:28:0;;;;;;;;;;-1:-1:-1;5620:28:0;;;;-1:-1:-1;;;;;5620:28:0;;;11804:191;;;;;;;;;;;;;:::i;15025:357::-;;;;;;;;;;-1:-1:-1;15025:357:0;;;;;:::i;:::-;;:::i;15528:102::-;;;;;;;;;;-1:-1:-1;15528:102:0;;;;;:::i;:::-;;:::i;7060:131::-;;;;;;;;;;-1:-1:-1;7060:131:0;;;;;:::i;:::-;;:::i;2175:148::-;;;;;;;;;;;;;:::i;15638:111::-;;;;;;;;;;-1:-1:-1;15638:111:0;;;;;:::i;:::-;;:::i;5764:46::-;;;;;;;;;;;;;;;;1959:79;;;;;;;;;;-1:-1:-1;1997:7:0;2024:6;-1:-1:-1;;;;;2024:6:0;1959:79;;11694:101;;;;;;;;;;-1:-1:-1;11694:101:0;;;;;:::i;:::-;;:::i;5817:48::-;;;;;;;;;;;;;;;;15884:226;;;;;;;;;;-1:-1:-1;15884:226:0;;;;;:::i;:::-;;:::i;7200:199::-;;;;;;;;;;-1:-1:-1;7200:199:0;;;;;:::i;:::-;;:::i;7408:184::-;;;;;;;;;;-1:-1:-1;7408:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7557:18:0;;;7525:7;7557:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7408:184;15390:130;;;;;;;;;;-1:-1:-1;15390:130:0;;;;;:::i;:::-;;:::i;2332:244::-;;;;;;;;;;-1:-1:-1;2332:244:0;;;;;:::i;:::-;;:::i;12004:190::-;;;;;;;;;;;;;:::i;16118:325::-;;;;;;;;;;-1:-1:-1;16118:325:0;;;;;:::i;:::-;;:::i;7601:193::-;7703:4;7725:39;788:10;7748:7;7757:6;7725:8;:39::i;:::-;-1:-1:-1;7782:4:0;7601:193;;;;;:::o;6956:95::-;7009:7;5232:15;4938:1;5232:2;:15;:::i;:::-;5215:32;;:14;:32;:::i;:::-;7029:14;;6956:95;:::o;7803:443::-;7935:4;7952:36;7962:6;7970:9;7981:6;7952:9;:36::i;:::-;7999:217;8022:6;788:10;8070:135;8126:6;8070:135;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8070:19:0;;;;;;:11;:19;;;;;;;;788:10;8070:33;;;;;;;;;;:37;:135::i;:::-;7999:8;:217::i;:::-;-1:-1:-1;8234:4:0;7803:443;;;;;:::o;15758:117::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;;;;;;;;;15837:14:::1;:30:::0;15758:117::o;11804:191::-;11870:11;;-1:-1:-1;;;;;11870:11:0;788:10;-1:-1:-1;;;;;11854:27:0;;11846:36;;;;;;11893:23;11919:24;11937:4;11919:9;:24::i;:::-;11893:50;;11954:33;11971:15;11954:16;:33::i;:::-;11835:160;11804:191::o;15025:357::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;15155:2:::1;15140:11;:17;;15112:84;;;::::0;-1:-1:-1;;;15112:84:0;;7029:2:1;15112:84:0::1;::::0;::::1;7011:21:1::0;7068:2;7048:18;;;7041:30;7107:34;7087:18;;;7080:62;-1:-1:-1;;;7158:18:1;;;7151:32;7200:19;;15112:84:0::1;6827:398:1::0;15112:84:0::1;15252:2;15236:12;:18;;15207:87;;;::::0;-1:-1:-1;;;15207:87:0;;7432:2:1;15207:87:0::1;::::0;::::1;7414:21:1::0;7471:2;7451:18;;;7444:30;7510:34;7490:18;;;7483:62;-1:-1:-1;;;7561:18:1;;;7554:33;7604:19;;15207:87:0::1;7230:399:1::0;15207:87:0::1;15307:12;:26:::0;;;;15344:13:::1;:28:::0;15025:357::o;15528:102::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;15596:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;15596:26:0::1;-1:-1:-1::0;;;;15596:26:0;;::::1;::::0;;;::::1;::::0;;15528:102::o;7060:131::-;-1:-1:-1;;;;;7166:16:0;;7126:7;7166:16;;;:7;:16;;;;;;7153:30;;:12;:30::i;2175:148::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;2282:1:::1;2266:6:::0;;2245:40:::1;::::0;-1:-1:-1;;;;;2266:6:0;;::::1;::::0;2245:40:::1;::::0;2282:1;;2245:40:::1;2313:1;2296:19:::0;;-1:-1:-1;;;;;;2296:19:0::1;::::0;;2175:148::o;15638:111::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;15715:12:::1;:26:::0;15638:111::o;11694:101::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;11761:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;11761:26:0::1;-1:-1:-1::0;;;;11761:26:0;;::::1;::::0;;;::::1;::::0;;11694:101::o;15884:226::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;15993:9:::1;15989:114;16008:19:::0;;::::1;15989:114;;;16083:8;16049:18;:31;16068:8;;16077:1;16068:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16049:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16049:31:0;:42;;-1:-1:-1;;16049:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;16029:3:0::1;15989:114;;;;15884:226:::0;;;:::o;7200:199::-;7305:4;7327:42;788:10;7351:9;7362:6;7327:9;:42::i;15390:130::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;15472:19:::1;:40:::0;15390:130::o;2332:244::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2421:22:0;::::1;2413:73;;;::::0;-1:-1:-1;;;2413:73:0;;7968:2:1;2413:73:0::1;::::0;::::1;7950:21:1::0;8007:2;7987:18;;;7980:30;8046:34;8026:18;;;8019:62;-1:-1:-1;;;8097:18:1;;;8090:36;8143:19;;2413:73:0::1;7766:402:1::0;2413:73:0::1;2523:6;::::0;;2502:38:::1;::::0;-1:-1:-1;;;;;2502:38:0;;::::1;::::0;2523:6;::::1;::::0;2502:38:::1;::::0;::::1;2551:6;:17:::0;;-1:-1:-1;;;;;;2551:17:0::1;-1:-1:-1::0;;;;;2551:17:0;;;::::1;::::0;;;::::1;::::0;;2332:244::o;12004:190::-;12070:11;;-1:-1:-1;;;;;12070:11:0;788:10;-1:-1:-1;;;;;12054:27:0;;12046:36;;;;;;12122:21;12154:32;12122:21;12154:12;:32::i;16118:325::-;2087:6;;-1:-1:-1;;;;;2087:6:0;788:10;2087:22;2079:67;;;;-1:-1:-1;;;2079:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16211:27:0;::::1;16203:86;;;::::0;-1:-1:-1;;;16203:86:0;;8375:2:1;16203:86:0::1;::::0;::::1;8357:21:1::0;8414:2;8394:18;;;8387:30;8453:34;8433:18;;;8426:62;-1:-1:-1;;;8504:18:1;;;8497:44;8558:19;;16203:86:0::1;8173:410:1::0;16203:86:0::1;16319:11;::::0;;-1:-1:-1;;;;;16319:11:0;;::::1;16334:5;16300:31:::0;;;:18:::1;:31;::::0;;;;;:39;;-1:-1:-1;;16300:39:0;;::::1;::::0;;;16350:36;;-1:-1:-1;;;;;;16350:36:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;16397:31;;;;;:38;;;;::::1;-1:-1:-1::0;16397:38:0::1;::::0;;16118:325::o;8803:361::-;-1:-1:-1;;;;;8930:19:0;;8922:63;;;;-1:-1:-1;;;8922:63:0;;8790:2:1;8922:63:0;;;8772:21:1;8829:2;8809:18;;;8802:30;8868:33;8848:18;;;8841:61;8919:18;;8922:63:0;8588:355:1;8922:63:0;-1:-1:-1;;;;;9004:21:0;;8996:63;;;;-1:-1:-1;;;8996:63:0;;9150:2:1;8996:63:0;;;9132:21:1;9189:2;9169:18;;;9162:30;9228:31;9208:18;;;9201:59;9277:18;;8996:63:0;8948:353:1;8996:63:0;-1:-1:-1;;;;;9072:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9124:32;;1517:25:1;;;9124:32:0;;1490:18:1;9124:32:0;;;;;;;8803:361;;;:::o;9173:1918::-;-1:-1:-1;;;;;9295:16:0;;9287:58;;;;-1:-1:-1;;;9287:58:0;;9508:2:1;9287:58:0;;;9490:21:1;9547:2;9527:18;;;9520:30;9586:31;9566:18;;;9559:59;9635:18;;9287:58:0;9306:353:1;9287:58:0;9373:1;9364:6;:10;9356:50;;;;-1:-1:-1;;;9356:50:0;;9866:2:1;9356:50:0;;;9848:21:1;9905:2;9885:18;;;9878:30;9944:29;9924:18;;;9917:57;9991:18;;9356:50:0;9664:351:1;9356:50:0;1997:7;2024:6;-1:-1:-1;;;;;9424:15:0;;;2024:6;;9424:15;;;;:32;;-1:-1:-1;1997:7:0;2024:6;-1:-1:-1;;;;;9443:13:0;;;2024:6;;9443:13;;9424:32;9420:1122;;;9481:11;;-1:-1:-1;;;9481:11:0;;;;9476:127;;1997:7;2024:6;-1:-1:-1;;;;;9521:15:0;;;2024:6;;9521:15;9513:74;;;;-1:-1:-1;;;9513:74:0;;10222:2:1;9513:74:0;;;10204:21:1;10261:2;10241:18;;;10234:30;10300:34;10280:18;;;10273:62;-1:-1:-1;;;10351:18:1;;;10344:44;10405:19;;9513:74:0;10020:410:1;9513:74:0;9638:12;;9628:6;:22;;9620:65;;;;-1:-1:-1;;;9620:65:0;;10637:2:1;9620:65:0;;;10619:21:1;10676:2;10656:18;;;10649:30;10715:32;10695:18;;;10688:60;10765:18;;9620:65:0;10435:354:1;9620:65:0;9712:13;;-1:-1:-1;;;;;9706:19:0;;;9712:13;;9706:19;9703:138;;9780:14;;9770:6;9754:13;9764:2;9754:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9746:79;;;;-1:-1:-1;;;9746:79:0;;11126:2:1;9746:79:0;;;11108:21:1;11165:2;11145:18;;;11138:30;11204:28;11184:18;;;11177:56;11250:18;;9746:79:0;10924:350:1;9746:79:0;9858:28;9889:24;9907:4;9889:9;:24::i;:::-;9967:19;;10031:12;;9858:55;;-1:-1:-1;9943:43:0;;;;10007:36;;10004:124;;10100:12;;10077:35;;10004:124;10149:7;:18;;;;-1:-1:-1;10161:6:0;;-1:-1:-1;;;10161:6:0;;;;10160:7;10149:18;:43;;;;-1:-1:-1;10179:13:0;;-1:-1:-1;;;;;10171:21:0;;;10179:13;;10171:21;;10149:43;:58;;;;-1:-1:-1;10196:11:0;;-1:-1:-1;;;10196:11:0;;;;10149:58;:87;;;;-1:-1:-1;;;;;;10212:24:0;;;;;;:18;:24;;;;;;;;10211:25;10149:87;:114;;;;-1:-1:-1;;;;;;10241:22:0;;;;;;:18;:22;;;;;;;;10240:23;10149:114;10145:386;;;10284:38;10301:20;10284:16;:38::i;:::-;10370:21;10414:22;;10410:106;;10461:35;10474:21;10461:12;:35::i;:::-;10265:266;10145:386;9458:1084;;9420:1122;-1:-1:-1;;;;;10593:24:0;;10555:12;10593:24;;;:18;:24;;;;;;10570:4;;10593:24;;;:50;;-1:-1:-1;;;;;;10621:22:0;;;;;;:18;:22;;;;;;;;10593:50;10592:102;;;-1:-1:-1;10657:13:0;;-1:-1:-1;;;;;10649:21:0;;;10657:13;;10649:21;;;;:44;;-1:-1:-1;10680:13:0;;-1:-1:-1;;;;;10674:19:0;;;10680:13;;10674:19;;10649:44;10588:441;;;-1:-1:-1;10721:5:0;10588:441;;;10773:13;;-1:-1:-1;;;;;10765:21:0;;;10773:13;;10765:21;:55;;;;-1:-1:-1;10804:15:0;;-1:-1:-1;;;;;10790:30:0;;;10804:15;;10790:30;;10765:55;10762:117;;;10851:12;;10841:7;:22;10762:117;10906:13;;-1:-1:-1;;;;;10900:19:0;;;10906:13;;10900:19;:55;;;;-1:-1:-1;10939:15:0;;-1:-1:-1;;;;;10923:32:0;;;10939:15;;10923:32;;10900:55;10896:119;;;10986:13;;10976:7;:23;10896:119;11042:41;11057:4;11063:2;11067:6;11075:7;11042:14;:41::i;2944:224::-;3064:7;3100:12;3092:6;;;;3084:29;;;;-1:-1:-1;;;3084:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3124:9:0;3136:5;3140:1;3136;:5;:::i;:::-;3124:17;2944:224;-1:-1:-1;;;;;2944:224:0:o;11100:483::-;5970:6;:13;;-1:-1:-1;;;;5970:13:0;-1:-1:-1;;;5970:13:0;;;11202:16:::1;::::0;;11216:1:::1;11202:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11202:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11202:16:0::1;11178:40;;11247:4;11229;11234:1;11229:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11229:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11273:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11273:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11229:7;;11273:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11263:4;11268:1;11263:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11263:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11338:15:::1;::::0;11306:62:::1;::::0;11323:4:::1;::::0;11338:15:::1;11356:11:::0;11306:8:::1;:62::i;:::-;11379:15;::::0;:196:::1;::::0;-1:-1:-1;;;11379:196:0;;-1:-1:-1;;;;;11379:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11460:11;;11379:15:::1;::::0;11502:4;;11529::::1;::::0;11549:15:::1;::::0;11379:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6006:6:0;:14;;-1:-1:-1;;;;6006:14:0;;;-1:-1:-1;;;;11100:483:0:o;8255:318::-;8343:7;8401;;8390;:18;;8368:112;;;;-1:-1:-1;;;8368:112:0;;12966:2:1;8368:112:0;;;12948:21:1;13005:2;12985:18;;;12978:30;13044:34;13024:18;;;13017:62;-1:-1:-1;;;13095:18:1;;;13088:42;13147:19;;8368:112:0;12764:408:1;8368:112:0;8491:19;8513:10;:8;:10::i;:::-;8491:32;-1:-1:-1;8541:24:0;:7;8491:32;8541:11;:24::i;:::-;8534:31;8255:318;-1:-1:-1;;;8255:318:0:o;11592:93::-;11649:11;;:28;;-1:-1:-1;;;;;11649:11:0;;;;:28;;;;;11670:6;;11649:11;:28;:11;:28;11670:6;11649:11;:28;;;;;;;;;;;;;;;;;;;;;11592:93;:::o;12203:275::-;12359:7;12354:25;;12368:11;:9;:11::i;:::-;12390:44;12408:6;12416:9;12427:6;12390:17;:44::i;:::-;12450:7;12445:25;;12459:11;8771:15;;8761:7;:25;8721:73;14586:164;14628:7;14649:15;14666;14685:19;:17;:19::i;:::-;14648:56;;-1:-1:-1;14648:56:0;-1:-1:-1;14722:20:0;14648:56;;14722:11;:20::i;:::-;14715:27;;;;14586:164;:::o;3432:132::-;3490:7;3517:39;3521:1;3524;3517:39;;;;;;;;;;;;;;;;;:3;:39::i;8582:130::-;8626:7;;8637:1;8626:12;8622:25;;8582:130::o;8622:25::-;8675:7;;;8657:15;:25;-1:-1:-1;8693:11:0;;8582:130::o;12487:519::-;12634:15;12664:23;12702;12740:12;12766:19;12777:7;12766:10;:19::i;:::-;-1:-1:-1;;;;;12814:15:0;;;;;;:7;:15;;;;;;12619:166;;-1:-1:-1;12619:166:0;;-1:-1:-1;12619:166:0;-1:-1:-1;12619:166:0;-1:-1:-1;12814:28:0;;12619:166;12814:19;:28::i;:::-;-1:-1:-1;;;;;12796:15:0;;;;;;;:7;:15;;;;;;:46;;;;12874:18;;;;;;;:39;;12897:15;12874:22;:39::i;:::-;-1:-1:-1;;;;;12853:18:0;;;;;;:7;:18;;;;;:60;12924:14;12933:4;12924:8;:14::i;:::-;12971:9;-1:-1:-1;;;;;12954:44:0;12963:6;-1:-1:-1;;;;;12954:44:0;;12982:15;12954:44;;;;1517:25:1;;1505:2;1490:18;;1371:177;12954:44:0;;;;;;;;12608:398;;;;12487:519;;;:::o;14759:257::-;14857:7;;14810;;;;;5232:15;4938:1;5232:2;:15;:::i;:::-;5215:32;;:14;:32;:::i;:::-;14875:25;-1:-1:-1;14925:20:0;5232:15;4938:1;5232:2;:15;:::i;:::-;5215:32;;:14;:32;:::i;:::-;14925:7;;;:11;:20::i;:::-;14915:7;:30;14911:61;;;14955:7;;5232:15;4938:1;5232:2;:15;:::i;:::-;5215:32;;:14;:32;:::i;:::-;14947:25;;;;;;14759:257;;:::o;14911:61::-;14991:7;;15000;;-1:-1:-1;14759:257:0;-1:-1:-1;14759:257:0:o;3573:223::-;3693:7;3728:12;3721:5;3713:28;;;;-1:-1:-1;;;3713:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3752:9:0;3764:5;3768:1;3764;:5;:::i;13268:515::-;13368:7;13390;13412;13434;13470:23;13496:13;13526:29;13538:7;13547;;13526:11;:29::i;:::-;13469:86;;;;13566:19;13588:10;:8;:10::i;:::-;13566:32;;13610:15;13627:23;13667:40;13679:7;13688:5;13695:11;13667;:40::i;:::-;13609:98;;;;-1:-1:-1;13752:15:0;;-1:-1:-1;13769:5:0;;-1:-1:-1;13268:515:0;;-1:-1:-1;;;;;13268:515:0:o;2799:136::-;2857:7;2884:43;2888:1;2891;2884:43;;;;;;;;;;;;;;;;;:3;:43::i;2611:179::-;2669:7;;2701:5;2705:1;2701;:5;:::i;:::-;2689:17;;2730:1;2725;:6;;2717:46;;;;-1:-1:-1;;;2717:46:0;;13601:2:1;2717:46:0;;;13583:21:1;13640:2;13620:18;;;13613:30;13679:29;13659:18;;;13652:57;13726:18;;2717:46:0;13399:351:1;13015:206:0;13066:19;13088:10;:8;:10::i;:::-;13066:32;-1:-1:-1;13109:12:0;13124:21;:4;13066:32;13124:8;:21::i;:::-;13197:4;13181:22;;;;:7;:22;;;;;;13109:36;;-1:-1:-1;13181:32:0;;13109:36;13181:26;:32::i;:::-;13172:4;13156:22;;;;:7;:22;;;;;:57;-1:-1:-1;;;13015:206:0:o;13792:350::-;13934:7;;;14007:28;14031:3;14007:19;:7;14019:6;14007:11;:19::i;:::-;:23;;:28::i;:::-;13991:44;-1:-1:-1;14047:23:0;14073:18;:7;13991:44;14073:11;:18::i;:::-;14047:44;14128:5;;-1:-1:-1;13792:350:0;;-1:-1:-1;;;;13792:350:0:o;14151:426::-;14322:7;;;14397:24;:7;14409:11;14397;:24::i;:::-;14379:42;-1:-1:-1;14432:13:0;14448:22;:5;14458:11;14448:9;:22::i;:::-;14432:38;-1:-1:-1;14481:23:0;14507:18;:7;14432:38;14507:11;:18::i;:::-;14544:7;;-1:-1:-1;14481:44:0;;-1:-1:-1;;;14151:426:0;;;;;;;:::o;3177:246::-;3235:7;3259:1;3264;3259:6;3255:47;;-1:-1:-1;3289:1:0;3282:8;;3255:47;3312:9;3324:5;3328:1;3324;:5;:::i;:::-;3312:17;-1:-1:-1;3357:1:0;3348:5;3352:1;3312:17;3348:5;:::i;:::-;:10;3340:56;;;;-1:-1:-1;;;3340:56:0;;13957:2:1;3340:56:0;;;13939:21:1;13996:2;13976:18;;;13969:30;14035:34;14015:18;;;14008:62;-1:-1:-1;;;14086:18:1;;;14079:31;14127:19;;3340:56:0;13755:397:1;14:418;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:367;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1553:508::-;1630:6;1638;1646;1699:2;1687:9;1678:7;1674:23;1670:32;1667:52;;;1715:1;1712;1705:12;1667:52;1754:9;1741:23;1773:31;1798:5;1773:31;:::i;:::-;1823:5;-1:-1:-1;1880:2:1;1865:18;;1852:32;1893:33;1852:32;1893:33;:::i;:::-;1553:508;;1945:7;;-1:-1:-1;;;2025:2:1;2010:18;;;;1997:32;;1553:508::o;2066:226::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;-1:-1:-1;2239:23:1;;2066:226;-1:-1:-1;2066:226:1:o;2694:346::-;2762:6;2770;2823:2;2811:9;2802:7;2798:23;2794:32;2791:52;;;2839:1;2836;2829:12;2791:52;-1:-1:-1;;2884:23:1;;;3004:2;2989:18;;;2976:32;;-1:-1:-1;2694:346:1:o;3045:160::-;3110:20;;3166:13;;3159:21;3149:32;;3139:60;;3195:1;3192;3185:12;3139:60;3045:160;;;:::o;3210:180::-;3266:6;3319:2;3307:9;3298:7;3294:23;3290:32;3287:52;;;3335:1;3332;3325:12;3287:52;3358:26;3374:9;3358:26;:::i;3395:247::-;3454:6;3507:2;3495:9;3486:7;3482:23;3478:32;3475:52;;;3523:1;3520;3513:12;3475:52;3562:9;3549:23;3581:31;3606:5;3581:31;:::i;3647:684::-;3739:6;3747;3755;3808:2;3796:9;3787:7;3783:23;3779:32;3776:52;;;3824:1;3821;3814:12;3776:52;3864:9;3851:23;3897:18;3889:6;3886:30;3883:50;;;3929:1;3926;3919:12;3883:50;3952:22;;4005:4;3997:13;;3993:27;-1:-1:-1;3983:55:1;;4034:1;4031;4024:12;3983:55;4074:2;4061:16;4100:18;4092:6;4089:30;4086:50;;;4132:1;4129;4122:12;4086:50;4187:7;4180:4;4170:6;4167:1;4163:14;4159:2;4155:23;4151:34;4148:47;4145:67;;;4208:1;4205;4198:12;4145:67;4239:4;4231:13;;;;-1:-1:-1;4263:6:1;-1:-1:-1;4288:37:1;;4304:20;;4288:37;:::i;:::-;4278:47;;3647:684;;;;;:::o;4336:388::-;4404:6;4412;4465:2;4453:9;4444:7;4440:23;4436:32;4433:52;;;4481:1;4478;4471:12;4433:52;4520:9;4507:23;4539:31;4564:5;4539:31;:::i;:::-;4589:5;-1:-1:-1;4646:2:1;4631:18;;4618:32;4659:33;4618:32;4659:33;:::i;:::-;4711:7;4701:17;;;4336:388;;;;;:::o;4729:127::-;4790:10;4785:3;4781:20;4778:1;4771:31;4821:4;4818:1;4811:15;4845:4;4842:1;4835:15;4861:375;4949:1;4967:5;4981:249;5002:1;4992:8;4989:15;4981:249;;;5052:4;5047:3;5043:14;5037:4;5034:24;5031:50;;;5061:18;;:::i;:::-;5111:1;5101:8;5097:16;5094:49;;;5125:16;;;;5094:49;5208:1;5204:16;;;;;5164:15;;4981:249;;5241:902;5290:5;5320:8;5310:80;;-1:-1:-1;5361:1:1;5375:5;;5310:80;5409:4;5399:76;;-1:-1:-1;5446:1:1;5460:5;;5399:76;5491:4;5509:1;5504:59;;;;5577:1;5572:174;;;;5484:262;;5504:59;5534:1;5525:10;;5548:5;;;5572:174;5609:3;5599:8;5596:17;5593:43;;;5616:18;;:::i;:::-;-1:-1:-1;;5672:1:1;5658:16;;5731:5;;5484:262;;5830:2;5820:8;5817:16;5811:3;5805:4;5802:13;5798:36;5792:2;5782:8;5779:16;5774:2;5768:4;5765:12;5761:35;5758:77;5755:203;;;-1:-1:-1;5867:19:1;;;5943:5;;5755:203;5990:42;-1:-1:-1;;6015:8:1;6009:4;5990:42;:::i;:::-;6068:6;6064:1;6060:6;6056:19;6047:7;6044:32;6041:58;;;6079:18;;:::i;:::-;6117:20;;5241:902;-1:-1:-1;;;5241:902:1:o;6148:140::-;6206:5;6235:47;6276:4;6266:8;6262:19;6256:4;6235:47;:::i;6293:168::-;6366:9;;;6397;;6414:15;;;6408:22;;6394:37;6384:71;;6435:18;;:::i;6466:356::-;6668:2;6650:21;;;6687:18;;;6680:30;6746:34;6741:2;6726:18;;6719:62;6813:2;6798:18;;6466:356::o;7634:127::-;7695:10;7690:3;7686:20;7683:1;7676:31;7726:4;7723:1;7716:15;7750:4;7747:1;7740:15;10794:125;10859:9;;;10880:10;;;10877:36;;;10893:18;;:::i;11279:128::-;11346:9;;;11367:11;;;11364:37;;;11381:18;;:::i;11544:251::-;11614:6;11667:2;11655:9;11646:7;11642:23;11638:32;11635:52;;;11683:1;11680;11673:12;11635:52;11715:9;11709:16;11734:31;11759:5;11734:31;:::i;11800:959::-;12062:4;12110:3;12099:9;12095:19;12141:6;12130:9;12123:25;12184:6;12179:2;12168:9;12164:18;12157:34;12227:3;12222:2;12211:9;12207:18;12200:31;12251:6;12286;12280:13;12317:6;12309;12302:22;12355:3;12344:9;12340:19;12333:26;;12394:2;12386:6;12382:15;12368:29;;12415:1;12425:195;12439:6;12436:1;12433:13;12425:195;;;12504:13;;-1:-1:-1;;;;;12500:39:1;12488:52;;12569:2;12595:15;;;;12560:12;;;;12536:1;12454:9;12425:195;;;-1:-1:-1;;;;;;;12676:32:1;;;;12671:2;12656:18;;12649:60;-1:-1:-1;;12740:3:1;12725:19;12718:35;12637:3;11800:959;-1:-1:-1;;;11800:959:1:o;13177:217::-;13217:1;13243;13233:132;;13287:10;13282:3;13278:20;13275:1;13268:31;13322:4;13319:1;13312:15;13350:4;13347:1;13340:15;13233:132;-1:-1:-1;13379:9:1;;13177:217::o
Swarm Source
ipfs://07cf7683d01e0b1432b65663d8fa09dc3956a4c0b054a2ab2329ed1f67ffbbe7
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.