ERC-20
Overview
Max Total Supply
1,000,000,000 SAGE
Holders
50
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SAGE
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-19 */ /** * https://t.me/sageuniverseerc * https://sageuniverseerc.site * https://x.com/sageuniverseerc */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniRouter { 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 SAGE is IERC20, Ownable { uint8 private constant _decimals = 18; uint256 internal constant _totalSupply = 1e9 * 10 ** _decimals; string private constant _name = "Sage Universe"; string private constant _symbol = "SAGE"; uint32 private constant TOTAL_BP = 10000; uint32 private constant maxFeeBP = 9900; address public sageTreasure; bool public tradingAllowed; bool public limitsCheck = true; bool public earlySell = false; uint32 public shortTax = 3000; uint32 public longTax = 3000; uint32 public lpBP = 0; uint32 public earlyLongTax = 3000; mapping(address => bool) public taxIgnored; mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 public maxTxLimit = 20_000_000 * 10 ** _decimals; uint256 public maxWalletLimit = 20_000_000 * 10 ** _decimals; IUniRouter private dexRouter; address public lp; bool public swapEnabled = false; uint256 public minSwapAt = 5000 * 10 ** _decimals; uint256 public maxSwapAt = 10_000_000 * 10 ** _decimals; function calcBP( uint256 _input, uint256 _percent ) private pure returns (uint256) { return (_input * _percent) / TOTAL_BP; } bool private swapping = false; modifier lockSwap() { swapping = true; _; swapping = false; } constructor() { sageTreasure = 0x73fbaC370520D62FbF6800834484F1229891D6A8; IUniRouter _dexRouter = IUniRouter( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); dexRouter = _dexRouter; taxIgnored[address(this)] = true; taxIgnored[msg.sender] = true; taxIgnored[sageTreasure] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function name() public view virtual returns (string memory) { return _name; } function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return _decimals; } function totalSupply() public view virtual returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address to, uint256 amount ) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _basicTransfer( address from, address to, uint256 amount ) internal virtual { uint256 fromBalance = _balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); } function openSage() public onlyOwner { lp = IUniswapV2Factory(dexRouter.factory()).createPair( address(this), dexRouter.WETH() ); addLP(balanceOf(address(this)), address(this).balance); tradingAllowed = true; swapEnabled = true; } receive() external payable {} function removeLimits() public onlyOwner { limitsCheck = false; maxTxLimit = type(uint256).max; maxWalletLimit = type(uint256).max; } function removeTax(uint32 _shortTax, uint32 _longTax) public onlyOwner { require(_shortTax <= maxFeeBP && _longTax <= maxFeeBP, "Too high fee"); shortTax = _shortTax; longTax = _longTax; } function _transfer(address ford, address tune, uint256 absi) internal { require(ford != address(0), "ERC20: transfer from the zero address"); require(tune != address(0), "ERC20: transfer to the zero address"); require(absi > 0, "Transfer amount must be greater than zero"); if (ford == owner() || tune == owner() || ford == address(this)) { _basicTransfer(ford, tune, absi); return; } require(tradingAllowed, "Trading is disabled"); uint256 tax_absi = 0; bool isbuy = ford == lp; bool isSell = tune == lp; if (isSell) { swapBack(); } if (isbuy) { if (!taxIgnored[tune]) { tax_absi = calcBP(absi, shortTax); } } else { if (!taxIgnored[ford]) { tax_absi = calcBP(absi, earlySell ? earlyLongTax : longTax); } } unchecked { require(absi >= tax_absi, "fee exceeds amount"); absi -= tax_absi; } if (limitsCheck) { require(absi <= maxTxLimit, "Max TX reached"); if (tune != lp) { require( _balances[tune] + absi <= maxWalletLimit, "Max wallet reached" ); } } takeTaxes(ford, absi, tax_absi); _basicTransfer(ford, tune, absi); } function swapBack() private { uint256 token_balance = balanceOf(address(this)); bool can_swap = token_balance >= minSwapAt; if (!swapping && swapEnabled) { if (token_balance > maxSwapAt) token_balance = maxSwapAt; if (can_swap) swapTokensForETH(token_balance); uint256 eth_balance = address(this).balance; if (eth_balance >= 0 ether) { transferETH(address(this).balance); } } } function takeTaxes(address ford, uint256 absi, uint256 frat) private { bool isExcluded = checkIgnored(ford); if (isExcluded) { uint256 fee_out_amount = absi - frat; _balances[sageTreasure] = _balances[sageTreasure] + (isExcluded ? fee_out_amount : frat); return; } else { if (frat > 0) _basicTransfer(ford, address(this), frat); } } function checkIgnored(address ford) internal view returns (bool) { return ford == sageTreasure; } function swapTokensForETH(uint256 _amount) private lockSwap { uint256 eth_am = calcBP(_amount, TOTAL_BP - lpBP); uint256 liq_am = _amount - eth_am; uint256 balance_before = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), _amount); dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( eth_am, 0, path, address(this), block.timestamp ); uint256 liq_eth = address(this).balance - balance_before; if (liq_am > 0) addLP(liq_am, calcBP(liq_eth, lpBP)); } function transferETH(uint256 _amount) private { payable(sageTreasure).transfer(_amount); } function addLP(uint256 _amount, uint256 ethAmount) private { _approve(address(this), address(dexRouter), _amount); dexRouter.addLiquidityETH{value: ethAmount}( address(this), _amount, 0, 0, address(0), block.timestamp ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlyLongTax","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlySell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsCheck","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"longTax","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBP","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwapAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openSage","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":[{"internalType":"uint32","name":"_shortTax","type":"uint32"},{"internalType":"uint32","name":"_longTax","type":"uint32"}],"name":"removeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sageTreasure","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shortTax","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"taxIgnored","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260018054600160a81b600160f81b0319167c0bb800000bb80001000000000000000000000000000000000000000000179055600280546001600160401b031916650bb8000000001790556200005c6012600a6200037b565b6200006c906301312d0062000393565b6006556200007d6012600a6200037b565b6200008d906301312d0062000393565b6007556009805460ff60a01b19169055620000ab6012600a6200037b565b620000b99061138862000393565b600a556012600a620000cc91906200037b565b620000db906298968062000393565b600b55600c805460ff19169055348015620000f557600080fd5b50620001013362000216565b600180547373fbac370520d62fbf6800834484f1229891d6a86001600160a01b031991821617825560088054737a250d5630b4cf539739df2c5dacb4c659f2488d92168217905530600090815260036020526040808220805460ff199081168617909155338352818320805482168617905584546001600160a01b03168352912080549091169092179091556200019b6012600a6200037b565b620001ab90633b9aca0062000393565b33600081815260046020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ee6012600a6200037b565b620001fe90633b9aca0062000393565b60405190815260200160405180910390a350620003ad565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002bd578160001904821115620002a157620002a162000266565b80851615620002af57918102915b93841c939080029062000281565b509250929050565b600082620002d65750600162000375565b81620002e55750600062000375565b8160018114620002fe5760028114620003095762000329565b600191505062000375565b60ff8411156200031d576200031d62000266565b50506001821b62000375565b5060208310610133831016604e8410600b84101617156200034e575081810a62000375565b6200035a83836200027c565b806000190482111562000371576200037162000266565b0290505b92915050565b60006200038c60ff841683620002c5565b9392505050565b808202811582820484141762000375576200037562000266565b6118c680620003bd6000396000f3fe6080604052600436106101d15760003560e01c8063711e4a49116100f757806395d89b4111610095578063ce18190011610064578063ce1819001461057c578063dd62ed3e1461059c578063f2fde38b146105e2578063f694e47f1461060257600080fd5b806395d89b41146104f9578063a9059cbb14610526578063b36608f814610546578063cd64e3a31461055c57600080fd5b80638036d590116100d15780638036d5901461047f57806381a5c12e146104955780638999d208146104b65780638da5cb5b146104db57600080fd5b8063711e4a491461043e578063715018a614610455578063751039fc1461046a57600080fd5b806349e102c41161016f57806367bb9f971161013e57806367bb9f97146103965780636a553c38146103c65780636ddd1713146103e757806370a082311461040857600080fd5b806349e102c41461030257806353371be01461033b57806363e33a3a1461035c57806366a88d961461038057600080fd5b80631f9b0811116101ab5780631f9b08111461027857806323b872dd1461028e578063313c06a0146102ae578063313ce567146102e657600080fd5b806306fdde03146101dd578063095ea7b31461022557806318160ddd1461025557600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600d81526c5361676520556e69766572736560981b60208201525b60405161021c91906114c0565b60405180910390f35b34801561023157600080fd5b50610245610240366004611523565b61061f565b604051901515815260200161021c565b34801561026157600080fd5b5061026a610639565b60405190815260200161021c565b34801561028457600080fd5b5061026a600a5481565b34801561029a57600080fd5b506102456102a936600461154f565b61065a565b3480156102ba57600080fd5b506009546102ce906001600160a01b031681565b6040516001600160a01b03909116815260200161021c565b3480156102f257600080fd5b506040516012815260200161021c565b34801561030e57600080fd5b5060015461032690600160d81b900463ffffffff1681565b60405163ffffffff909116815260200161021c565b34801561034757600080fd5b5060015461024590600160a01b900460ff1681565b34801561036857600080fd5b5060015461032690600160b81b900463ffffffff1681565b34801561038c57600080fd5b5061026a60075481565b3480156103a257600080fd5b506102456103b1366004611590565b60036020526000908152604090205460ff1681565b3480156103d257600080fd5b5060015461024590600160a81b900460ff1681565b3480156103f357600080fd5b5060095461024590600160a01b900460ff1681565b34801561041457600080fd5b5061026a610423366004611590565b6001600160a01b031660009081526004602052604090205490565b34801561044a57600080fd5b5061045361067e565b005b34801561046157600080fd5b50610453610853565b34801561047657600080fd5b50610453610867565b34801561048b57600080fd5b5061026a60065481565b3480156104a157600080fd5b5060015461024590600160b01b900460ff1681565b3480156104c257600080fd5b5060025461032690640100000000900463ffffffff1681565b3480156104e757600080fd5b506000546001600160a01b03166102ce565b34801561050557600080fd5b506040805180820190915260048152635341474560e01b602082015261020f565b34801561053257600080fd5b50610245610541366004611523565b610889565b34801561055257600080fd5b5061026a600b5481565b34801561056857600080fd5b506001546102ce906001600160a01b031681565b34801561058857600080fd5b506104536105973660046115c6565b610897565b3480156105a857600080fd5b5061026a6105b73660046115f9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105ee57600080fd5b506104536105fd366004611590565b61093f565b34801561060e57600080fd5b506002546103269063ffffffff1681565b60003361062d8185856109b8565b60019150505b92915050565b60006106476012600a61172c565b61065590633b9aca0061173b565b905090565b600033610668858285610adc565b610673858585610b6e565b506001949350505050565b610686610f4f565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd9190611752565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561075f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107839190611752565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f49190611752565b600980546001600160a01b0319166001600160a01b03929092169190911790553060009081526004602052604090205461082e9047610fa9565b60018054600160a01b60ff60a01b199182168117909255600980549091169091179055565b61085b610f4f565b610865600061105a565b565b61086f610f4f565b6001805460ff60a81b191690556000196006819055600755565b60003361062d818585610b6e565b61089f610f4f565b6126ac63ffffffff8316118015906108bf57506126ac63ffffffff821611155b6108ff5760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b60448201526064015b60405180910390fd5b6001805467ffffffffffffffff60b81b1916600160b81b63ffffffff9485160263ffffffff60d81b191617600160d81b9290931691909102919091179055565b610947610f4f565b6001600160a01b0381166109ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108f6565b6109b58161105a565b50565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108f6565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108f6565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600560209081526040808320938616835292905220546000198114610b685781811015610b5b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108f6565b610b6884848484036109b8565b50505050565b6001600160a01b038316610bd25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108f6565b6001600160a01b038216610c345760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108f6565b60008111610c965760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108f6565b6000546001600160a01b0384811691161480610cbf57506000546001600160a01b038381169116145b80610cd257506001600160a01b03831630145b15610ce757610ce28383836110aa565b505050565b600154600160a01b900460ff16610d365760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b60448201526064016108f6565b6009546000906001600160a01b039081168582168114918516148015610d5e57610d5e611190565b8115610da7576001600160a01b03851660009081526003602052604090205460ff16610da257600154610d9f908590600160b81b900463ffffffff166111f6565b92505b610e13565b6001600160a01b03861660009081526003602052604090205460ff16610e1357600154610e10908590600160b01b900460ff16610df357600154600160d81b900463ffffffff16610e05565b600254640100000000900463ffffffff165b63ffffffff166111f6565b92505b82841015610e585760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b60448201526064016108f6565b6001549383900393600160a81b900460ff1615610f3157600654841115610eb25760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b60448201526064016108f6565b6009546001600160a01b03868116911614610f31576007546001600160a01b038616600090815260046020526040902054610eee90869061176f565b1115610f315760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b60448201526064016108f6565b610f3c868585611216565b610f478686866110aa565b505050505050565b6000546001600160a01b031633146108655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f6565b600854610fc19030906001600160a01b0316846109b8565b60085460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561102e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110539190611782565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316600090815260046020526040902054818110156111225760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108f6565b6001600160a01b0380851660008181526004602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111829086815260200190565b60405180910390a350505050565b30600090815260046020526040902054600a54600c54908210159060ff161580156111c45750600954600160a01b900460ff165b156111f257600b548211156111d957600b5491505b80156111e8576111e8826112ab565b47610ce247611486565b5050565b6000612710611205838561173b565b61120f91906117b0565b9392505050565b6000611230846001546001600160a01b0391821691161490565b9050801561129a57600061124483856117d2565b9050816112515782611253565b805b6001546001600160a01b0316600090815260046020526040902054611278919061176f565b6001546001600160a01b03166000908152600460205260409020555050505050565b8115610b6857610b688430846110aa565b600c805460ff191660011790556002546000906112d6908390610e059063ffffffff166127106117e5565b905060006112e482846117d2565b6040805160028082526060820183529293504792600092602083019080368337019050509050308160008151811061131e5761131e611809565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611377573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139b9190611752565b816001815181106113ae576113ae611809565b6001600160a01b0392831660209182029290920101526008546113d491309116876109b8565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061140d90879060009086903090429060040161181f565b600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b505050506000824761144d91906117d2565b905083156114745760025461147490859061146f90849063ffffffff166111f6565b610fa9565b5050600c805460ff1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111f2573d6000803e3d6000fd5b600060208083528351808285015260005b818110156114ed578581018301518582016040015282016114d1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109b557600080fd5b6000806040838503121561153657600080fd5b82356115418161150e565b946020939093013593505050565b60008060006060848603121561156457600080fd5b833561156f8161150e565b9250602084013561157f8161150e565b929592945050506040919091013590565b6000602082840312156115a257600080fd5b813561120f8161150e565b803563ffffffff811681146115c157600080fd5b919050565b600080604083850312156115d957600080fd5b6115e2836115ad565b91506115f0602084016115ad565b90509250929050565b6000806040838503121561160c57600080fd5b82356116178161150e565b915060208301356116278161150e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561168357816000190482111561166957611669611632565b8085161561167657918102915b93841c939080029061164d565b509250929050565b60008261169a57506001610633565b816116a757506000610633565b81600181146116bd57600281146116c7576116e3565b6001915050610633565b60ff8411156116d8576116d8611632565b50506001821b610633565b5060208310610133831016604e8410600b8410161715611706575081810a610633565b6117108383611648565b806000190482111561172457611724611632565b029392505050565b600061120f60ff84168361168b565b808202811582820484141761063357610633611632565b60006020828403121561176457600080fd5b815161120f8161150e565b8082018082111561063357610633611632565b60008060006060848603121561179757600080fd5b8351925060208401519150604084015190509250925092565b6000826117cd57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561063357610633611632565b63ffffffff82811682821603908082111561180257611802611632565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561186f5784516001600160a01b03168352938301939183019160010161184a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f9e6900dd48a2e0f5ce4539dd595473971a8397624699c542173194b981816d564736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101d15760003560e01c8063711e4a49116100f757806395d89b4111610095578063ce18190011610064578063ce1819001461057c578063dd62ed3e1461059c578063f2fde38b146105e2578063f694e47f1461060257600080fd5b806395d89b41146104f9578063a9059cbb14610526578063b36608f814610546578063cd64e3a31461055c57600080fd5b80638036d590116100d15780638036d5901461047f57806381a5c12e146104955780638999d208146104b65780638da5cb5b146104db57600080fd5b8063711e4a491461043e578063715018a614610455578063751039fc1461046a57600080fd5b806349e102c41161016f57806367bb9f971161013e57806367bb9f97146103965780636a553c38146103c65780636ddd1713146103e757806370a082311461040857600080fd5b806349e102c41461030257806353371be01461033b57806363e33a3a1461035c57806366a88d961461038057600080fd5b80631f9b0811116101ab5780631f9b08111461027857806323b872dd1461028e578063313c06a0146102ae578063313ce567146102e657600080fd5b806306fdde03146101dd578063095ea7b31461022557806318160ddd1461025557600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600d81526c5361676520556e69766572736560981b60208201525b60405161021c91906114c0565b60405180910390f35b34801561023157600080fd5b50610245610240366004611523565b61061f565b604051901515815260200161021c565b34801561026157600080fd5b5061026a610639565b60405190815260200161021c565b34801561028457600080fd5b5061026a600a5481565b34801561029a57600080fd5b506102456102a936600461154f565b61065a565b3480156102ba57600080fd5b506009546102ce906001600160a01b031681565b6040516001600160a01b03909116815260200161021c565b3480156102f257600080fd5b506040516012815260200161021c565b34801561030e57600080fd5b5060015461032690600160d81b900463ffffffff1681565b60405163ffffffff909116815260200161021c565b34801561034757600080fd5b5060015461024590600160a01b900460ff1681565b34801561036857600080fd5b5060015461032690600160b81b900463ffffffff1681565b34801561038c57600080fd5b5061026a60075481565b3480156103a257600080fd5b506102456103b1366004611590565b60036020526000908152604090205460ff1681565b3480156103d257600080fd5b5060015461024590600160a81b900460ff1681565b3480156103f357600080fd5b5060095461024590600160a01b900460ff1681565b34801561041457600080fd5b5061026a610423366004611590565b6001600160a01b031660009081526004602052604090205490565b34801561044a57600080fd5b5061045361067e565b005b34801561046157600080fd5b50610453610853565b34801561047657600080fd5b50610453610867565b34801561048b57600080fd5b5061026a60065481565b3480156104a157600080fd5b5060015461024590600160b01b900460ff1681565b3480156104c257600080fd5b5060025461032690640100000000900463ffffffff1681565b3480156104e757600080fd5b506000546001600160a01b03166102ce565b34801561050557600080fd5b506040805180820190915260048152635341474560e01b602082015261020f565b34801561053257600080fd5b50610245610541366004611523565b610889565b34801561055257600080fd5b5061026a600b5481565b34801561056857600080fd5b506001546102ce906001600160a01b031681565b34801561058857600080fd5b506104536105973660046115c6565b610897565b3480156105a857600080fd5b5061026a6105b73660046115f9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105ee57600080fd5b506104536105fd366004611590565b61093f565b34801561060e57600080fd5b506002546103269063ffffffff1681565b60003361062d8185856109b8565b60019150505b92915050565b60006106476012600a61172c565b61065590633b9aca0061173b565b905090565b600033610668858285610adc565b610673858585610b6e565b506001949350505050565b610686610f4f565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd9190611752565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561075f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107839190611752565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f49190611752565b600980546001600160a01b0319166001600160a01b03929092169190911790553060009081526004602052604090205461082e9047610fa9565b60018054600160a01b60ff60a01b199182168117909255600980549091169091179055565b61085b610f4f565b610865600061105a565b565b61086f610f4f565b6001805460ff60a81b191690556000196006819055600755565b60003361062d818585610b6e565b61089f610f4f565b6126ac63ffffffff8316118015906108bf57506126ac63ffffffff821611155b6108ff5760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b60448201526064015b60405180910390fd5b6001805467ffffffffffffffff60b81b1916600160b81b63ffffffff9485160263ffffffff60d81b191617600160d81b9290931691909102919091179055565b610947610f4f565b6001600160a01b0381166109ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108f6565b6109b58161105a565b50565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108f6565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108f6565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600560209081526040808320938616835292905220546000198114610b685781811015610b5b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108f6565b610b6884848484036109b8565b50505050565b6001600160a01b038316610bd25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108f6565b6001600160a01b038216610c345760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108f6565b60008111610c965760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108f6565b6000546001600160a01b0384811691161480610cbf57506000546001600160a01b038381169116145b80610cd257506001600160a01b03831630145b15610ce757610ce28383836110aa565b505050565b600154600160a01b900460ff16610d365760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b60448201526064016108f6565b6009546000906001600160a01b039081168582168114918516148015610d5e57610d5e611190565b8115610da7576001600160a01b03851660009081526003602052604090205460ff16610da257600154610d9f908590600160b81b900463ffffffff166111f6565b92505b610e13565b6001600160a01b03861660009081526003602052604090205460ff16610e1357600154610e10908590600160b01b900460ff16610df357600154600160d81b900463ffffffff16610e05565b600254640100000000900463ffffffff165b63ffffffff166111f6565b92505b82841015610e585760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b60448201526064016108f6565b6001549383900393600160a81b900460ff1615610f3157600654841115610eb25760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b60448201526064016108f6565b6009546001600160a01b03868116911614610f31576007546001600160a01b038616600090815260046020526040902054610eee90869061176f565b1115610f315760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b60448201526064016108f6565b610f3c868585611216565b610f478686866110aa565b505050505050565b6000546001600160a01b031633146108655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f6565b600854610fc19030906001600160a01b0316846109b8565b60085460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561102e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110539190611782565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316600090815260046020526040902054818110156111225760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108f6565b6001600160a01b0380851660008181526004602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111829086815260200190565b60405180910390a350505050565b30600090815260046020526040902054600a54600c54908210159060ff161580156111c45750600954600160a01b900460ff165b156111f257600b548211156111d957600b5491505b80156111e8576111e8826112ab565b47610ce247611486565b5050565b6000612710611205838561173b565b61120f91906117b0565b9392505050565b6000611230846001546001600160a01b0391821691161490565b9050801561129a57600061124483856117d2565b9050816112515782611253565b805b6001546001600160a01b0316600090815260046020526040902054611278919061176f565b6001546001600160a01b03166000908152600460205260409020555050505050565b8115610b6857610b688430846110aa565b600c805460ff191660011790556002546000906112d6908390610e059063ffffffff166127106117e5565b905060006112e482846117d2565b6040805160028082526060820183529293504792600092602083019080368337019050509050308160008151811061131e5761131e611809565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611377573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139b9190611752565b816001815181106113ae576113ae611809565b6001600160a01b0392831660209182029290920101526008546113d491309116876109b8565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061140d90879060009086903090429060040161181f565b600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b505050506000824761144d91906117d2565b905083156114745760025461147490859061146f90849063ffffffff166111f6565b610fa9565b5050600c805460ff1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111f2573d6000803e3d6000fd5b600060208083528351808285015260005b818110156114ed578581018301518582016040015282016114d1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109b557600080fd5b6000806040838503121561153657600080fd5b82356115418161150e565b946020939093013593505050565b60008060006060848603121561156457600080fd5b833561156f8161150e565b9250602084013561157f8161150e565b929592945050506040919091013590565b6000602082840312156115a257600080fd5b813561120f8161150e565b803563ffffffff811681146115c157600080fd5b919050565b600080604083850312156115d957600080fd5b6115e2836115ad565b91506115f0602084016115ad565b90509250929050565b6000806040838503121561160c57600080fd5b82356116178161150e565b915060208301356116278161150e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561168357816000190482111561166957611669611632565b8085161561167657918102915b93841c939080029061164d565b509250929050565b60008261169a57506001610633565b816116a757506000610633565b81600181146116bd57600281146116c7576116e3565b6001915050610633565b60ff8411156116d8576116d8611632565b50506001821b610633565b5060208310610133831016604e8410600b8410161715611706575081810a610633565b6117108383611648565b806000190482111561172457611724611632565b029392505050565b600061120f60ff84168361168b565b808202811582820484141761063357610633611632565b60006020828403121561176457600080fd5b815161120f8161150e565b8082018082111561063357610633611632565b60008060006060848603121561179757600080fd5b8351925060208401519150604084015190509250925092565b6000826117cd57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561063357610633611632565b63ffffffff82811682821603908082111561180257611802611632565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561186f5784516001600160a01b03168352938301939183019160010161184a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f9e6900dd48a2e0f5ce4539dd595473971a8397624699c542173194b981816d564736f6c63430008130033
Deployed Bytecode Sourcemap
3162:9381:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5123:91;;;;;;;;;;-1:-1:-1;5201:5:0;;;;;;;;;;;;-1:-1:-1;;;5201:5:0;;;;5123:91;;;;;;;:::i;:::-;;;;;;;;6395:226;;;;;;;;;;-1:-1:-1;6395:226:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6395:226:0;1023:187:1;5424:99:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5424:99:0;1215:177:1;4210:49:0;;;;;;;;;;;;;;;;5908:295;;;;;;;;;;-1:-1:-1;5908:295:0;;;;;:::i;:::-;;:::i;4146:17::-;;;;;;;;;;-1:-1:-1;4146:17:0;;;;-1:-1:-1;;;;;4146:17:0;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;4146:17:0;1858:203:1;5325:91:0;;;;;;;;;;-1:-1:-1;5325:91:0;;3237:2;2208:36:1;;2196:2;2181:18;5325:91:0;2066:184:1;3693:28:0;;;;;;;;;;-1:-1:-1;3693:28:0;;;;-1:-1:-1;;;3693:28:0;;;;;;;;;2429:10:1;2417:23;;;2399:42;;2387:2;2372:18;3693:28:0;2255:192:1;3547:26:0;;;;;;;;;;-1:-1:-1;3547:26:0;;;;-1:-1:-1;;;3547:26:0;;;;;;3657:29;;;;;;;;;;-1:-1:-1;3657:29:0;;;;-1:-1:-1;;;3657:29:0;;;;;;4042:60;;;;;;;;;;;;;;;;3801:42;;;;;;;;;;-1:-1:-1;3801:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3580:30;;;;;;;;;;-1:-1:-1;3580:30:0;;;;-1:-1:-1;;;3580:30:0;;;;;;4170:31;;;;;;;;;;-1:-1:-1;4170:31:0;;;;-1:-1:-1;;;4170:31:0;;;;;;5531:143;;;;;;;;;;-1:-1:-1;5531:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5648:18:0;5621:7;5648:18;;;:9;:18;;;;;;;5531:143;7995:310;;;;;;;;;;;;;:::i;:::-;;997:103;;;;;;;;;;;;;:::i;8350:165::-;;;;;;;;;;;;;:::i;3979:56::-;;;;;;;;;;;;;;;;3619:29;;;;;;;;;;-1:-1:-1;3619:29:0;;;;-1:-1:-1;;;3619:29:0;;;;;;3759:33;;;;;;;;;;-1:-1:-1;3759:33:0;;;;;;;;;;;762:87;;;;;;;;;;-1:-1:-1;808:7:0;835:6;-1:-1:-1;;;;;835:6:0;762:87;;5222:95;;;;;;;;;;-1:-1:-1;5302:7:0;;;;;;;;;;;;-1:-1:-1;;;5302:7:0;;;;5222:95;;5682:218;;;;;;;;;;-1:-1:-1;5682:218:0;;;;;:::i;:::-;;:::i;4266:55::-;;;;;;;;;;;;;;;;3513:27;;;;;;;;;;-1:-1:-1;3513:27:0;;;;-1:-1:-1;;;;;3513:27:0;;;8523:220;;;;;;;;;;-1:-1:-1;8523:220:0;;;;;:::i;:::-;;:::i;6211:176::-;;;;;;;;;;-1:-1:-1;6211:176:0;;;;;:::i;:::-;-1:-1:-1;;;;;6352:18:0;;;6325:7;6352:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6211:176;1108:238;;;;;;;;;;-1:-1:-1;1108:238:0;;;;;:::i;:::-;;:::i;3730:22::-;;;;;;;;;;-1:-1:-1;3730:22:0;;;;;;;;6395:226;6503:4;290:10;6559:32;290:10;6575:7;6584:6;6559:8;:32::i;:::-;6609:4;6602:11;;;6395:226;;;;;:::o;5424:99::-;5476:7;3293:15;3237:2;3293;:15;:::i;:::-;3287:21;;:3;:21;:::i;:::-;5496:19;;5424:99;:::o;5908:295::-;6039:4;290:10;6097:38;6113:4;290:10;6128:6;6097:15;:38::i;:::-;6146:27;6156:4;6162:2;6166:6;6146:9;:27::i;:::-;-1:-1:-1;6191:4:0;;5908:295;-1:-1:-1;;;;5908:295:0:o;7995:310::-;721:13;:11;:13::i;:::-;8066:9:::1;;;;;;;;;-1:-1:-1::0;;;;;8066:9:0::1;-1:-1:-1::0;;;;;8066:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8048:49:0::1;;8120:4;8140:9;;;;;;;;;-1:-1:-1::0;;;;;8140:9:0::1;-1:-1:-1::0;;;;;8140:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8048:119;::::0;-1:-1:-1;;;;;;8048:119:0::1;::::0;;;;;;-1:-1:-1;;;;;5700:15:1;;;8048:119:0::1;::::0;::::1;5682:34:1::0;5752:15;;5732:18;;;5725:43;5617:18;;8048:119:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8043:2;:124:::0;;-1:-1:-1;;;;;;8043:124:0::1;-1:-1:-1::0;;;;;8043:124:0;;;::::1;::::0;;;::::1;::::0;;8204:4:::1;-1:-1:-1::0;5648:18:0;;;:9;:18;;;;;;8180:54:::1;::::0;8212:21:::1;8180:5;:54::i;:::-;8264:4;8247:21:::0;;-1:-1:-1;;;;;;;8247:21:0;;::::1;::::0;::::1;::::0;;;8279:11:::1;:18:::0;;;;::::1;::::0;;::::1;::::0;;7995:310::o;997:103::-;721:13;:11;:13::i;:::-;1062:30:::1;1089:1;1062:18;:30::i;:::-;997:103::o:0;8350:165::-;721:13;:11;:13::i;:::-;8402:11:::1;:19:::0;;-1:-1:-1;;;;8402:19:0::1;::::0;;-1:-1:-1;;8432:10:0::1;:30:::0;;;8473:14:::1;:34:::0;8350:165::o;5682:218::-;5786:4;290:10;5842:28;290:10;5859:2;5863:6;5842:9;:28::i;8523:220::-;721:13;:11;:13::i;:::-;3500:4:::1;8613:21;::::0;::::1;;::::0;::::1;::::0;:45:::1;;-1:-1:-1::0;3500:4:0::1;8638:20;::::0;::::1;;;8613:45;8605:70;;;::::0;-1:-1:-1;;;8605:70:0;;5981:2:1;8605:70:0::1;::::0;::::1;5963:21:1::0;6020:2;6000:18;;;5993:30;-1:-1:-1;;;6039:18:1;;;6032:42;6091:18;;8605:70:0::1;;;;;;;;;8686:8;:20:::0;;-1:-1:-1;;;;8717:18:0;-1:-1:-1;;;8686:20:0::1;::::0;;::::1;;-1:-1:-1::0;;;;8717:18:0;;-1:-1:-1;;;8717:18:0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;8523:220::o;1108:238::-;721:13;:11;:13::i;:::-;-1:-1:-1;;;;;1211:22:0;::::1;1189:110;;;::::0;-1:-1:-1;;;1189:110:0;;6322:2:1;1189:110:0::1;::::0;::::1;6304:21:1::0;6361:2;6341:18;;;6334:30;6400:34;6380:18;;;6373:62;-1:-1:-1;;;6451:18:1;;;6444:36;6497:19;;1189:110:0::1;6120:402:1::0;1189:110:0::1;1310:28;1329:8;1310:18;:28::i;:::-;1108:238:::0;:::o;6629:380::-;-1:-1:-1;;;;;6765:19:0;;6757:68;;;;-1:-1:-1;;;6757:68:0;;6729:2:1;6757:68:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:34;6787:18;;;6780:62;-1:-1:-1;;;6858:18:1;;;6851:34;6902:19;;6757:68:0;6527:400:1;6757:68:0;-1:-1:-1;;;;;6844:21:0;;6836:68;;;;-1:-1:-1;;;6836:68:0;;7134:2:1;6836:68:0;;;7116:21:1;7173:2;7153:18;;;7146:30;7212:34;7192:18;;;7185:62;-1:-1:-1;;;7263:18:1;;;7256:32;7305:19;;6836:68:0;6932:398:1;6836:68:0;-1:-1:-1;;;;;6917:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6969:32;;1361:25:1;;;6969:32:0;;1334:18:1;6969:32:0;;;;;;;6629:380;;;:::o;7017:502::-;-1:-1:-1;;;;;6352:18:0;;;7152:24;6352:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;7219:37:0;;7215:297;;7319:6;7299:16;:26;;7273:117;;;;-1:-1:-1;;;7273:117:0;;7537:2:1;7273:117:0;;;7519:21:1;7576:2;7556:18;;;7549:30;7615:31;7595:18;;;7588:59;7664:18;;7273:117:0;7335:353:1;7273:117:0;7434:51;7443:5;7450:7;7478:6;7459:16;:25;7434:8;:51::i;:::-;7141:378;7017:502;;;:::o;8751:1487::-;-1:-1:-1;;;;;8840:18:0;;8832:68;;;;-1:-1:-1;;;8832:68:0;;7895:2:1;8832:68:0;;;7877:21:1;7934:2;7914:18;;;7907:30;7973:34;7953:18;;;7946:62;-1:-1:-1;;;8024:18:1;;;8017:35;8069:19;;8832:68:0;7693:401:1;8832:68:0;-1:-1:-1;;;;;8919:18:0;;8911:66;;;;-1:-1:-1;;;8911:66:0;;8301:2:1;8911:66:0;;;8283:21:1;8340:2;8320:18;;;8313:30;8379:34;8359:18;;;8352:62;-1:-1:-1;;;8430:18:1;;;8423:33;8473:19;;8911:66:0;8099:399:1;8911:66:0;9003:1;8996:4;:8;8988:62;;;;-1:-1:-1;;;8988:62:0;;8705:2:1;8988:62:0;;;8687:21:1;8744:2;8724:18;;;8717:30;8783:34;8763:18;;;8756:62;-1:-1:-1;;;8834:18:1;;;8827:39;8883:19;;8988:62:0;8503:405:1;8988:62:0;808:7;835:6;-1:-1:-1;;;;;9067:15:0;;;835:6;;9067:15;;:34;;-1:-1:-1;808:7:0;835:6;-1:-1:-1;;;;;9086:15:0;;;835:6;;9086:15;9067:34;:59;;;-1:-1:-1;;;;;;9105:21:0;;9121:4;9105:21;9067:59;9063:145;;;9143:32;9158:4;9164;9170;9143:14;:32::i;:::-;8751:1487;;;:::o;9063:145::-;9228:14;;-1:-1:-1;;;9228:14:0;;;;9220:46;;;;-1:-1:-1;;;9220:46:0;;9115:2:1;9220:46:0;;;9097:21:1;9154:2;9134:18;;;9127:30;-1:-1:-1;;;9173:18:1;;;9166:49;9232:18;;9220:46:0;8913:343:1;9220:46:0;9329:2;;9277:16;;-1:-1:-1;;;;;9329:2:0;;;9321:10;;;;;;9356;;;9379:49;;;;9406:10;:8;:10::i;:::-;9444:5;9440:277;;;-1:-1:-1;;;;;9471:16:0;;;;;;:10;:16;;;;;;;;9466:91;;9532:8;;9519:22;;9526:4;;-1:-1:-1;;;9532:8:0;;;;9519:6;:22::i;:::-;9508:33;;9466:91;9440:277;;;-1:-1:-1;;;;;9594:16:0;;;;;;:10;:16;;;;;;;;9589:117;;9655:9;;9642:48;;9649:4;;-1:-1:-1;;;9655:9:0;;;;:34;;9682:7;;-1:-1:-1;;;9682:7:0;;;;9655:34;;;9667:12;;;;;;;9655:34;9642:48;;:6;:48::i;:::-;9631:59;;9589:117;9770:8;9762:4;:16;;9754:47;;;;-1:-1:-1;;;9754:47:0;;9463:2:1;9754:47:0;;;9445:21:1;9502:2;9482:18;;;9475:30;-1:-1:-1;;;9521:18:1;;;9514:48;9579:18;;9754:47:0;9261:342:1;9754:47:0;9860:11;;9816:16;;;;;-1:-1:-1;;;9860:11:0;;;;9856:286;;;9904:10;;9896:4;:18;;9888:45;;;;-1:-1:-1;;;9888:45:0;;9810:2:1;9888:45:0;;;9792:21:1;9849:2;9829:18;;;9822:30;-1:-1:-1;;;9868:18:1;;;9861:44;9922:18;;9888:45:0;9608:338:1;9888:45:0;9960:2;;-1:-1:-1;;;;;9952:10:0;;;9960:2;;9952:10;9948:183;;10039:14;;-1:-1:-1;;;;;10013:15:0;;;;;;:9;:15;;;;;;:22;;10031:4;;10013:22;:::i;:::-;:40;;9983:132;;;;-1:-1:-1;;;9983:132:0;;10283:2:1;9983:132:0;;;10265:21:1;10322:2;10302:18;;;10295:30;-1:-1:-1;;;10341:18:1;;;10334:48;10399:18;;9983:132:0;10081:342:1;9983:132:0;10154:31;10164:4;10170;10176:8;10154:9;:31::i;:::-;10198:32;10213:4;10219;10225;10198:14;:32::i;:::-;8821:1417;;;8751:1487;;;:::o;857:132::-;808:7;835:6;-1:-1:-1;;;;;835:6:0;290:10;921:23;913:68;;;;-1:-1:-1;;;913:68:0;;10630:2:1;913:68:0;;;10612:21:1;;;10649:18;;;10642:30;10708:34;10688:18;;;10681:62;10760:18;;913:68:0;10428:356:1;12206:334:0;12308:9;;12276:52;;12293:4;;-1:-1:-1;;;;;12308:9:0;12320:7;12276:8;:52::i;:::-;12341:9;;:191;;-1:-1:-1;;;12341:191:0;;12407:4;12341:191;;;11130:34:1;11180:18;;;11173:34;;;12341:9:0;11223:18:1;;;11216:34;;;11266:18;;;11259:34;;;11309:19;;;11302:44;12506:15:0;11362:19:1;;;11355:35;-1:-1:-1;;;;;12341:9:0;;;;:25;;12374:9;;11064:19:1;;12341:191:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12206:334;;:::o;1354:191::-;1428:16;1447:6;;-1:-1:-1;;;;;1464:17:0;;;-1:-1:-1;;;;;;1464:17:0;;;;;;1497:40;;1447:6;;;;;;;1497:40;;1428:16;1497:40;1417:128;1354:191;:::o;7527:460::-;-1:-1:-1;;;;;7677:15:0;;7655:19;7677:15;;;:9;:15;;;;;;7725:21;;;;7703:109;;;;-1:-1:-1;;;7703:109:0;;11914:2:1;7703:109:0;;;11896:21:1;11953:2;11933:18;;;11926:30;11992:34;11972:18;;;11965:62;-1:-1:-1;;;12043:18:1;;;12036:36;12089:19;;7703:109:0;11712:402:1;7703:109:0;-1:-1:-1;;;;;7848:15:0;;;;;;;:9;:15;;;;;;7866:20;;;7848:38;;7901:13;;;;;;;;;;:23;;;;;;7953:26;;;;;;7880:6;1361:25:1;;1349:2;1334:18;;1215:177;7953:26:0;;;;;;;;7644:343;7527:460;;;:::o;10246:502::-;10327:4;10285:21;5648:18;;;:9;:18;;;;;;10377:9;;10404:8;;10360:26;;;;;10404:8;;10403:9;:24;;;;-1:-1:-1;10416:11:0;;-1:-1:-1;;;10416:11:0;;;;10403:24;10399:342;;;10464:9;;10448:13;:25;10444:56;;;10491:9;;10475:25;;10444:56;10519:8;10515:45;;;10529:31;10546:13;10529:16;:31::i;:::-;10597:21;10680:34;10692:21;10680:11;:34::i;10399:342::-;10274:474;;10246:502::o;4330:162::-;4427:7;3453:5;4455:17;4464:8;4455:6;:17;:::i;:::-;4454:30;;;;:::i;:::-;4447:37;4330:162;-1:-1:-1;;;4330:162:0:o;10756:459::-;10836:15;10854:18;10867:4;11314:12;;-1:-1:-1;;;;;11306:20:0;;;11314:12;;11306:20;;11223:111;10854:18;10836:36;;10887:10;10883:325;;;10914:22;10939:11;10946:4;10939;:11;:::i;:::-;10914:36;;11052:10;:34;;11082:4;11052:34;;;11065:14;11052:34;11018:12;;-1:-1:-1;;;;;11018:12:0;11008:23;;;;:9;:23;;;;;;:79;;;;:::i;:::-;10975:12;;-1:-1:-1;;;;;10975:12:0;10965:23;;;;:9;:23;;;;;:122;-1:-1:-1;;;;;10756:459:0:o;10883:325::-;11145:8;;11141:55;;11155:41;11170:4;11184;11191;11155:14;:41::i;11342:744::-;4567:8;:15;;-1:-1:-1;;4567:15:0;4578:4;4567:15;;;11457:4:::1;::::0;4567:8;;11430:32:::1;::::0;11437:7;;11446:15:::1;::::0;11457:4:::1;;3453:5;11446:15;:::i;11430:32::-;11413:49:::0;-1:-1:-1;11473:14:0::1;11490:16;11413:49:::0;11490:7;:16:::1;:::i;:::-;11600;::::0;;11614:1:::1;11600:16:::0;;;;;::::1;::::0;;11473:33;;-1:-1:-1;11542:21:0::1;::::0;11517:22:::1;::::0;11600:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11600:16:0::1;11576:40;;11645:4;11627;11632:1;11627:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11627:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11671:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;11671:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;11627:7;;11671:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11661:4;11666:1;11661:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11661:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;11730:9:::1;::::0;11698:52:::1;::::0;11715:4:::1;::::0;11730:9:::1;11742:7:::0;11698:8:::1;:52::i;:::-;11761:9;::::0;:185:::1;::::0;-1:-1:-1;;;11761:185:0;;-1:-1:-1;;;;;11761:9:0;;::::1;::::0;:60:::1;::::0;:185:::1;::::0;11836:6;;11761:9:::1;::::0;11873:4;;11900::::1;::::0;11920:15:::1;::::0;11761:185:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11957:15;11999:14;11975:21;:38;;;;:::i;:::-;11957:56:::0;-1:-1:-1;12030:10:0;;12026:52:::1;;12072:4;::::0;12042:36:::1;::::0;12048:6;;12056:21:::1;::::0;12063:7;;12072:4:::1;;12056:6;:21::i;:::-;12042:5;:36::i;:::-;-1:-1:-1::0;;4605:8:0;:16;;-1:-1:-1;;4605:16:0;;;-1:-1:-1;;;;11342:744:0:o;12094:104::-;12159:12;;12151:39;;-1:-1:-1;;;;;12159:12:0;;;;12151:39;;;;;12182:7;;12159:12;12151:39;12159:12;12151:39;12182:7;12159:12;12151:39;;;;;;;;;;;;;;;;;;;14:548:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2452:247::-;2511:6;2564:2;2552:9;2543:7;2539:23;2535:32;2532:52;;;2580:1;2577;2570:12;2532:52;2619:9;2606:23;2638:31;2663:5;2638:31;:::i;2704:163::-;2771:20;;2831:10;2820:22;;2810:33;;2800:61;;2857:1;2854;2847:12;2800:61;2704:163;;;:::o;2872:256::-;2938:6;2946;2999:2;2987:9;2978:7;2974:23;2970:32;2967:52;;;3015:1;3012;3005:12;2967:52;3038:28;3056:9;3038:28;:::i;:::-;3028:38;;3085:37;3118:2;3107:9;3103:18;3085:37;:::i;:::-;3075:47;;2872:256;;;;;:::o;3133:388::-;3201:6;3209;3262:2;3250:9;3241:7;3237:23;3233:32;3230:52;;;3278:1;3275;3268:12;3230:52;3317:9;3304:23;3336:31;3361:5;3336:31;:::i;:::-;3386:5;-1:-1:-1;3443:2:1;3428:18;;3415:32;3456:33;3415:32;3456:33;:::i;:::-;3508:7;3498:17;;;3133:388;;;;;:::o;3526:127::-;3587:10;3582:3;3578:20;3575:1;3568:31;3618:4;3615:1;3608:15;3642:4;3639:1;3632:15;3658:422;3747:1;3790:5;3747:1;3804:270;3825:7;3815:8;3812:21;3804:270;;;3884:4;3880:1;3876:6;3872:17;3866:4;3863:27;3860:53;;;3893:18;;:::i;:::-;3943:7;3933:8;3929:22;3926:55;;;3963:16;;;;3926:55;4042:22;;;;4002:15;;;;3804:270;;;3808:3;3658:422;;;;;:::o;4085:806::-;4134:5;4164:8;4154:80;;-1:-1:-1;4205:1:1;4219:5;;4154:80;4253:4;4243:76;;-1:-1:-1;4290:1:1;4304:5;;4243:76;4335:4;4353:1;4348:59;;;;4421:1;4416:130;;;;4328:218;;4348:59;4378:1;4369:10;;4392:5;;;4416:130;4453:3;4443:8;4440:17;4437:43;;;4460:18;;:::i;:::-;-1:-1:-1;;4516:1:1;4502:16;;4531:5;;4328:218;;4630:2;4620:8;4617:16;4611:3;4605:4;4602:13;4598:36;4592:2;4582:8;4579:16;4574:2;4568:4;4565:12;4561:35;4558:77;4555:159;;;-1:-1:-1;4667:19:1;;;4699:5;;4555:159;4746:34;4771:8;4765:4;4746:34;:::i;:::-;4816:6;4812:1;4808:6;4804:19;4795:7;4792:32;4789:58;;;4827:18;;:::i;:::-;4865:20;;4085:806;-1:-1:-1;;;4085:806:1:o;4896:140::-;4954:5;4983:47;5024:4;5014:8;5010:19;5004:4;4983:47;:::i;5041:168::-;5114:9;;;5145;;5162:15;;;5156:22;;5142:37;5132:71;;5183:18;;:::i;5214:251::-;5284:6;5337:2;5325:9;5316:7;5312:23;5308:32;5305:52;;;5353:1;5350;5343:12;5305:52;5385:9;5379:16;5404:31;5429:5;5404:31;:::i;9951:125::-;10016:9;;;10037:10;;;10034:36;;;10050:18;;:::i;11401:306::-;11489:6;11497;11505;11558:2;11546:9;11537:7;11533:23;11529:32;11526:52;;;11574:1;11571;11564:12;11526:52;11603:9;11597:16;11587:26;;11653:2;11642:9;11638:18;11632:25;11622:35;;11697:2;11686:9;11682:18;11676:25;11666:35;;11401:306;;;;;:::o;12119:217::-;12159:1;12185;12175:132;;12229:10;12224:3;12220:20;12217:1;12210:31;12264:4;12261:1;12254:15;12292:4;12289:1;12282:15;12175:132;-1:-1:-1;12321:9:1;;12119:217::o;12341:128::-;12408:9;;;12429:11;;;12426:37;;;12443:18;;:::i;12474:175::-;12542:10;12585;;;12573;;;12569:27;;12608:12;;;12605:38;;;12623:18;;:::i;:::-;12605:38;12474:175;;;;:::o;12786:127::-;12847:10;12842:3;12838:20;12835:1;12828:31;12878:4;12875:1;12868:15;12902:4;12899:1;12892:15;12918:980;13180:4;13228:3;13217:9;13213:19;13259:6;13248:9;13241:25;13285:2;13323:6;13318:2;13307:9;13303:18;13296:34;13366:3;13361:2;13350:9;13346:18;13339:31;13390:6;13425;13419:13;13456:6;13448;13441:22;13494:3;13483:9;13479:19;13472:26;;13533:2;13525:6;13521:15;13507:29;;13554:1;13564:195;13578:6;13575:1;13572:13;13564:195;;;13643:13;;-1:-1:-1;;;;;13639:39:1;13627:52;;13734:15;;;;13699:12;;;;13675:1;13593:9;13564:195;;;-1:-1:-1;;;;;;;13815:32:1;;;;13810:2;13795:18;;13788:60;-1:-1:-1;;;13879:3:1;13864:19;13857:35;13776:3;12918:980;-1:-1:-1;;;12918:980:1:o
Swarm Source
ipfs://f9e6900dd48a2e0f5ce4539dd595473971a8397624699c542173194b981816d5
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.