More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 15 from a total of 15 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19718519 | 194 days ago | IN | 0 ETH | 0.00074332 | ||||
Approve | 14660776 | 922 days ago | IN | 0 ETH | 0.00248625 | ||||
Set Max Txn Amou... | 14660764 | 922 days ago | IN | 0 ETH | 0.00343884 | ||||
Set Max Wallet S... | 14660764 | 922 days ago | IN | 0 ETH | 0.00343872 | ||||
Approve | 14660762 | 922 days ago | IN | 0 ETH | 0.00447352 | ||||
Block Bot | 14660759 | 922 days ago | IN | 0 ETH | 0.00776824 | ||||
Approve | 14660754 | 922 days ago | IN | 0 ETH | 0.00223896 | ||||
Approve | 14660754 | 922 days ago | IN | 0 ETH | 0.00225527 | ||||
Approve | 14660751 | 922 days ago | IN | 0 ETH | 0.00228342 | ||||
Approve | 14660751 | 922 days ago | IN | 0 ETH | 0.00228342 | ||||
Approve | 14660751 | 922 days ago | IN | 0 ETH | 0.00228342 | ||||
Approve | 14660751 | 922 days ago | IN | 0 ETH | 0.00303953 | ||||
Set Trading | 14660750 | 922 days ago | IN | 0 ETH | 0.00125986 | ||||
Approve | 14660742 | 922 days ago | IN | 0 ETH | 0.00192378 | ||||
0x60806040 | 14660711 | 922 days ago | IN | 0 ETH | 0.23486014 |
Loading...
Loading
Contract Name:
Dogeverse
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-26 */ //Telegram - https://t.me/DogeverseETH //Twitter - https://twitter.com/DogeverseETH //website - https://dogeverse.to // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract Dogeverse is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Dogerverse"; string private constant _symbol = "DOGEVERSE"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 2000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 1; uint256 private _taxFeeOnBuy = 6; uint256 private _redisFeeOnSell = 2; uint256 private _taxFeeOnSell = 7; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x0b142774E927Caa365dFFEb85CEB5073149c1991); address payable private _marketingAddress = payable(0x0b142774E927Caa365dFFEb85CEB5073149c1991); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 20000000000 * 10**9; uint256 public _maxWalletSize = 40000000000 * 10**9; uint256 public _swapTokensAtAmount = 20000000 * 10**9; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBot(address bot) public onlyOwner { bots[bot] = true; } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 4, "Buy rewards must be between 0% and 4%"); require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 20, "Buy tax must be between 0% and 20%"); require(redisFeeOnSell >= 0 && redisFeeOnSell <= 4, "Sell rewards must be between 0% and 4%"); require(taxFeeOnSell >= 0 && taxFeeOnSell <= 20, "Sell tax must be between 0% and 20%"); _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { if (maxTxAmount > 5000000000) { _maxTxAmount = maxTxAmount * 10**9; } } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { if (maxWalletSize > 5000000000) { _maxWalletSize = maxWalletSize * 10**9;} } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bot","type":"address"}],"name":"blockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001b686c6b935b8bbd4000006000196200039f565b6200002990600019620003c2565b600690815560016008556009556002600a8190556007600b819055600c829055600d819055600e91909155600f55601280546001600160a01b0319908116730b142774e927caa365dffeb85ceb5073149c19919081179092556013805490911690911790556015805461ffff60a81b1916600160b01b1790556801158e460913d0000060165568022b1c8c1227a0000060175566470de4df820000601855348015620000d457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018d57600080fd5b505afa158015620001a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c89190620003e8565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021157600080fd5b505afa15801562000226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024c9190620003e8565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200029557600080fd5b505af1158015620002aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d09190620003e8565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef686c6b935b8bbd4000006040516200039091815260200190565b60405180910390a3506200041a565b600082620003bd57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003e357634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003fb57600080fd5b81516001600160a01b03811681146200041357600080fd5b9392505050565b611e78806200042a6000396000f3fe6080604052600436106101d15760003560e01c80637f2feddc116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e1461055c578063e70ef8a4146105a2578063ea1644d5146105c2578063f2fde38b146105e257600080fd5b8063a9059cbb146104d7578063bfd79284146104f7578063c3c8cd8014610527578063c492f0461461053c57600080fd5b80638f9a55c0116100d15780638f9a55c01461044f57806395d89b411461046557806398a5c31514610497578063a2a957bb146104b757600080fd5b80637f2feddc146103e45780638da5cb5b146104115780638f70ccf71461042f57600080fd5b806349bd5a5e1161016f57806370a082311161013e57806370a0823114610379578063715018a61461039957806374010ece146103ae5780637d1db4a5146103ce57600080fd5b806349bd5a5e146103025780636b999053146103225780636d8aa8f8146103445780636fc3eaec1461036457600080fd5b806318160ddd116101ab57806318160ddd1461028a57806323b872dd146102b05780632fd689e3146102d0578063313ce567146102e657600080fd5b806306fdde03146101dd578063095ea7b3146102225780631694505e1461025257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600a815269446f676572766572736560b01b60208201525b6040516102199190611a74565b60405180910390f35b34801561022e57600080fd5b5061024261023d366004611ade565b610602565b6040519015158152602001610219565b34801561025e57600080fd5b50601454610272906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b34801561029657600080fd5b50686c6b935b8bbd4000005b604051908152602001610219565b3480156102bc57600080fd5b506102426102cb366004611b0a565b610619565b3480156102dc57600080fd5b506102a260185481565b3480156102f257600080fd5b5060405160098152602001610219565b34801561030e57600080fd5b50601554610272906001600160a01b031681565b34801561032e57600080fd5b5061034261033d366004611b4b565b610682565b005b34801561035057600080fd5b5061034261035f366004611b7d565b6106d6565b34801561037057600080fd5b5061034261071e565b34801561038557600080fd5b506102a2610394366004611b4b565b610769565b3480156103a557600080fd5b5061034261078b565b3480156103ba57600080fd5b506103426103c9366004611b98565b6107ff565b3480156103da57600080fd5b506102a260165481565b3480156103f057600080fd5b506102a26103ff366004611b4b565b60116020526000908152604090205481565b34801561041d57600080fd5b506000546001600160a01b0316610272565b34801561043b57600080fd5b5061034261044a366004611b7d565b61084a565b34801561045b57600080fd5b506102a260175481565b34801561047157600080fd5b50604080518082019091526009815268444f4745564552534560b81b602082015261020c565b3480156104a357600080fd5b506103426104b2366004611b98565b610892565b3480156104c357600080fd5b506103426104d2366004611bb1565b6108c1565b3480156104e357600080fd5b506102426104f2366004611ade565b610a77565b34801561050357600080fd5b50610242610512366004611b4b565b60106020526000908152604090205460ff1681565b34801561053357600080fd5b50610342610a84565b34801561054857600080fd5b50610342610557366004611be3565b610ad8565b34801561056857600080fd5b506102a2610577366004611c67565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105ae57600080fd5b506103426105bd366004611b4b565b610b79565b3480156105ce57600080fd5b506103426105dd366004611b98565b610bc7565b3480156105ee57600080fd5b506103426105fd366004611b4b565b610c12565b600061060f338484610cfc565b5060015b92915050565b6000610626848484610e20565b610678843361067385604051806060016040528060288152602001611e1b602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611337565b610cfc565b5060019392505050565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016106ac90611ca0565b60405180910390fd5b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107005760405162461bcd60e51b81526004016106ac90611ca0565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061075357506013546001600160a01b0316336001600160a01b0316145b61075c57600080fd5b4761076681611371565b50565b6001600160a01b038116600090815260026020526040812054610613906113af565b6000546001600160a01b031633146107b55760405162461bcd60e51b81526004016106ac90611ca0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108295760405162461bcd60e51b81526004016106ac90611ca0565b64012a05f2008111156107665761084481633b9aca00611ceb565b60165550565b6000546001600160a01b031633146108745760405162461bcd60e51b81526004016106ac90611ca0565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108bc5760405162461bcd60e51b81526004016106ac90611ca0565b601855565b6000546001600160a01b031633146108eb5760405162461bcd60e51b81526004016106ac90611ca0565b600484111561094a5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420342560d81b60648201526084016106ac565b60148211156109a65760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642032604482015261302560f01b60648201526084016106ac565b6004831115610a065760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420342560d01b60648201526084016106ac565b6014811115610a635760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526232302560e81b60648201526084016106ac565b600893909355600a91909155600955600b55565b600061060f338484610e20565b6012546001600160a01b0316336001600160a01b03161480610ab957506013546001600160a01b0316336001600160a01b0316145b610ac257600080fd5b6000610acd30610769565b905061076681611433565b6000546001600160a01b03163314610b025760405162461bcd60e51b81526004016106ac90611ca0565b60005b82811015610b73578160056000868685818110610b2457610b24611d0a565b9050602002016020810190610b399190611b4b565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b6b81611d20565b915050610b05565b50505050565b6000546001600160a01b03163314610ba35760405162461bcd60e51b81526004016106ac90611ca0565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b03163314610bf15760405162461bcd60e51b81526004016106ac90611ca0565b64012a05f20081111561076657610c0c81633b9aca00611ceb565b60175550565b6000546001600160a01b03163314610c3c5760405162461bcd60e51b81526004016106ac90611ca0565b6001600160a01b038116610ca15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ac565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d5e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b6001600160a01b038216610dbf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ac565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e845760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ac565b6001600160a01b038216610ee65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ac565b60008111610f485760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ac565b6000546001600160a01b03848116911614801590610f7457506000546001600160a01b03838116911614155b1561123057601554600160a01b900460ff1661100d576000546001600160a01b0384811691161461100d5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106ac565b60165481111561105f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106ac565b6001600160a01b03821660009081526010602052604090205460ff16156110d45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106ac565b6015546001600160a01b0383811691161461115957601754816110f684610769565b6111009190611d3b565b106111595760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106ac565b600061116430610769565b60185460165491925082101590821061117d5760165491505b8080156111945750601554600160a81b900460ff16155b80156111ae57506015546001600160a01b03868116911614155b80156111c35750601554600160b01b900460ff165b80156111e857506001600160a01b03851660009081526005602052604090205460ff16155b801561120d57506001600160a01b03841660009081526005602052604090205460ff16155b1561122d5761121b82611433565b47801561122b5761122b47611371565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061127257506001600160a01b03831660009081526005602052604090205460ff165b806112a457506015546001600160a01b038581169116148015906112a457506015546001600160a01b03848116911614155b156112b15750600061132b565b6015546001600160a01b0385811691161480156112dc57506014546001600160a01b03848116911614155b156112ee57600854600c55600954600d555b6015546001600160a01b03848116911614801561131957506014546001600160a01b03858116911614155b1561132b57600a54600c55600b54600d555b610b73848484846115bc565b6000818484111561135b5760405162461bcd60e51b81526004016106ac9190611a74565b5060006113688486611d53565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113ab573d6000803e3d6000fd5b5050565b60006006548211156114165760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106ac565b60006114206115ea565b905061142c838261160d565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061147b5761147b611d0a565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156114cf57600080fd5b505afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115079190611d6a565b8160018151811061151a5761151a611d0a565b6001600160a01b0392831660209182029290920101526014546115409130911684610cfc565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611579908590600090869030904290600401611d87565b600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806115c9576115c961164f565b6115d484848461167d565b80610b7357610b73600e54600c55600f54600d55565b60008060006115f7611774565b9092509050611606828261160d565b9250505090565b600061142c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117b6565b600c5415801561165f5750600d54155b1561166657565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061168f876117e4565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116c19087611841565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116f09086611883565b6001600160a01b038916600090815260026020526040902055611712816118e2565b61171c848361192c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161176191815260200190565b60405180910390a3505050505050505050565b6006546000908190686c6b935b8bbd400000611790828261160d565b8210156117ad57505060065492686c6b935b8bbd40000092509050565b90939092509050565b600081836117d75760405162461bcd60e51b81526004016106ac9190611a74565b5060006113688486611df8565b60008060008060008060008060006118018a600c54600d54611950565b92509250925060006118116115ea565b905060008060006118248e8787876119a5565b919e509c509a509598509396509194505050505091939550919395565b600061142c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611337565b6000806118908385611d3b565b90508381101561142c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ac565b60006118ec6115ea565b905060006118fa83836119f5565b306000908152600260205260409020549091506119179082611883565b30600090815260026020526040902055505050565b6006546119399083611841565b6006556007546119499082611883565b6007555050565b600080808061196a606461196489896119f5565b9061160d565b9050600061197d60646119648a896119f5565b905060006119958261198f8b86611841565b90611841565b9992985090965090945050505050565b60008080806119b488866119f5565b905060006119c288876119f5565b905060006119d088886119f5565b905060006119e28261198f8686611841565b939b939a50919850919650505050505050565b600082611a0457506000610613565b6000611a108385611ceb565b905082611a1d8583611df8565b1461142c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ac565b600060208083528351808285015260005b81811015611aa157858101830151858201604001528201611a85565b81811115611ab3576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461076657600080fd5b60008060408385031215611af157600080fd5b8235611afc81611ac9565b946020939093013593505050565b600080600060608486031215611b1f57600080fd5b8335611b2a81611ac9565b92506020840135611b3a81611ac9565b929592945050506040919091013590565b600060208284031215611b5d57600080fd5b813561142c81611ac9565b80358015158114611b7857600080fd5b919050565b600060208284031215611b8f57600080fd5b61142c82611b68565b600060208284031215611baa57600080fd5b5035919050565b60008060008060808587031215611bc757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611bf857600080fd5b833567ffffffffffffffff80821115611c1057600080fd5b818601915086601f830112611c2457600080fd5b813581811115611c3357600080fd5b8760208260051b8501011115611c4857600080fd5b602092830195509350611c5e9186019050611b68565b90509250925092565b60008060408385031215611c7a57600080fd5b8235611c8581611ac9565b91506020830135611c9581611ac9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611d0557611d05611cd5565b500290565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611d3457611d34611cd5565b5060010190565b60008219821115611d4e57611d4e611cd5565b500190565b600082821015611d6557611d65611cd5565b500390565b600060208284031215611d7c57600080fd5b815161142c81611ac9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dd75784516001600160a01b031683529383019391830191600101611db2565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611e1557634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200b69db12185e2f2bf2cf9dda322746354ac5c698131d1bf05cc54a406e03c6e064736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101d15760003560e01c80637f2feddc116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e1461055c578063e70ef8a4146105a2578063ea1644d5146105c2578063f2fde38b146105e257600080fd5b8063a9059cbb146104d7578063bfd79284146104f7578063c3c8cd8014610527578063c492f0461461053c57600080fd5b80638f9a55c0116100d15780638f9a55c01461044f57806395d89b411461046557806398a5c31514610497578063a2a957bb146104b757600080fd5b80637f2feddc146103e45780638da5cb5b146104115780638f70ccf71461042f57600080fd5b806349bd5a5e1161016f57806370a082311161013e57806370a0823114610379578063715018a61461039957806374010ece146103ae5780637d1db4a5146103ce57600080fd5b806349bd5a5e146103025780636b999053146103225780636d8aa8f8146103445780636fc3eaec1461036457600080fd5b806318160ddd116101ab57806318160ddd1461028a57806323b872dd146102b05780632fd689e3146102d0578063313ce567146102e657600080fd5b806306fdde03146101dd578063095ea7b3146102225780631694505e1461025257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600a815269446f676572766572736560b01b60208201525b6040516102199190611a74565b60405180910390f35b34801561022e57600080fd5b5061024261023d366004611ade565b610602565b6040519015158152602001610219565b34801561025e57600080fd5b50601454610272906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b34801561029657600080fd5b50686c6b935b8bbd4000005b604051908152602001610219565b3480156102bc57600080fd5b506102426102cb366004611b0a565b610619565b3480156102dc57600080fd5b506102a260185481565b3480156102f257600080fd5b5060405160098152602001610219565b34801561030e57600080fd5b50601554610272906001600160a01b031681565b34801561032e57600080fd5b5061034261033d366004611b4b565b610682565b005b34801561035057600080fd5b5061034261035f366004611b7d565b6106d6565b34801561037057600080fd5b5061034261071e565b34801561038557600080fd5b506102a2610394366004611b4b565b610769565b3480156103a557600080fd5b5061034261078b565b3480156103ba57600080fd5b506103426103c9366004611b98565b6107ff565b3480156103da57600080fd5b506102a260165481565b3480156103f057600080fd5b506102a26103ff366004611b4b565b60116020526000908152604090205481565b34801561041d57600080fd5b506000546001600160a01b0316610272565b34801561043b57600080fd5b5061034261044a366004611b7d565b61084a565b34801561045b57600080fd5b506102a260175481565b34801561047157600080fd5b50604080518082019091526009815268444f4745564552534560b81b602082015261020c565b3480156104a357600080fd5b506103426104b2366004611b98565b610892565b3480156104c357600080fd5b506103426104d2366004611bb1565b6108c1565b3480156104e357600080fd5b506102426104f2366004611ade565b610a77565b34801561050357600080fd5b50610242610512366004611b4b565b60106020526000908152604090205460ff1681565b34801561053357600080fd5b50610342610a84565b34801561054857600080fd5b50610342610557366004611be3565b610ad8565b34801561056857600080fd5b506102a2610577366004611c67565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105ae57600080fd5b506103426105bd366004611b4b565b610b79565b3480156105ce57600080fd5b506103426105dd366004611b98565b610bc7565b3480156105ee57600080fd5b506103426105fd366004611b4b565b610c12565b600061060f338484610cfc565b5060015b92915050565b6000610626848484610e20565b610678843361067385604051806060016040528060288152602001611e1b602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611337565b610cfc565b5060019392505050565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016106ac90611ca0565b60405180910390fd5b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107005760405162461bcd60e51b81526004016106ac90611ca0565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061075357506013546001600160a01b0316336001600160a01b0316145b61075c57600080fd5b4761076681611371565b50565b6001600160a01b038116600090815260026020526040812054610613906113af565b6000546001600160a01b031633146107b55760405162461bcd60e51b81526004016106ac90611ca0565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108295760405162461bcd60e51b81526004016106ac90611ca0565b64012a05f2008111156107665761084481633b9aca00611ceb565b60165550565b6000546001600160a01b031633146108745760405162461bcd60e51b81526004016106ac90611ca0565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146108bc5760405162461bcd60e51b81526004016106ac90611ca0565b601855565b6000546001600160a01b031633146108eb5760405162461bcd60e51b81526004016106ac90611ca0565b600484111561094a5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420342560d81b60648201526084016106ac565b60148211156109a65760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642032604482015261302560f01b60648201526084016106ac565b6004831115610a065760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420342560d01b60648201526084016106ac565b6014811115610a635760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526232302560e81b60648201526084016106ac565b600893909355600a91909155600955600b55565b600061060f338484610e20565b6012546001600160a01b0316336001600160a01b03161480610ab957506013546001600160a01b0316336001600160a01b0316145b610ac257600080fd5b6000610acd30610769565b905061076681611433565b6000546001600160a01b03163314610b025760405162461bcd60e51b81526004016106ac90611ca0565b60005b82811015610b73578160056000868685818110610b2457610b24611d0a565b9050602002016020810190610b399190611b4b565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b6b81611d20565b915050610b05565b50505050565b6000546001600160a01b03163314610ba35760405162461bcd60e51b81526004016106ac90611ca0565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b03163314610bf15760405162461bcd60e51b81526004016106ac90611ca0565b64012a05f20081111561076657610c0c81633b9aca00611ceb565b60175550565b6000546001600160a01b03163314610c3c5760405162461bcd60e51b81526004016106ac90611ca0565b6001600160a01b038116610ca15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ac565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d5e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b6001600160a01b038216610dbf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ac565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e845760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ac565b6001600160a01b038216610ee65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ac565b60008111610f485760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ac565b6000546001600160a01b03848116911614801590610f7457506000546001600160a01b03838116911614155b1561123057601554600160a01b900460ff1661100d576000546001600160a01b0384811691161461100d5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106ac565b60165481111561105f5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106ac565b6001600160a01b03821660009081526010602052604090205460ff16156110d45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106ac565b6015546001600160a01b0383811691161461115957601754816110f684610769565b6111009190611d3b565b106111595760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106ac565b600061116430610769565b60185460165491925082101590821061117d5760165491505b8080156111945750601554600160a81b900460ff16155b80156111ae57506015546001600160a01b03868116911614155b80156111c35750601554600160b01b900460ff165b80156111e857506001600160a01b03851660009081526005602052604090205460ff16155b801561120d57506001600160a01b03841660009081526005602052604090205460ff16155b1561122d5761121b82611433565b47801561122b5761122b47611371565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061127257506001600160a01b03831660009081526005602052604090205460ff165b806112a457506015546001600160a01b038581169116148015906112a457506015546001600160a01b03848116911614155b156112b15750600061132b565b6015546001600160a01b0385811691161480156112dc57506014546001600160a01b03848116911614155b156112ee57600854600c55600954600d555b6015546001600160a01b03848116911614801561131957506014546001600160a01b03858116911614155b1561132b57600a54600c55600b54600d555b610b73848484846115bc565b6000818484111561135b5760405162461bcd60e51b81526004016106ac9190611a74565b5060006113688486611d53565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156113ab573d6000803e3d6000fd5b5050565b60006006548211156114165760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106ac565b60006114206115ea565b905061142c838261160d565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061147b5761147b611d0a565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156114cf57600080fd5b505afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115079190611d6a565b8160018151811061151a5761151a611d0a565b6001600160a01b0392831660209182029290920101526014546115409130911684610cfc565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611579908590600090869030904290600401611d87565b600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806115c9576115c961164f565b6115d484848461167d565b80610b7357610b73600e54600c55600f54600d55565b60008060006115f7611774565b9092509050611606828261160d565b9250505090565b600061142c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117b6565b600c5415801561165f5750600d54155b1561166657565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061168f876117e4565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116c19087611841565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116f09086611883565b6001600160a01b038916600090815260026020526040902055611712816118e2565b61171c848361192c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161176191815260200190565b60405180910390a3505050505050505050565b6006546000908190686c6b935b8bbd400000611790828261160d565b8210156117ad57505060065492686c6b935b8bbd40000092509050565b90939092509050565b600081836117d75760405162461bcd60e51b81526004016106ac9190611a74565b5060006113688486611df8565b60008060008060008060008060006118018a600c54600d54611950565b92509250925060006118116115ea565b905060008060006118248e8787876119a5565b919e509c509a509598509396509194505050505091939550919395565b600061142c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611337565b6000806118908385611d3b565b90508381101561142c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ac565b60006118ec6115ea565b905060006118fa83836119f5565b306000908152600260205260409020549091506119179082611883565b30600090815260026020526040902055505050565b6006546119399083611841565b6006556007546119499082611883565b6007555050565b600080808061196a606461196489896119f5565b9061160d565b9050600061197d60646119648a896119f5565b905060006119958261198f8b86611841565b90611841565b9992985090965090945050505050565b60008080806119b488866119f5565b905060006119c288876119f5565b905060006119d088886119f5565b905060006119e28261198f8686611841565b939b939a50919850919650505050505050565b600082611a0457506000610613565b6000611a108385611ceb565b905082611a1d8583611df8565b1461142c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ac565b600060208083528351808285015260005b81811015611aa157858101830151858201604001528201611a85565b81811115611ab3576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461076657600080fd5b60008060408385031215611af157600080fd5b8235611afc81611ac9565b946020939093013593505050565b600080600060608486031215611b1f57600080fd5b8335611b2a81611ac9565b92506020840135611b3a81611ac9565b929592945050506040919091013590565b600060208284031215611b5d57600080fd5b813561142c81611ac9565b80358015158114611b7857600080fd5b919050565b600060208284031215611b8f57600080fd5b61142c82611b68565b600060208284031215611baa57600080fd5b5035919050565b60008060008060808587031215611bc757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611bf857600080fd5b833567ffffffffffffffff80821115611c1057600080fd5b818601915086601f830112611c2457600080fd5b813581811115611c3357600080fd5b8760208260051b8501011115611c4857600080fd5b602092830195509350611c5e9186019050611b68565b90509250925092565b60008060408385031215611c7a57600080fd5b8235611c8581611ac9565b91506020830135611c9581611ac9565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611d0557611d05611cd5565b500290565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611d3457611d34611cd5565b5060010190565b60008219821115611d4e57611d4e611cd5565b500190565b600082821015611d6557611d65611cd5565b500390565b600060208284031215611d7c57600080fd5b815161142c81611ac9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dd75784516001600160a01b031683529383019391830191600101611db2565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611e1557634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200b69db12185e2f2bf2cf9dda322746354ac5c698131d1bf05cc54a406e03c6e064736f6c63430008090033
Deployed Bytecode Sourcemap
4221:14018:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6758:83;;;;;;;;;;-1:-1:-1;6828:5:0;;;;;;;;;;;;-1:-1:-1;;;6828:5:0;;;;6758:83;;;;;;;:::i;:::-;;;;;;;;7690:193;;;;;;;;;;-1:-1:-1;7690:193:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7690:193:0;1072:187:1;5588:41:0;;;;;;;;;;-1:-1:-1;5588:41:0;;;;-1:-1:-1;;;;;5588:41:0;;;;;;-1:-1:-1;;;;;1454:32:1;;;1436:51;;1424:2;1409:18;5588:41:0;1264:229:1;7038:95:0;;;;;;;;;;-1:-1:-1;4779:21:0;7038:95;;;1644:25:1;;;1632:2;1617:18;7038:95:0;1498:177:1;7892:446:0;;;;;;;;;;-1:-1:-1;7892:446:0;;;;;:::i;:::-;;:::i;5896:53::-;;;;;;;;;;;;;;;;6946:83;;;;;;;;;;-1:-1:-1;6946:83:0;;4452:1;2283:36:1;;2271:2;2256:18;6946:83:0;2141:184:1;5636:28:0;;;;;;;;;;-1:-1:-1;5636:28:0;;;;-1:-1:-1;;;;;5636:28:0;;;13052:92;;;;;;;;;;-1:-1:-1;13052:92:0;;;;;:::i;:::-;;:::i;:::-;;17499:101;;;;;;;;;;-1:-1:-1;17499:101:0;;;;;:::i;:::-;;:::i;12705:235::-;;;;;;;;;;;;;:::i;7142:138::-;;;;;;;;;;-1:-1:-1;7142:138:0;;;;;:::i;:::-;;:::i;1694:148::-;;;;;;;;;;;;;:::i;17640:169::-;;;;;;;;;;-1:-1:-1;17640:169:0;;;;;:::i;:::-;;:::i;5780:49::-;;;;;;;;;;;;;;;;5327:43;;;;;;;;;;-1:-1:-1;5327:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1478:79;;;;;;;;;;-1:-1:-1;1516:7:0;1543:6;-1:-1:-1;;;;;1543:6:0;1478:79;;12350:101;;;;;;;;;;-1:-1:-1;12350:101:0;;;;;:::i;:::-;;:::i;5837:51::-;;;;;;;;;;;;;;;;6850:87;;;;;;;;;;-1:-1:-1;6922:7:0;;;;;;;;;;;;-1:-1:-1;;;6922:7:0;;;;6850:87;;17307:139;;;;;;;;;;-1:-1:-1;17307:139:0;;;;;:::i;:::-;;:::i;16561:693::-;;;;;;;;;;-1:-1:-1;16561:693:0;;;;;:::i;:::-;;:::i;7289:199::-;;;;;;;;;;-1:-1:-1;7289:199:0;;;;;:::i;:::-;;:::i;5289:36::-;;;;;;;;;;-1:-1:-1;5289:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12460:236;;;;;;;;;;;;;:::i;18000:234::-;;;;;;;;;;-1:-1:-1;18000:234:0;;;;;:::i;:::-;;:::i;7497:184::-;;;;;;;;;;-1:-1:-1;7497:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7646:18:0;;;7614:7;7646:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7497:184;12949:94;;;;;;;;;;-1:-1:-1;12949:94:0;;;;;:::i;:::-;;:::i;17818:173::-;;;;;;;;;;-1:-1:-1;17818:173:0;;;;;:::i;:::-;;:::i;1851:244::-;;;;;;;;;;-1:-1:-1;1851:244:0;;;;;:::i;:::-;;:::i;7690:193::-;7792:4;7814:39;307:10;7837:7;7846:6;7814:8;:39::i;:::-;-1:-1:-1;7871:4:0;7690:193;;;;;:::o;7892:446::-;8024:4;8041:36;8051:6;8059:9;8070:6;8041:9;:36::i;:::-;8088:220;8111:6;307:10;8159:138;8215:6;8159:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8159:19:0;;;;;;:11;:19;;;;;;;;307:10;8159:33;;;;;;;;;;:37;:138::i;:::-;8088:8;:220::i;:::-;-1:-1:-1;8326:4:0;7892:446;;;;;:::o;13052:92::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;13116:12:0::1;13131:5;13116:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13116:20:0::1;::::0;;13052:92::o;17499:101::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;17566:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17566:26:0::1;-1:-1:-1::0;;;;17566:26:0;;::::1;::::0;;;::::1;::::0;;17499:101::o;12705:235::-;12771:19;;-1:-1:-1;;;;;12771:19:0;307:10;-1:-1:-1;;;;;12755:35:0;;:72;;;-1:-1:-1;12810:17:0;;-1:-1:-1;;;;;12810:17:0;307:10;-1:-1:-1;;;;;12794:33:0;;12755:72;12747:81;;;;;;12868:21;12900:32;12868:21;12900:12;:32::i;:::-;12736:204;12705:235::o;7142:138::-;-1:-1:-1;;;;;7255:16:0;;7208:7;7255:16;;;:7;:16;;;;;;7235:37;;:19;:37::i;1694:148::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;1801:1:::1;1785:6:::0;;1764:40:::1;::::0;-1:-1:-1;;;;;1785:6:0;;::::1;::::0;1764:40:::1;::::0;1801:1;;1764:40:::1;1832:1;1815:19:::0;;-1:-1:-1;;;;;;1815:19:0::1;::::0;;1694:148::o;17640:169::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;17730:10:::1;17716:11;:24;17712:90;;;17771:19;:11:::0;17785:5:::1;17771:19;:::i;:::-;17756:12;:34:::0;17640:169;:::o;12350:101::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;12417:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12417:26:0::1;-1:-1:-1::0;;;;12417:26:0;;::::1;::::0;;;::::1;::::0;;12350:101::o;17307:139::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;17398:19:::1;:40:::0;17307:139::o;16561:693::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;16742:1:::1;16725:13;:18;;16695:90;;;::::0;-1:-1:-1;;;16695:90:0;;5670:2:1;16695:90:0::1;::::0;::::1;5652:21:1::0;5709:2;5689:18;;;5682:30;5748:34;5728:18;;;5721:62;-1:-1:-1;;;5799:18:1;;;5792:35;5844:19;;16695:90:0::1;5468:401:1::0;16695:90:0::1;16839:2;16824:11;:17;;16796:84;;;::::0;-1:-1:-1;;;16796:84:0;;6076:2:1;16796:84:0::1;::::0;::::1;6058:21:1::0;6115:2;6095:18;;;6088:30;6154:34;6134:18;;;6127:62;-1:-1:-1;;;6205:18:1;;;6198:32;6247:19;;16796:84:0::1;5874:398:1::0;16796:84:0::1;16940:1;16922:14;:19;;16891:93;;;::::0;-1:-1:-1;;;16891:93:0;;6479:2:1;16891:93:0::1;::::0;::::1;6461:21:1::0;6518:2;6498:18;;;6491:30;6557:34;6537:18;;;6530:62;-1:-1:-1;;;6608:18:1;;;6601:36;6654:19;;16891:93:0::1;6277:402:1::0;16891:93:0::1;17040:2;17024:12;:18;;16995:87;;;::::0;-1:-1:-1;;;16995:87:0;;6886:2:1;16995:87:0::1;::::0;::::1;6868:21:1::0;6925:2;6905:18;;;6898:30;6964:34;6944:18;;;6937:62;-1:-1:-1;;;7015:18:1;;;7008:33;7058:19;;16995:87:0::1;6684:399:1::0;16995:87:0::1;17095:14;:30:::0;;;;17136:15:::1;:32:::0;;;;17179:12:::1;:26:::0;17216:13:::1;:28:::0;16561:693::o;7289:199::-;7394:4;7416:42;307:10;7440:9;7451:6;7416:9;:42::i;12460:236::-;12526:19;;-1:-1:-1;;;;;12526:19:0;307:10;-1:-1:-1;;;;;12510:35:0;;:72;;;-1:-1:-1;12565:17:0;;-1:-1:-1;;;;;12565:17:0;307:10;-1:-1:-1;;;;;12549:33:0;;12510:72;12502:81;;;;;;12594:23;12620:24;12638:4;12620:9;:24::i;:::-;12594:50;;12655:33;12672:15;12655:16;:33::i;18000:234::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;18117:9:::1;18113:114;18132:19:::0;;::::1;18113:114;;;18207:8;18173:18;:31;18192:8;;18201:1;18192:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18173:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18173:31:0;:42;;-1:-1:-1;;18173:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18153:3;::::1;::::0;::::1;:::i;:::-;;;;18113:114;;;;18000:234:::0;;;:::o;12949:94::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13017:9:0::1;;::::0;;;:4:::1;:9;::::0;;;;:16;;-1:-1:-1;;13017:16:0::1;13029:4;13017:16;::::0;;12949:94::o;17818:173::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;17921:10:::1;17905:13;:26;17901:83;;;17961:21;:13:::0;17977:5:::1;17961:21;:::i;:::-;17944:14;:38:::0;17818:173;:::o;1851:244::-;1606:6;;-1:-1:-1;;;;;1606:6:0;307:10;1606:22;1598:67;;;;-1:-1:-1;;;1598:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1940:22:0;::::1;1932:73;;;::::0;-1:-1:-1;;;1932:73:0;;7562:2:1;1932:73:0::1;::::0;::::1;7544:21:1::0;7601:2;7581:18;;;7574:30;7640:34;7620:18;;;7613:62;-1:-1:-1;;;7691:18:1;;;7684:36;7737:19;;1932:73:0::1;7360:402:1::0;1932:73:0::1;2042:6;::::0;;2021:38:::1;::::0;-1:-1:-1;;;;;2021:38:0;;::::1;::::0;2042:6;::::1;::::0;2021:38:::1;::::0;::::1;2070:6;:17:::0;;-1:-1:-1;;;;;;2070:17:0::1;-1:-1:-1::0;;;;;2070:17:0;;;::::1;::::0;;;::::1;::::0;;1851:244::o;9035:369::-;-1:-1:-1;;;;;9162:19:0;;9154:68;;;;-1:-1:-1;;;9154:68:0;;7969:2:1;9154:68:0;;;7951:21:1;8008:2;7988:18;;;7981:30;8047:34;8027:18;;;8020:62;-1:-1:-1;;;8098:18:1;;;8091:34;8142:19;;9154:68:0;7767:400:1;9154:68:0;-1:-1:-1;;;;;9241:21:0;;9233:68;;;;-1:-1:-1;;;9233:68:0;;8374:2:1;9233:68:0;;;8356:21:1;8413:2;8393:18;;;8386:30;8452:34;8432:18;;;8425:62;-1:-1:-1;;;8503:18:1;;;8496:32;8545:19;;9233:68:0;8172:398:1;9233:68:0;-1:-1:-1;;;;;9312:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9364:32;;1644:25:1;;;9364:32:0;;1617:18:1;9364:32:0;;;;;;;9035:369;;;:::o;9413:2328::-;-1:-1:-1;;;;;9535:18:0;;9527:68;;;;-1:-1:-1;;;9527:68:0;;8777:2:1;9527:68:0;;;8759:21:1;8816:2;8796:18;;;8789:30;8855:34;8835:18;;;8828:62;-1:-1:-1;;;8906:18:1;;;8899:35;8951:19;;9527:68:0;8575:401:1;9527:68:0;-1:-1:-1;;;;;9614:16:0;;9606:64;;;;-1:-1:-1;;;9606:64:0;;9183:2:1;9606:64:0;;;9165:21:1;9222:2;9202:18;;;9195:30;9261:34;9241:18;;;9234:62;-1:-1:-1;;;9312:18:1;;;9305:33;9355:19;;9606:64:0;8981:399:1;9606:64:0;9698:1;9689:6;:10;9681:64;;;;-1:-1:-1;;;9681:64:0;;9587:2:1;9681:64:0;;;9569:21:1;9626:2;9606:18;;;9599:30;9665:34;9645:18;;;9638:62;-1:-1:-1;;;9716:18:1;;;9709:39;9765:19;;9681:64:0;9385:405:1;9681:64:0;1516:7;1543:6;-1:-1:-1;;;;;9763:15:0;;;1543:6;;9763:15;;;;:32;;-1:-1:-1;1516:7:0;1543:6;-1:-1:-1;;;;;9782:13:0;;;1543:6;;9782:13;;9763:32;9759:1250;;;9853:11;;-1:-1:-1;;;9853:11:0;;;;9848:144;;1516:7;1543:6;-1:-1:-1;;;;;9893:15:0;;;1543:6;;9893:15;9885:91;;;;-1:-1:-1;;;9885:91:0;;9997:2:1;9885:91:0;;;9979:21:1;10036:2;10016:18;;;10009:30;10075:34;10055:18;;;10048:62;10146:33;10126:18;;;10119:61;10197:19;;9885:91:0;9795:427:1;9885:91:0;10027:12;;10017:6;:22;;10009:63;;;;-1:-1:-1;;;10009:63:0;;10429:2:1;10009:63:0;;;10411:21:1;10468:2;10448:18;;;10441:30;10507;10487:18;;;10480:58;10555:18;;10009:63:0;10227:352:1;10009:63:0;-1:-1:-1;;;;;10096:8:0;;;;;;:4;:8;;;;;;;;10095:9;10087:57;;;;-1:-1:-1;;;10087:57:0;;10786:2:1;10087:57:0;;;10768:21:1;10825:2;10805:18;;;10798:30;10864:34;10844:18;;;10837:62;-1:-1:-1;;;10915:18:1;;;10908:33;10958:19;;10087:57:0;10584:399:1;10087:57:0;10171:13;;-1:-1:-1;;;;;10165:19:0;;;10171:13;;10165:19;10162:146;;10238:14;;10229:6;10213:13;10223:2;10213:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10205:87;;;;-1:-1:-1;;;10205:87:0;;11323:2:1;10205:87:0;;;11305:21:1;11362:2;11342:18;;;11335:30;11401:34;11381:18;;;11374:62;-1:-1:-1;;;11452:18:1;;;11445:33;11495:19;;10205:87:0;11121:399:1;10205:87:0;10325:28;10356:24;10374:4;10356:9;:24::i;:::-;10434:19;;10498:12;;10325:55;;-1:-1:-1;10410:43:0;;;;10474:36;;10471:124;;10567:12;;10544:35;;10471:124;10616:7;:18;;;;-1:-1:-1;10628:6:0;;-1:-1:-1;;;10628:6:0;;;;10627:7;10616:18;:43;;;;-1:-1:-1;10646:13:0;;-1:-1:-1;;;;;10638:21:0;;;10646:13;;10638:21;;10616:43;:58;;;;-1:-1:-1;10663:11:0;;-1:-1:-1;;;10663:11:0;;;;10616:58;:87;;;;-1:-1:-1;;;;;;10679:24:0;;;;;;:18;:24;;;;;;;;10678:25;10616:87;:114;;;;-1:-1:-1;;;;;;10708:22:0;;;;;;:18;:22;;;;;;;;10707:23;10616:114;10612:386;;;10751:38;10768:20;10751:16;:38::i;:::-;10837:21;10881:22;;10877:106;;10928:35;10941:21;10928:12;:35::i;:::-;10732:266;10612:386;9797:1212;;9759:1250;-1:-1:-1;;;;;11087:24:0;;11022:12;11087:24;;;:18;:24;;;;;;11037:4;;11087:24;;;:50;;-1:-1:-1;;;;;;11115:22:0;;;;;;:18;:22;;;;;;;;11087:50;11086:102;;;-1:-1:-1;11151:13:0;;-1:-1:-1;;;;;11143:21:0;;;11151:13;;11143:21;;;;:44;;-1:-1:-1;11174:13:0;;-1:-1:-1;;;;;11168:19:0;;;11174:13;;11168:19;;11143:44;11082:597;;;-1:-1:-1;11215:5:0;11082:597;;;11299:13;;-1:-1:-1;;;;;11291:21:0;;;11299:13;;11291:21;:55;;;;-1:-1:-1;11330:15:0;;-1:-1:-1;;;;;11316:30:0;;;11330:15;;11316:30;;11291:55;11288:162;;;11379:14;;11367:9;:26;11422:12;;11412:7;:22;11288:162;11510:13;;-1:-1:-1;;;;;11504:19:0;;;11510:13;;11504:19;:55;;;;-1:-1:-1;11543:15:0;;-1:-1:-1;;;;;11527:32:0;;;11543:15;;11527:32;;11504:55;11500:165;;;11592:15;;11580:9;:27;11636:13;;11626:7;:23;11500:165;11692:41;11707:4;11713:2;11717:6;11725:7;11692:14;:41::i;2463:224::-;2583:7;2619:12;2611:6;;;;2603:29;;;;-1:-1:-1;;;2603:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2643:9:0;2655:5;2659:1;2655;:5;:::i;:::-;2643:17;2463:224;-1:-1:-1;;;;;2463:224:0:o;12242:99::-;12299:17;;:34;;-1:-1:-1;;;;;12299:17:0;;;;:34;;;;;12326:6;;12299:17;:34;:17;:34;12326:6;12299:17;:34;;;;;;;;;;;;;;;;;;;;;12242:99;:::o;8347:323::-;8442:7;8500;;8489;:18;;8467:110;;;;-1:-1:-1;;;8467:110:0;;11857:2:1;8467:110:0;;;11839:21:1;11896:2;11876:18;;;11869:30;11935:34;11915:18;;;11908:62;-1:-1:-1;;;11986:18:1;;;11979:40;12036:19;;8467:110:0;11655:406:1;8467:110:0;8588:19;8610:10;:8;:10::i;:::-;8588:32;-1:-1:-1;8638:24:0;:7;8588:32;8638:11;:24::i;:::-;8631:31;8347:323;-1:-1:-1;;;8347:323:0:o;11750:483::-;6044:6;:13;;-1:-1:-1;;;;6044:13:0;-1:-1:-1;;;6044:13:0;;;11852:16:::1;::::0;;11866:1:::1;11852:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11852:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11852:16:0::1;11828:40;;11897:4;11879;11884:1;11879:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11879:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11923:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11923:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11879:7;;11923:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11913:4;11918:1;11913:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11913:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11988:15:::1;::::0;11956:62:::1;::::0;11973:4:::1;::::0;11988:15:::1;12006:11:::0;11956:8:::1;:62::i;:::-;12029:15;::::0;:196:::1;::::0;-1:-1:-1;;;12029:196:0;;-1:-1:-1;;;;;12029:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12110:11;;12029:15:::1;::::0;12152:4;;12179::::1;::::0;12199:15:::1;::::0;12029:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6080:6:0;:14;;-1:-1:-1;;;;6080:14:0;;;-1:-1:-1;;;;11750:483:0:o;13153:282::-;13309:7;13304:28;;13318:14;:12;:14::i;:::-;13343:44;13361:6;13369:9;13380:6;13343:17;:44::i;:::-;13403:7;13398:29;;13412:15;8965:17;;8953:9;:29;9003:15;;8993:7;:25;8909:117;16122:164;16164:7;16185:15;16202;16221:19;:17;:19::i;:::-;16184:56;;-1:-1:-1;16184:56:0;-1:-1:-1;16258:20:0;16184:56;;16258:11;:20::i;:::-;16251:27;;;;16122:164;:::o;2951:132::-;3009:7;3036:39;3040:1;3043;3036:39;;;;;;;;;;;;;;;;;:3;:39::i;8679:221::-;8726:9;;:14;:30;;;;-1:-1:-1;8744:7:0;;:12;8726:30;8722:43;;;8679:221::o;8722:43::-;8798:9;;;8778:17;:29;8836:7;;;8818:15;:25;-1:-1:-1;8857:13:0;;;;8881:11;8679:221::o;13444:610::-;13591:15;13621:23;13659:12;13686:23;13724:12;13751:13;13778:19;13789:7;13778:10;:19::i;:::-;-1:-1:-1;;;;;13826:15:0;;;;;;:7;:15;;;;;;13576:221;;-1:-1:-1;13576:221:0;;-1:-1:-1;13576:221:0;;-1:-1:-1;13576:221:0;-1:-1:-1;13576:221:0;-1:-1:-1;13576:221:0;-1:-1:-1;13826:28:0;;13576:221;13826:19;:28::i;:::-;-1:-1:-1;;;;;13808:15:0;;;;;;;:7;:15;;;;;;:46;;;;13886:18;;;;;;;:39;;13909:15;13886:22;:39::i;:::-;-1:-1:-1;;;;;13865:18:0;;;;;;:7;:18;;;;;:60;13936:16;13946:5;13936:9;:16::i;:::-;13963:23;13975:4;13981;13963:11;:23::i;:::-;14019:9;-1:-1:-1;;;;;14002:44:0;14011:6;-1:-1:-1;;;;;14002:44:0;;14030:15;14002:44;;;;1644:25:1;;1632:2;1617:18;;1498:177;14002:44:0;;;;;;;;13565:489;;;;;;13444:610;;;:::o;16295:257::-;16393:7;;16346;;;;4779:21;16461:20;16393:7;4779:21;16461:11;:20::i;:::-;16451:7;:30;16447:61;;;-1:-1:-1;;16491:7:0;;;4779:21;;-1:-1:-1;16295:257:0;-1:-1:-1;16295:257:0:o;16447:61::-;16527:7;;16536;;-1:-1:-1;16295:257:0;-1:-1:-1;16295:257:0:o;3092:223::-;3212:7;3247:12;3240:5;3232:28;;;;-1:-1:-1;;;3232:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3271:9:0;3283:5;3287:1;3283;:5;:::i;14477:615::-;14577:7;14599;14621;14643;14665;14687;14723:23;14748:12;14762:13;14792:40;14804:7;14813:9;;14824:7;;14792:11;:40::i;:::-;14722:110;;;;;;14843:19;14865:10;:8;:10::i;:::-;14843:32;;14887:15;14904:23;14929:12;14958:46;14970:7;14979:4;14985:5;14992:11;14958;:46::i;:::-;14886:118;;-1:-1:-1;14886:118:0;-1:-1:-1;14886:118:0;-1:-1:-1;15055:15:0;;-1:-1:-1;15072:4:0;;-1:-1:-1;15078:5:0;;-1:-1:-1;;;;;14477:615:0;;;;;;;:::o;2318:136::-;2376:7;2403:43;2407:1;2410;2403:43;;;;;;;;;;;;;;;;;:3;:43::i;2130:179::-;2188:7;;2220:5;2224:1;2220;:5;:::i;:::-;2208:17;;2249:1;2244;:6;;2236:46;;;;-1:-1:-1;;;2236:46:0;;13863:2:1;2236:46:0;;;13845:21:1;13902:2;13882:18;;;13875:30;13941:29;13921:18;;;13914:57;13988:18;;2236:46:0;13661:351:1;14063:211:0;14116:19;14138:10;:8;:10::i;:::-;14116:32;-1:-1:-1;14159:13:0;14175:22;:5;14116:32;14175:9;:22::i;:::-;14249:4;14233:22;;;;:7;:22;;;;;;14159:38;;-1:-1:-1;14233:33:0;;14159:38;14233:26;:33::i;:::-;14224:4;14208:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14063:211:0:o;14283:147::-;14361:7;;:17;;14373:4;14361:11;:17::i;:::-;14351:7;:27;14402:10;;:20;;14417:4;14402:14;:20::i;:::-;14389:10;:33;-1:-1:-1;;14283:147:0:o;15101:469::-;15270:7;;;;15364:30;15390:3;15364:21;:7;15376:8;15364:11;:21::i;:::-;:25;;:30::i;:::-;15349:45;-1:-1:-1;15405:13:0;15421:28;15445:3;15421:19;:7;15433:6;15421:11;:19::i;:28::-;15405:44;-1:-1:-1;15460:23:0;15486:28;15405:44;15486:17;:7;15498:4;15486:11;:17::i;:::-;:21;;:28::i;:::-;15460:54;15550:4;;-1:-1:-1;15556:5:0;;-1:-1:-1;15101:469:0;;-1:-1:-1;;;;;15101:469:0:o;15579:534::-;15773:7;;;;15870:24;:7;15882:11;15870;:24::i;:::-;15852:42;-1:-1:-1;15905:12:0;15920:21;:4;15929:11;15920:8;:21::i;:::-;15905:36;-1:-1:-1;15952:13:0;15968:22;:5;15978:11;15968:9;:22::i;:::-;15952:38;-1:-1:-1;16001:23:0;16027:28;15952:38;16027:17;:7;16039:4;16027:11;:17::i;:28::-;16074:7;;;;-1:-1:-1;16100:4:0;;-1:-1:-1;15579:534:0;;-1:-1:-1;;;;;;;15579:534:0:o;2696:246::-;2754:7;2778:6;2774:47;;-1:-1:-1;2808:1:0;2801:8;;2774:47;2831:9;2843:5;2847:1;2843;:5;:::i;:::-;2831:17;-1:-1:-1;2876:1:0;2867:5;2871:1;2831:17;2867:5;:::i;:::-;:10;2859:56;;;;-1:-1:-1;;;2859:56:0;;14219:2:1;2859:56:0;;;14201:21:1;14258:2;14238:18;;;14231:30;14297:34;14277:18;;;14270:62;-1:-1:-1;;;14348:18:1;;;14341:31;14389:19;;2859:56:0;14017:397:1;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1680:456::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;:::-;1950:5;-1:-1:-1;2007:2:1;1992:18;;1979:32;2020:33;1979:32;2020:33;:::i;:::-;1680:456;;2072:7;;-1:-1:-1;;;2126:2:1;2111:18;;;;2098:32;;1680:456::o;2538:247::-;2597:6;2650:2;2638:9;2629:7;2625:23;2621:32;2618:52;;;2666:1;2663;2656:12;2618:52;2705:9;2692:23;2724:31;2749:5;2724:31;:::i;2790:160::-;2855:20;;2911:13;;2904:21;2894:32;;2884:60;;2940:1;2937;2930:12;2884:60;2790:160;;;:::o;2955:180::-;3011:6;3064:2;3052:9;3043:7;3039:23;3035:32;3032:52;;;3080:1;3077;3070:12;3032:52;3103:26;3119:9;3103:26;:::i;3140:180::-;3199:6;3252:2;3240:9;3231:7;3227:23;3223:32;3220:52;;;3268:1;3265;3258:12;3220:52;-1:-1:-1;3291:23:1;;3140:180;-1:-1:-1;3140:180:1:o;3325:385::-;3411:6;3419;3427;3435;3488:3;3476:9;3467:7;3463:23;3459:33;3456:53;;;3505:1;3502;3495:12;3456:53;-1:-1:-1;;3528:23:1;;;3598:2;3583:18;;3570:32;;-1:-1:-1;3649:2:1;3634:18;;3621:32;;3700:2;3685:18;3672:32;;-1:-1:-1;3325:385:1;-1:-1:-1;3325:385:1:o;3715:689::-;3807:6;3815;3823;3876:2;3864:9;3855:7;3851:23;3847:32;3844:52;;;3892:1;3889;3882:12;3844:52;3932:9;3919:23;3961:18;4002:2;3994:6;3991:14;3988:34;;;4018:1;4015;4008:12;3988:34;4056:6;4045:9;4041:22;4031:32;;4101:7;4094:4;4090:2;4086:13;4082:27;4072:55;;4123:1;4120;4113:12;4072:55;4163:2;4150:16;4189:2;4181:6;4178:14;4175:34;;;4205:1;4202;4195:12;4175:34;4260:7;4253:4;4243:6;4240:1;4236:14;4232:2;4228:23;4224:34;4221:47;4218:67;;;4281:1;4278;4271:12;4218:67;4312:4;4304:13;;;;-1:-1:-1;4336:6:1;-1:-1:-1;4361:37:1;;4377:20;;;-1:-1:-1;4361:37:1;:::i;:::-;4351:47;;3715:689;;;;;:::o;4409:388::-;4477:6;4485;4538:2;4526:9;4517:7;4513:23;4509:32;4506:52;;;4554:1;4551;4544:12;4506:52;4593:9;4580:23;4612:31;4637:5;4612:31;:::i;:::-;4662:5;-1:-1:-1;4719:2:1;4704:18;;4691:32;4732:33;4691:32;4732:33;:::i;:::-;4784:7;4774:17;;;4409:388;;;;;:::o;4802:356::-;5004:2;4986:21;;;5023:18;;;5016:30;5082:34;5077:2;5062:18;;5055:62;5149:2;5134:18;;4802:356::o;5163:127::-;5224:10;5219:3;5215:20;5212:1;5205:31;5255:4;5252:1;5245:15;5279:4;5276:1;5269:15;5295:168;5335:7;5401:1;5397;5393:6;5389:14;5386:1;5383:21;5378:1;5371:9;5364:17;5360:45;5357:71;;;5408:18;;:::i;:::-;-1:-1:-1;5448:9:1;;5295:168::o;7088:127::-;7149:10;7144:3;7140:20;7137:1;7130:31;7180:4;7177:1;7170:15;7204:4;7201:1;7194:15;7220:135;7259:3;-1:-1:-1;;7280:17:1;;7277:43;;;7300:18;;:::i;:::-;-1:-1:-1;7347:1:1;7336:13;;7220:135::o;10988:128::-;11028:3;11059:1;11055:6;11052:1;11049:13;11046:39;;;11065:18;;:::i;:::-;-1:-1:-1;11101:9:1;;10988:128::o;11525:125::-;11565:4;11593:1;11590;11587:8;11584:34;;;11598:18;;:::i;:::-;-1:-1:-1;11635:9:1;;11525:125::o;12198:251::-;12268:6;12321:2;12309:9;12300:7;12296:23;12292:32;12289:52;;;12337:1;12334;12327:12;12289:52;12369:9;12363:16;12388:31;12413:5;12388:31;:::i;12454:980::-;12716:4;12764:3;12753:9;12749:19;12795:6;12784:9;12777:25;12821:2;12859:6;12854:2;12843:9;12839:18;12832:34;12902:3;12897:2;12886:9;12882:18;12875:31;12926:6;12961;12955:13;12992:6;12984;12977:22;13030:3;13019:9;13015:19;13008:26;;13069:2;13061:6;13057:15;13043:29;;13090:1;13100:195;13114:6;13111:1;13108:13;13100:195;;;13179:13;;-1:-1:-1;;;;;13175:39:1;13163:52;;13270:15;;;;13235:12;;;;13211:1;13129:9;13100:195;;;-1:-1:-1;;;;;;;13351:32:1;;;;13346:2;13331:18;;13324:60;-1:-1:-1;;;13415:3:1;13400:19;13393:35;13312:3;12454:980;-1:-1:-1;;;12454:980:1:o;13439:217::-;13479:1;13505;13495:132;;13549:10;13544:3;13540:20;13537:1;13530:31;13584:4;13581:1;13574:15;13612:4;13609:1;13602:15;13495:132;-1:-1:-1;13641:9:1;;13439:217::o
Swarm Source
ipfs://0b69db12185e2f2bf2cf9dda322746354ac5c698131d1bf05cc54a406e03c6e0
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.