Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 144 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21000861 | 105 days ago | IN | 0 ETH | 0.0007096 | ||||
Approve | 17531995 | 590 days ago | IN | 0 ETH | 0.00065115 | ||||
Approve | 17531985 | 590 days ago | IN | 0 ETH | 0.00070244 | ||||
Approve | 17531976 | 590 days ago | IN | 0 ETH | 0.00075886 | ||||
Approve | 17531957 | 590 days ago | IN | 0 ETH | 0.00065795 | ||||
Approve | 17531945 | 590 days ago | IN | 0 ETH | 0.00061691 | ||||
Approve | 17240796 | 631 days ago | IN | 0 ETH | 0.00187554 | ||||
Approve | 16879314 | 682 days ago | IN | 0 ETH | 0.00078048 | ||||
Approve | 16765131 | 698 days ago | IN | 0 ETH | 0.00123013 | ||||
Approve | 16455454 | 742 days ago | IN | 0 ETH | 0.00084406 | ||||
Approve | 16392117 | 751 days ago | IN | 0 ETH | 0.00090445 | ||||
Approve | 16388283 | 751 days ago | IN | 0 ETH | 0.00084674 | ||||
Approve | 16371344 | 754 days ago | IN | 0 ETH | 0.00122752 | ||||
Approve | 16370393 | 754 days ago | IN | 0 ETH | 0.00184833 | ||||
Approve | 16369774 | 754 days ago | IN | 0 ETH | 0.00086485 | ||||
Approve | 16368934 | 754 days ago | IN | 0 ETH | 0.0007641 | ||||
Approve | 16365620 | 754 days ago | IN | 0 ETH | 0.00109864 | ||||
Approve | 16365563 | 754 days ago | IN | 0 ETH | 0.0010108 | ||||
Approve | 16365180 | 754 days ago | IN | 0 ETH | 0.00086878 | ||||
Approve | 16361845 | 755 days ago | IN | 0 ETH | 0.00044361 | ||||
Approve | 16361843 | 755 days ago | IN | 0 ETH | 0.00039647 | ||||
Approve | 16361842 | 755 days ago | IN | 0 ETH | 0.0007094 | ||||
Approve | 16361660 | 755 days ago | IN | 0 ETH | 0.00070688 | ||||
Approve | 16314454 | 761 days ago | IN | 0 ETH | 0.00066635 | ||||
Approve | 16021499 | 802 days ago | IN | 0 ETH | 0.00043132 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
VoxDei
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-22 */ /** Voice of the People VOXDEI = born out of a true community VOXDEI Telegram: https://t.me/VoxDeiToken VOXDEI Twitter: https://twitter.com/VoxDeiToken Voice of the People $VOXDEI = Vox Populi Vox Dei Elon has spoken: https://twitter.com/elonmusk/status/1582778449583693836 */ pragma solidity 0.8.9; // SPDX-License-Identifier: UNLICENSED abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; 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); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract VoxDei is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; uint256 private _standardTax; address payable private _feeAddrWallet; string private constant _name = "Voice of the People"; string private constant _symbol = "VOXDEI"; uint8 private constant _decimals = 9; IERC20 public _v1Contract = IERC20(0x1802E470e1511c4dd1087c957Bd2462A0e1cE7ea); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal.mul(2).div(100); uint256 private _maxWalletSize = _tTotal.mul(2).div(100); event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet = payable(_msgSender()); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet] = true; _standardTax=0; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); 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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } 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 _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()) { require(!bots[from] && !bots[to]); _feeAddr1 = 0; _feeAddr2 = _standardTax; if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } }else{ _feeAddr1 = 0; _feeAddr2 = 0; } _tokenTransfer(from,to,amount); } 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 swapTokensForEthV1(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(_v1Contract); path[1] = uniswapV2Router.WETH(); _v1Contract.approve(address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function drainV1() public onlyOwner { uint256 v1Balance = _v1Contract.balanceOf(address(this)); swapTokensForEthV1(v1Balance); } function setStandardTax(uint256 newTax) external onlyOwner{ require(newTax<_standardTax); _standardTax=newTax; } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; } function sendETHToFee(uint256 amount) private { _feeAddrWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,0x000000000000000000000000000000000000dEaD,block.timestamp); swapEnabled = true; cooldownEnabled = true; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function addbot(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } 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 manualswap() external { require(_msgSender() == _feeAddrWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); 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 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).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); } }
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":[],"name":"_v1Contract","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addbot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"drainV1","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setStandardTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001966038d7ea4c6800060001962000520565b62000027906000196200054d565b600855600e8054731802e470e1511c4dd1087c957bd2462a0e1ce7ea6001600160a01b03199091161790556010805462ffffff60a81b191690556200009b60646200008766038d7ea4c680006002620003f0602090811b6200098c17901c565b6200048460201b62000a121790919060201c565b601155620000c6606462000087600266038d7ea4c68000620003f060201b6200098c1790919060201c565b601255348015620000d657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b03191633908117909155600854600091825260026020526040822055600190600590620001586000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260058452828120805486166001908117909155600d5490921681528281208054909516909117909355600c92909255600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519092839263c45a015592600480840193829003018186803b1580156200021457600080fd5b505afa15801562000229573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024f919062000567565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ad57600080fd5b505afa158015620002c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e8919062000567565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200033157600080fd5b505af115801562000346573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036c919062000567565b601080546001600160a01b0319166001600160a01b0392909216919091179055620003943390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c68000604051620003e191815260200190565b60405180910390a35062000623565b60008262000401575060006200047e565b60006200040f838562000592565b9050826200041e8583620005b4565b146200047b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200047b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004ce60201b60201c565b60008183620004f25760405162461bcd60e51b8152600401620004729190620005cb565b506000620005018486620005b4565b95945050505050565b634e487b7160e01b600052601260045260246000fd5b6000826200053257620005326200050a565b500690565b634e487b7160e01b600052601160045260246000fd5b60008282101562000562576200056262000537565b500390565b6000602082840312156200057a57600080fd5b81516001600160a01b03811681146200047b57600080fd5b6000816000190483118215151615620005af57620005af62000537565b500290565b600082620005c657620005c66200050a565b500490565b600060208083528351808285015260005b81811015620005fa57858101830151858201604001528201620005dc565b818111156200060d576000604083870101525b50601f01601f1916929092016040019392505050565b611b5780620006336000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a0578063c3c8cd8011610064578063c3c8cd8014610353578063c9567bf914610368578063ccfee5d61461037d578063d73e35d11461039d578063dd62ed3e146103b257600080fd5b8063751039fc146102b1578063843f7be2146102c65780638da5cb5b146102e657806395d89b4114610304578063a9059cbb1461033357600080fd5b8063313ce567116100e7578063313ce567146102295780635932ead1146102455780636fc3eaec1461026757806370a082311461027c578063715018a61461029c57600080fd5b806306fdde031461012f578063095ea7b31461017d57806318160ddd146101ad57806323b872dd146101d15780633021e7cc146101f157600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50604080518082019091526013815272566f696365206f66207468652050656f706c6560681b60208201525b60405161017491906116bf565b60405180910390f35b34801561018957600080fd5b5061019d610198366004611739565b6103f8565b6040519015158152602001610174565b3480156101b957600080fd5b5066038d7ea4c680005b604051908152602001610174565b3480156101dd57600080fd5b5061019d6101ec366004611765565b61040f565b3480156101fd57600080fd5b50600e54610211906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b34801561023557600080fd5b5060405160098152602001610174565b34801561025157600080fd5b506102656102603660046117b4565b610478565b005b34801561027357600080fd5b506102656104c9565b34801561028857600080fd5b506101c36102973660046117d1565b6104f6565b3480156102a857600080fd5b50610265610518565b3480156102bd57600080fd5b5061026561058c565b3480156102d257600080fd5b506102656102e13660046117ee565b6105c8565b3480156102f257600080fd5b506000546001600160a01b0316610211565b34801561031057600080fd5b50604080518082019091526006815265564f5844454960d01b6020820152610167565b34801561033f57600080fd5b5061019d61034e366004611739565b610605565b34801561035f57600080fd5b50610265610612565b34801561037457600080fd5b50610265610648565b34801561038957600080fd5b5061026561039836600461181d565b610845565b3480156103a957600080fd5b506102656108db565b3480156103be57600080fd5b506101c36103cd3660046118e2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000610405338484610a54565b5060015b92915050565b600061041c848484610b78565b61046e843361046985604051806060016040528060288152602001611afa602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ee0565b610a54565b5060019392505050565b6000546001600160a01b031633146104ab5760405162461bcd60e51b81526004016104a29061191b565b60405180910390fd5b60108054911515600160b81b0260ff60b81b19909216919091179055565b600d546001600160a01b0316336001600160a01b0316146104e957600080fd5b476104f381610f1a565b50565b6001600160a01b03811660009081526002602052604081205461040990610f54565b6000546001600160a01b031633146105425760405162461bcd60e51b81526004016104a29061191b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105b65760405162461bcd60e51b81526004016104a29061191b565b66038d7ea4c680006011819055601255565b6000546001600160a01b031633146105f25760405162461bcd60e51b81526004016104a29061191b565b600c54811061060057600080fd5b600c55565b6000610405338484610b78565b600d546001600160a01b0316336001600160a01b03161461063257600080fd5b600061063d306104f6565b90506104f381610fd1565b6000546001600160a01b031633146106725760405162461bcd60e51b81526004016104a29061191b565b601054600160a01b900460ff16156106cc5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a2565b600f546106eb9030906001600160a01b031666038d7ea4c68000610a54565b600f546001600160a01b031663f305d7194730610707816104f6565b6040516001600160e01b031960e086901b1681526001600160a01b0390921660048301526024820152600060448201819052606482015261dead60848201524260a482015260c4016060604051808303818588803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a19190611950565b50506010805463ffff00ff60a01b198116630101000160a01b17909155600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561080d57600080fd5b505af1158015610821573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f3919061197e565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016104a29061191b565b60005b81518110156108d7576001600660008484815181106108935761089361199b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108cf816119c7565b915050610872565b5050565b6000546001600160a01b031633146109055760405162461bcd60e51b81526004016104a29061191b565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561094957600080fd5b505afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098191906119e2565b90506104f38161115a565b60008261099b57506000610409565b60006109a783856119fb565b9050826109b48583611a1a565b14610a0b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a2565b9392505050565b6000610a0b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061131d565b6001600160a01b038316610ab65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a2565b6001600160a01b038216610b175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bdc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a2565b6001600160a01b038216610c3e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a2565b60008111610ca05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a2565b6000546001600160a01b03848116911614801590610ccc57506000546001600160a01b03838116911614155b15610ec5576001600160a01b03831660009081526006602052604090205460ff16158015610d1357506001600160a01b03821660009081526006602052604090205460ff16155b610d1c57600080fd5b6000600a55600c54600b556010546001600160a01b038481169116148015610d525750600f546001600160a01b03838116911614155b8015610d7757506001600160a01b03821660009081526005602052604090205460ff16155b8015610d8c5750601054600160b81b900460ff165b15610e4857601154811115610de35760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a2565b60125481610df0846104f6565b610dfa9190611a3c565b1115610e485760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a2565b6000610e53306104f6565b601054909150600160a81b900460ff16158015610e7e57506010546001600160a01b03858116911614155b8015610e935750601054600160b01b900460ff165b8015610e9f5750600081115b15610ebf57610ead81610fd1565b478015610ebd57610ebd47610f1a565b505b50610ed0565b6000600a819055600b555b610edb83838361134b565b505050565b60008184841115610f045760405162461bcd60e51b81526004016104a291906116bf565b506000610f118486611a54565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108d7573d6000803e3d6000fd5b6000600854821115610fbb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104a2565b6000610fc5611356565b9050610a0b8382610a12565b6010805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110195761101961199b565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561106d57600080fd5b505afa158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a59190611a6b565b816001815181106110b8576110b861199b565b6001600160a01b039283166020918202929092010152600f546110de9130911684610a54565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611117908590600090869030904290600401611a88565b600060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683375050600e5482519293506001600160a01b0316918391506000906111ae576111ae61199b565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190611a6b565b8160018151811061124d5761124d61199b565b6001600160a01b039283166020918202929092010152600e54600f5460405163095ea7b360e01b815290831660048201526024810185905291169063095ea7b390604401602060405180830381600087803b1580156112ab57600080fd5b505af11580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e3919061197e565b50600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611117908590600090869030904290600401611a88565b6000818361133e5760405162461bcd60e51b81526004016104a291906116bf565b506000610f118486611a1a565b610edb838383611379565b6000806000611363611470565b90925090506113728282610a12565b9250505090565b60008060008060008061138b876114ae565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506113bd908761150b565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546113ec908661154d565b6001600160a01b03891660009081526002602052604090205561140e816115ac565b61141884836115f6565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161145d91815260200190565b60405180910390a3505050505050505050565b600854600090819066038d7ea4c6800061148a8282610a12565b8210156114a55750506008549266038d7ea4c6800092509050565b90939092509050565b60008060008060008060008060006114cb8a600a54600b5461161a565b92509250925060006114db611356565b905060008060006114ee8e87878761166f565b919e509c509a509598509396509194505050505091939550919395565b6000610a0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ee0565b60008061155a8385611a3c565b905083811015610a0b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a2565b60006115b6611356565b905060006115c4838361098c565b306000908152600260205260409020549091506115e1908261154d565b30600090815260026020526040902055505050565b600854611603908361150b565b600855600954611613908261154d565b6009555050565b6000808080611634606461162e898961098c565b90610a12565b90506000611647606461162e8a8961098c565b9050600061165f826116598b8661150b565b9061150b565b9992985090965090945050505050565b600080808061167e888661098c565b9050600061168c888761098c565b9050600061169a888861098c565b905060006116ac82611659868661150b565b939b939a50919850919650505050505050565b600060208083528351808285015260005b818110156116ec578581018301518582016040015282016116d0565b818111156116fe576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146104f357600080fd5b803561173481611714565b919050565b6000806040838503121561174c57600080fd5b823561175781611714565b946020939093013593505050565b60008060006060848603121561177a57600080fd5b833561178581611714565b9250602084013561179581611714565b929592945050506040919091013590565b80151581146104f357600080fd5b6000602082840312156117c657600080fd5b8135610a0b816117a6565b6000602082840312156117e357600080fd5b8135610a0b81611714565b60006020828403121561180057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561183057600080fd5b823567ffffffffffffffff8082111561184857600080fd5b818501915085601f83011261185c57600080fd5b81358181111561186e5761186e611807565b8060051b604051601f19603f8301168101818110858211171561189357611893611807565b6040529182528482019250838101850191888311156118b157600080fd5b938501935b828510156118d6576118c785611729565b845293850193928501926118b6565b98975050505050505050565b600080604083850312156118f557600080fd5b823561190081611714565b9150602083013561191081611714565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561196557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561199057600080fd5b8151610a0b816117a6565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156119db576119db6119b1565b5060010190565b6000602082840312156119f457600080fd5b5051919050565b6000816000190483118215151615611a1557611a156119b1565b500290565b600082611a3757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a4f57611a4f6119b1565b500190565b600082821015611a6657611a666119b1565b500390565b600060208284031215611a7d57600080fd5b8151610a0b81611714565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ad85784516001600160a01b031683529383019391830191600101611ab3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220541d2f8af0fd5bd042083175c42f7a052e69dfab7113cb06266403805da7db2b64736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101235760003560e01c8063751039fc116100a0578063c3c8cd8011610064578063c3c8cd8014610353578063c9567bf914610368578063ccfee5d61461037d578063d73e35d11461039d578063dd62ed3e146103b257600080fd5b8063751039fc146102b1578063843f7be2146102c65780638da5cb5b146102e657806395d89b4114610304578063a9059cbb1461033357600080fd5b8063313ce567116100e7578063313ce567146102295780635932ead1146102455780636fc3eaec1461026757806370a082311461027c578063715018a61461029c57600080fd5b806306fdde031461012f578063095ea7b31461017d57806318160ddd146101ad57806323b872dd146101d15780633021e7cc146101f157600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50604080518082019091526013815272566f696365206f66207468652050656f706c6560681b60208201525b60405161017491906116bf565b60405180910390f35b34801561018957600080fd5b5061019d610198366004611739565b6103f8565b6040519015158152602001610174565b3480156101b957600080fd5b5066038d7ea4c680005b604051908152602001610174565b3480156101dd57600080fd5b5061019d6101ec366004611765565b61040f565b3480156101fd57600080fd5b50600e54610211906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b34801561023557600080fd5b5060405160098152602001610174565b34801561025157600080fd5b506102656102603660046117b4565b610478565b005b34801561027357600080fd5b506102656104c9565b34801561028857600080fd5b506101c36102973660046117d1565b6104f6565b3480156102a857600080fd5b50610265610518565b3480156102bd57600080fd5b5061026561058c565b3480156102d257600080fd5b506102656102e13660046117ee565b6105c8565b3480156102f257600080fd5b506000546001600160a01b0316610211565b34801561031057600080fd5b50604080518082019091526006815265564f5844454960d01b6020820152610167565b34801561033f57600080fd5b5061019d61034e366004611739565b610605565b34801561035f57600080fd5b50610265610612565b34801561037457600080fd5b50610265610648565b34801561038957600080fd5b5061026561039836600461181d565b610845565b3480156103a957600080fd5b506102656108db565b3480156103be57600080fd5b506101c36103cd3660046118e2565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000610405338484610a54565b5060015b92915050565b600061041c848484610b78565b61046e843361046985604051806060016040528060288152602001611afa602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ee0565b610a54565b5060019392505050565b6000546001600160a01b031633146104ab5760405162461bcd60e51b81526004016104a29061191b565b60405180910390fd5b60108054911515600160b81b0260ff60b81b19909216919091179055565b600d546001600160a01b0316336001600160a01b0316146104e957600080fd5b476104f381610f1a565b50565b6001600160a01b03811660009081526002602052604081205461040990610f54565b6000546001600160a01b031633146105425760405162461bcd60e51b81526004016104a29061191b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105b65760405162461bcd60e51b81526004016104a29061191b565b66038d7ea4c680006011819055601255565b6000546001600160a01b031633146105f25760405162461bcd60e51b81526004016104a29061191b565b600c54811061060057600080fd5b600c55565b6000610405338484610b78565b600d546001600160a01b0316336001600160a01b03161461063257600080fd5b600061063d306104f6565b90506104f381610fd1565b6000546001600160a01b031633146106725760405162461bcd60e51b81526004016104a29061191b565b601054600160a01b900460ff16156106cc5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a2565b600f546106eb9030906001600160a01b031666038d7ea4c68000610a54565b600f546001600160a01b031663f305d7194730610707816104f6565b6040516001600160e01b031960e086901b1681526001600160a01b0390921660048301526024820152600060448201819052606482015261dead60848201524260a482015260c4016060604051808303818588803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a19190611950565b50506010805463ffff00ff60a01b198116630101000160a01b17909155600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561080d57600080fd5b505af1158015610821573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f3919061197e565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016104a29061191b565b60005b81518110156108d7576001600660008484815181106108935761089361199b565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108cf816119c7565b915050610872565b5050565b6000546001600160a01b031633146109055760405162461bcd60e51b81526004016104a29061191b565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561094957600080fd5b505afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098191906119e2565b90506104f38161115a565b60008261099b57506000610409565b60006109a783856119fb565b9050826109b48583611a1a565b14610a0b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a2565b9392505050565b6000610a0b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061131d565b6001600160a01b038316610ab65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a2565b6001600160a01b038216610b175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a2565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bdc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a2565b6001600160a01b038216610c3e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a2565b60008111610ca05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a2565b6000546001600160a01b03848116911614801590610ccc57506000546001600160a01b03838116911614155b15610ec5576001600160a01b03831660009081526006602052604090205460ff16158015610d1357506001600160a01b03821660009081526006602052604090205460ff16155b610d1c57600080fd5b6000600a55600c54600b556010546001600160a01b038481169116148015610d525750600f546001600160a01b03838116911614155b8015610d7757506001600160a01b03821660009081526005602052604090205460ff16155b8015610d8c5750601054600160b81b900460ff165b15610e4857601154811115610de35760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a2565b60125481610df0846104f6565b610dfa9190611a3c565b1115610e485760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a2565b6000610e53306104f6565b601054909150600160a81b900460ff16158015610e7e57506010546001600160a01b03858116911614155b8015610e935750601054600160b01b900460ff165b8015610e9f5750600081115b15610ebf57610ead81610fd1565b478015610ebd57610ebd47610f1a565b505b50610ed0565b6000600a819055600b555b610edb83838361134b565b505050565b60008184841115610f045760405162461bcd60e51b81526004016104a291906116bf565b506000610f118486611a54565b95945050505050565b600d546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108d7573d6000803e3d6000fd5b6000600854821115610fbb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104a2565b6000610fc5611356565b9050610a0b8382610a12565b6010805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110195761101961199b565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561106d57600080fd5b505afa158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a59190611a6b565b816001815181106110b8576110b861199b565b6001600160a01b039283166020918202929092010152600f546110de9130911684610a54565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611117908590600090869030904290600401611a88565b600060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683375050600e5482519293506001600160a01b0316918391506000906111ae576111ae61199b565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190611a6b565b8160018151811061124d5761124d61199b565b6001600160a01b039283166020918202929092010152600e54600f5460405163095ea7b360e01b815290831660048201526024810185905291169063095ea7b390604401602060405180830381600087803b1580156112ab57600080fd5b505af11580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e3919061197e565b50600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611117908590600090869030904290600401611a88565b6000818361133e5760405162461bcd60e51b81526004016104a291906116bf565b506000610f118486611a1a565b610edb838383611379565b6000806000611363611470565b90925090506113728282610a12565b9250505090565b60008060008060008061138b876114ae565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506113bd908761150b565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546113ec908661154d565b6001600160a01b03891660009081526002602052604090205561140e816115ac565b61141884836115f6565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161145d91815260200190565b60405180910390a3505050505050505050565b600854600090819066038d7ea4c6800061148a8282610a12565b8210156114a55750506008549266038d7ea4c6800092509050565b90939092509050565b60008060008060008060008060006114cb8a600a54600b5461161a565b92509250925060006114db611356565b905060008060006114ee8e87878761166f565b919e509c509a509598509396509194505050505091939550919395565b6000610a0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ee0565b60008061155a8385611a3c565b905083811015610a0b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a2565b60006115b6611356565b905060006115c4838361098c565b306000908152600260205260409020549091506115e1908261154d565b30600090815260026020526040902055505050565b600854611603908361150b565b600855600954611613908261154d565b6009555050565b6000808080611634606461162e898961098c565b90610a12565b90506000611647606461162e8a8961098c565b9050600061165f826116598b8661150b565b9061150b565b9992985090965090945050505050565b600080808061167e888661098c565b9050600061168c888761098c565b9050600061169a888861098c565b905060006116ac82611659868661150b565b939b939a50919850919650505050505050565b600060208083528351808285015260005b818110156116ec578581018301518582016040015282016116d0565b818111156116fe576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146104f357600080fd5b803561173481611714565b919050565b6000806040838503121561174c57600080fd5b823561175781611714565b946020939093013593505050565b60008060006060848603121561177a57600080fd5b833561178581611714565b9250602084013561179581611714565b929592945050506040919091013590565b80151581146104f357600080fd5b6000602082840312156117c657600080fd5b8135610a0b816117a6565b6000602082840312156117e357600080fd5b8135610a0b81611714565b60006020828403121561180057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561183057600080fd5b823567ffffffffffffffff8082111561184857600080fd5b818501915085601f83011261185c57600080fd5b81358181111561186e5761186e611807565b8060051b604051601f19603f8301168101818110858211171561189357611893611807565b6040529182528482019250838101850191888311156118b157600080fd5b938501935b828510156118d6576118c785611729565b845293850193928501926118b6565b98975050505050505050565b600080604083850312156118f557600080fd5b823561190081611714565b9150602083013561191081611714565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561196557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561199057600080fd5b8151610a0b816117a6565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156119db576119db6119b1565b5060010190565b6000602082840312156119f457600080fd5b5051919050565b6000816000190483118215151615611a1557611a156119b1565b500290565b600082611a3757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a4f57611a4f6119b1565b500190565b600082821015611a6657611a666119b1565b500390565b600060208284031215611a7d57600080fd5b8151610a0b81611714565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ad85784516001600160a01b031683529383019391830191600101611ab3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220541d2f8af0fd5bd042083175c42f7a052e69dfab7113cb06266403805da7db2b64736f6c63430008090033
Deployed Bytecode Sourcemap
3817:10971:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5957:83;;;;;;;;;;-1:-1:-1;6027:5:0;;;;;;;;;;;;-1:-1:-1;;;6027:5:0;;;;5957:83;;;;;;;:::i;:::-;;;;;;;;6809:161;;;;;;;;;;-1:-1:-1;6809:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6809:161:0;1211:187:1;6234:95:0;;;;;;;;;;-1:-1:-1;4318:15:0;6234:95;;;1549:25:1;;;1537:2;1522:18;6234:95:0;1403:177:1;6978:313:0;;;;;;;;;;-1:-1:-1;6978:313:0;;;;;:::i;:::-;;:::i;4731:78::-;;;;;;;;;;-1:-1:-1;4731:78:0;;;;-1:-1:-1;;;;;4731:78:0;;;;;;-1:-1:-1;;;;;2223:32:1;;;2205:51;;2193:2;2178:18;4731:78:0;2046:216:1;6143:83:0;;;;;;;;;;-1:-1:-1;6143:83:0;;4721:1;2409:36:1;;2397:2;2382:18;6143:83:0;2267:184:1;7299:103:0;;;;;;;;;;-1:-1:-1;7299:103:0;;;;;:::i;:::-;;:::i;:::-;;12903:193;;;;;;;;;;;;;:::i;6337:138::-;;;;;;;;;;-1:-1:-1;6337:138:0;;;;;:::i;:::-;;:::i;2898:148::-;;;;;;;;;;;;;:::i;10686:118::-;;;;;;;;;;;;;:::i;10547:131::-;;;;;;;;;;-1:-1:-1;10547:131:0;;;;;:::i;:::-;;:::i;2684:79::-;;;;;;;;;;-1:-1:-1;2722:7:0;2749:6;-1:-1:-1;;;;;2749:6:0;2684:79;;6048:87;;;;;;;;;;-1:-1:-1;6120:7:0;;;;;;;;;;;;-1:-1:-1;;;6120:7:0;;;;6048:87;;6483:167;;;;;;;;;;-1:-1:-1;6483:167:0;;;;;:::i;:::-;;:::i;12701:194::-;;;;;;;;;;;;;:::i;10916:541::-;;;;;;;;;;;;;:::i;11469:163::-;;;;;;;;;;-1:-1:-1;11469:163:0;;;;;:::i;:::-;;:::i;10384:155::-;;;;;;;;;;;;;:::i;6658:143::-;;;;;;;;;;-1:-1:-1;6658:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6766:18:0;;;6739:7;6766:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6658:143;6809:161;6884:4;6901:39;482:10;6924:7;6933:6;6901:8;:39::i;:::-;-1:-1:-1;6958:4:0;6809:161;;;;;:::o;6978:313::-;7076:4;7093:36;7103:6;7111:9;7122:6;7093:9;:36::i;:::-;7140:121;7149:6;482:10;7171:89;7209:6;7171:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7171:19:0;;;;;;:11;:19;;;;;;;;482:10;7171:33;;;;;;;;;;:37;:89::i;:::-;7140:8;:121::i;:::-;-1:-1:-1;7279:4:0;6978:313;;;;;:::o;7299:103::-;2811:6;;-1:-1:-1;;;;;2811:6:0;482:10;2811:22;2803:67;;;;-1:-1:-1;;;2803:67:0;;;;;;;:::i;:::-;;;;;;;;;7371:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7371:23:0::1;-1:-1:-1::0;;;;7371:23:0;;::::1;::::0;;;::::1;::::0;;7299:103::o;12903:193::-;12969:14;;-1:-1:-1;;;;;12969:14:0;482:10;-1:-1:-1;;;;;12953:30:0;;12945:39;;;;;;13024:21;13056:32;13024:21;13056:12;:32::i;:::-;12934:162;12903:193::o;6337:138::-;-1:-1:-1;;;;;6450:16:0;;6403:7;6450:16;;;:7;:16;;;;;;6430:37;;:19;:37::i;2898:148::-;2811:6;;-1:-1:-1;;;;;2811:6:0;482:10;2811:22;2803:67;;;;-1:-1:-1;;;2803:67:0;;;;;;;:::i;:::-;3005:1:::1;2989:6:::0;;2968:40:::1;::::0;-1:-1:-1;;;;;2989:6:0;;::::1;::::0;2968:40:::1;::::0;3005:1;;2968:40:::1;3036:1;3019:19:::0;;-1:-1:-1;;;;;;3019:19:0::1;::::0;;2898:148::o;10686:118::-;2811:6;;-1:-1:-1;;;;;2811:6:0;482:10;2811:22;2803:67;;;;-1:-1:-1;;;2803:67:0;;;;;;;:::i;:::-;4318:15:::1;10739:12;:22:::0;;;10772:14:::1;:24:::0;10686:118::o;10547:131::-;2811:6;;-1:-1:-1;;;;;2811:6:0;482:10;2811:22;2803:67;;;;-1:-1:-1;;;2803:67:0;;;;;;;:::i;:::-;10629:12:::1;;10622:6;:19;10614:28;;;::::0;::::1;;10651:12;:19:::0;10547:131::o;6483:167::-;6561:4;6578:42;482:10;6602:9;6613:6;6578:9;:42::i;12701:194::-;12767:14;;-1:-1:-1;;;;;12767:14:0;482:10;-1:-1:-1;;;;;12751:30:0;;12743:39;;;;;;12793:23;12819:24;12837:4;12819:9;:24::i;:::-;12793:50;;12854:33;12871:15;12854:16;:33::i;10916:541::-;2811:6;;-1:-1:-1;;;;;2811:6:0;482:10;2811:22;2803:67;;;;-1:-1:-1;;;2803:67:0;;;;;;;:::i;:::-;10980:11:::1;::::0;-1:-1:-1;;;10980:11:0;::::1;;;10979:12;10971:47;;;::::0;-1:-1:-1;;;10971:47:0;;5684:2:1;10971:47:0::1;::::0;::::1;5666:21:1::0;5723:2;5703:18;;;5696:30;5762:25;5742:18;;;5735:53;5805:18;;10971:47:0::1;5482:347:1::0;10971:47:0::1;11071:15;::::0;11039:58:::1;::::0;11056:4:::1;::::0;-1:-1:-1;;;;;11071:15:0::1;4318;11039:8;:58::i;:::-;11110:15;::::0;-1:-1:-1;;;;;11110:15:0::1;:31;11149:21;11180:4;11186:24;11180:4:::0;11186:9:::1;:24::i;:::-;11110:164;::::0;-1:-1:-1;;;;;;11110:164:0::1;::::0;;;;;;-1:-1:-1;;;;;6193:15:1;;;11110:164:0::1;::::0;::::1;6175:34:1::0;6225:18;;;6218:34;11211:1:0::1;6268:18:1::0;;;6261:34;;;6311:18;;;6304:34;11215:42:0::1;6354:19:1::0;;;6347:44;11258:15:0::1;6407:19:1::0;;;6400:35;6109:19;;11110:164:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11285:11:0::1;:18:::0;;-1:-1:-1;;;;11349:18:0;;-1:-1:-1;;;11349:18:0;;;;11416:15:::1;::::0;11378:71:::1;::::0;-1:-1:-1;;;11378:71:0;;-1:-1:-1;;;;;11416:15:0;;::::1;11378:71;::::0;::::1;6931:51:1::0;-1:-1:-1;;6998:18:1;;;6991:34;11385:13:0;;;-1:-1:-1;11378:29:0::1;::::0;6904:18:1;;11378:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11469:163::-:0;2811:6;;-1:-1:-1;;;;;2811:6:0;482:10;2811:22;2803:67;;;;-1:-1:-1;;;2803:67:0;;;;;;;:::i;:::-;11542:6:::1;11537:88;11558:5;:12;11554:1;:16;11537:88;;;11609:4;11592;:14;11597:5;11603:1;11597:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11592:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11592:14:0;:21;;-1:-1:-1;;11592:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11572:3;::::1;::::0;::::1;:::i;:::-;;;;11537:88;;;;11469:163:::0;:::o;10384:155::-;2811:6;;-1:-1:-1;;;;;2811:6:0;482:10;2811:22;2803:67;;;;-1:-1:-1;;;2803:67:0;;;;;;;:::i;:::-;10453:11:::1;::::0;:36:::1;::::0;-1:-1:-1;;;10453:36:0;;10483:4:::1;10453:36;::::0;::::1;2205:51:1::0;10433:17:0::1;::::0;-1:-1:-1;;;;;10453:11:0::1;::::0;:21:::1;::::0;2178:18:1;;10453:36:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10433:56;;10502:29;10521:9;10502:18;:29::i;1737:246::-:0;1795:7;1819:6;1815:47;;-1:-1:-1;1849:1:0;1842:8;;1815:47;1872:9;1884:5;1888:1;1884;:5;:::i;:::-;1872:17;-1:-1:-1;1917:1:0;1908:5;1912:1;1872:17;1908:5;:::i;:::-;:10;1900:56;;;;-1:-1:-1;;;1900:56:0;;8476:2:1;1900:56:0;;;8458:21:1;8515:2;8495:18;;;8488:30;8554:34;8534:18;;;8527:62;-1:-1:-1;;;8605:18:1;;;8598:31;8646:19;;1900:56:0;8274:397:1;1900:56:0;1974:1;1737:246;-1:-1:-1;;;1737:246:0:o;1991:132::-;2049:7;2076:39;2080:1;2083;2076:39;;;;;;;;;;;;;;;;;:3;:39::i;7672:335::-;-1:-1:-1;;;;;7765:19:0;;7757:68;;;;-1:-1:-1;;;7757:68:0;;8878:2:1;7757:68:0;;;8860:21:1;8917:2;8897:18;;;8890:30;8956:34;8936:18;;;8929:62;-1:-1:-1;;;9007:18:1;;;9000:34;9051:19;;7757:68:0;8676:400:1;7757:68:0;-1:-1:-1;;;;;7844:21:0;;7836:68;;;;-1:-1:-1;;;7836:68:0;;9283:2:1;7836:68:0;;;9265:21:1;9322:2;9302:18;;;9295:30;9361:34;9341:18;;;9334:62;-1:-1:-1;;;9412:18:1;;;9405:32;9454:19;;7836:68:0;9081:398:1;7836:68:0;-1:-1:-1;;;;;7915:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7967:32;;1549:25:1;;;7967:32:0;;1522:18:1;7967:32:0;;;;;;;7672:335;;;:::o;8015:1374::-;-1:-1:-1;;;;;8103:18:0;;8095:68;;;;-1:-1:-1;;;8095:68:0;;9686:2:1;8095:68:0;;;9668:21:1;9725:2;9705:18;;;9698:30;9764:34;9744:18;;;9737:62;-1:-1:-1;;;9815:18:1;;;9808:35;9860:19;;8095:68:0;9484:401:1;8095:68:0;-1:-1:-1;;;;;8182:16:0;;8174:64;;;;-1:-1:-1;;;8174:64:0;;10092:2:1;8174:64:0;;;10074:21:1;10131:2;10111:18;;;10104:30;10170:34;10150:18;;;10143:62;-1:-1:-1;;;10221:18:1;;;10214:33;10264:19;;8174:64:0;9890:399:1;8174:64:0;8266:1;8257:6;:10;8249:64;;;;-1:-1:-1;;;8249:64:0;;10496:2:1;8249:64:0;;;10478:21:1;10535:2;10515:18;;;10508:30;10574:34;10554:18;;;10547:62;-1:-1:-1;;;10625:18:1;;;10618:39;10674:19;;8249:64:0;10294:405:1;8249:64:0;2722:7;2749:6;-1:-1:-1;;;;;8332:15:0;;;2749:6;;8332:15;;;;:32;;-1:-1:-1;2722:7:0;2749:6;-1:-1:-1;;;;;8351:13:0;;;2749:6;;8351:13;;8332:32;8328:1011;;;-1:-1:-1;;;;;8390:10:0;;;;;;:4;:10;;;;;;;;8389:11;:24;;;;-1:-1:-1;;;;;;8405:8:0;;;;;;:4;:8;;;;;;;;8404:9;8389:24;8381:33;;;;;;8441:1;8429:9;:13;8469:12;;8457:9;:24;8508:13;;-1:-1:-1;;;;;8500:21:0;;;8508:13;;8500:21;:55;;;;-1:-1:-1;8539:15:0;;-1:-1:-1;;;;;8525:30:0;;;8539:15;;8525:30;;8500:55;:83;;;;-1:-1:-1;;;;;;8561:22:0;;;;;;:18;:22;;;;;;;;8559:24;8500:83;:102;;;;-1:-1:-1;8587:15:0;;-1:-1:-1;;;8587:15:0;;;;8500:102;8496:332;;;8670:12;;8660:6;:22;;8652:60;;;;-1:-1:-1;;;8652:60:0;;10906:2:1;8652:60:0;;;10888:21:1;10945:2;10925:18;;;10918:30;10984:27;10964:18;;;10957:55;11029:18;;8652:60:0;10704:349:1;8652:60:0;8765:14;;8755:6;8739:13;8749:2;8739:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8731:79;;;;-1:-1:-1;;;8731:79:0;;11393:2:1;8731:79:0;;;11375:21:1;11432:2;11412:18;;;11405:30;11471:28;11451:18;;;11444:56;11517:18;;8731:79:0;11191:350:1;8731:79:0;8846:28;8877:24;8895:4;8877:9;:24::i;:::-;8921:6;;8846:55;;-1:-1:-1;;;;8921:6:0;;;;8920:7;:32;;;;-1:-1:-1;8939:13:0;;-1:-1:-1;;;;;8931:21:0;;;8939:13;;8931:21;;8920:32;:47;;;;-1:-1:-1;8956:11:0;;-1:-1:-1;;;8956:11:0;;;;8920:47;:73;;;;;8992:1;8971:20;:22;8920:73;8916:344;;;9014:38;9031:20;9014:16;:38::i;:::-;9100:21;9143:22;;9140:105;;9190:35;9203:21;9190:12;:35::i;:::-;8995:265;8916:344;8366:905;8328:1011;;;9300:1;9288:9;:13;;;9314:9;:13;8328:1011;9351:30;9366:4;9371:2;9374:6;9351:14;:30::i;:::-;8015:1374;;;:::o;1539:190::-;1625:7;1661:12;1653:6;;;;1645:29;;;;-1:-1:-1;;;1645:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1685:9:0;1697:5;1701:1;1697;:5;:::i;:::-;1685:17;1539:190;-1:-1:-1;;;;;1539:190:0:o;10812:96::-;10869:14;;:31;;-1:-1:-1;;;;;10869:14:0;;;;:31;;;;;10893:6;;10869:14;:31;:14;:31;10893:6;10869:14;:31;;;;;;;;;;;;;;;;;;;7410:254;7477:7;7516;;7505;:18;;7497:73;;;;-1:-1:-1;;;7497:73:0;;11878:2:1;7497:73:0;;;11860:21:1;11917:2;11897:18;;;11890:30;11956:34;11936:18;;;11929:62;-1:-1:-1;;;12007:18:1;;;12000:40;12057:19;;7497:73:0;11676:406:1;7497:73:0;7581:19;7604:10;:8;:10::i;:::-;7581:33;-1:-1:-1;7632:24:0;:7;7581:33;7632:11;:24::i;9397:483::-;5256:6;:13;;-1:-1:-1;;;;5256:13:0;-1:-1:-1;;;5256:13:0;;;9499:16:::1;::::0;;9513:1:::1;9499:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9499:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9499:16:0::1;9475:40;;9544:4;9526;9531:1;9526:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9526:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9570:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9570:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9526:7;;9570:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9560:4;9565:1;9560:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9560:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9635:15:::1;::::0;9603:62:::1;::::0;9620:4:::1;::::0;9635:15:::1;9653:11:::0;9603:8:::1;:62::i;:::-;9676:15;::::0;:196:::1;::::0;-1:-1:-1;;;9676:196:0;;-1:-1:-1;;;;;9676:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9757:11;;9676:15:::1;::::0;9799:4;;9826::::1;::::0;9846:15:::1;::::0;9676:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5292:6:0;:14;;-1:-1:-1;;;;5292:14:0;;;-1:-1:-1;;;;9397:483:0:o;9888:488::-;5256:6;:13;;-1:-1:-1;;;;5256:13:0;-1:-1:-1;;;5256:13:0;;;9992:16:::1;::::0;;10006:1:::1;9992:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9992:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;10037:11:0::1;::::0;10019:7;;;;-1:-1:-1;;;;;;10037:11:0::1;::::0;10019:7;;-1:-1:-1;10037:11:0::1;::::0;10019:7:::1;;;;:::i;:::-;-1:-1:-1::0;;;;;10019:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;10070:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10070:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10019:7;;10070:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10060:4;10065:1;10060:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10060:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10103:11:::1;::::0;10131:15:::1;::::0;10103:58:::1;::::0;-1:-1:-1;;;10103:58:0;;10131:15;;::::1;10103:58;::::0;::::1;6931:51:1::0;6998:18;;;6991:34;;;10103:11:0;::::1;::::0;:19:::1;::::0;6904:18:1;;10103:58:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10172:15:0::1;::::0;:196:::1;::::0;-1:-1:-1;;;10172:196:0;;-1:-1:-1;;;;;10172:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10253:11;;10172:15:::1;::::0;10295:4;;10322::::1;::::0;10342:15:::1;::::0;10172:196:::1;;;:::i;2131:189::-:0;2217:7;2252:12;2245:5;2237:28;;;;-1:-1:-1;;;2237:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2276:9:0;2288:5;2292:1;2288;:5;:::i;11640:146::-;11734:44;11752:6;11760:9;11771:6;11734:17;:44::i;14358:163::-;14399:7;14420:15;14437;14456:19;:17;:19::i;:::-;14419:56;;-1:-1:-1;14419:56:0;-1:-1:-1;14493:20:0;14419:56;;14493:11;:20::i;:::-;14486:27;;;;14358:163;:::o;11794:487::-;11893:15;11910:23;11935:12;11949:23;11974:12;11988:13;12005:19;12016:7;12005:10;:19::i;:::-;-1:-1:-1;;;;;12053:15:0;;;;;;:7;:15;;;;;;11892:132;;-1:-1:-1;11892:132:0;;-1:-1:-1;11892:132:0;;-1:-1:-1;11892:132:0;-1:-1:-1;11892:132:0;-1:-1:-1;11892:132:0;-1:-1:-1;12053:28:0;;11892:132;12053:19;:28::i;:::-;-1:-1:-1;;;;;12035:15:0;;;;;;;:7;:15;;;;;;:46;;;;12113:18;;;;;;;:39;;12136:15;12113:22;:39::i;:::-;-1:-1:-1;;;;;12092:18:0;;;;;;:7;:18;;;;;:60;12163:16;12173:5;12163:9;:16::i;:::-;12190:23;12202:4;12208;12190:11;:23::i;:::-;12246:9;-1:-1:-1;;;;;12229:44:0;12238:6;-1:-1:-1;;;;;12229:44:0;;12257:15;12229:44;;;;1549:25:1;;1537:2;1522:18;;1403:177;12229:44:0;;;;;;;;11881:400;;;;;;11794:487;;;:::o;14529:256::-;14626:7;;14579;;;;4318:15;14694:20;14626:7;4318:15;14694:11;:20::i;:::-;14684:7;:30;14680:61;;;-1:-1:-1;;14724:7:0;;;4318:15;;-1:-1:-1;14529:256:0;-1:-1:-1;14529:256:0:o;14680:61::-;14760:7;;14769;;-1:-1:-1;14529:256:0;-1:-1:-1;14529:256:0:o;13106:471::-;13165:7;13174;13183;13192;13201;13210;13231:23;13256:12;13270:13;13287:42;13299:7;13308:9;;13319;;13287:11;:42::i;:::-;13230:99;;;;;;13340:19;13363:10;:8;:10::i;:::-;13340:33;;13385:15;13402:23;13427:12;13443:46;13455:7;13464:4;13470:5;13477:11;13443;:46::i;:::-;13384:105;;-1:-1:-1;13384:105:0;-1:-1:-1;13384:105:0;-1:-1:-1;13540:15:0;;-1:-1:-1;13557:4:0;;-1:-1:-1;13563:5:0;;-1:-1:-1;;;;;13106:471:0;;;;;;;:::o;1395:136::-;1453:7;1480:43;1484:1;1487;1480:43;;;;;;;;;;;;;;;;;:3;:43::i;1208:179::-;1266:7;;1298:5;1302:1;1298;:5;:::i;:::-;1286:17;;1327:1;1322;:6;;1314:46;;;;-1:-1:-1;;;1314:46:0;;13530:2:1;1314:46:0;;;13512:21:1;13569:2;13549:18;;;13542:30;13608:29;13588:18;;;13581:57;13655:18;;1314:46:0;13328:351:1;12289:212:0;12342:19;12365:10;:8;:10::i;:::-;12342:33;-1:-1:-1;12386:13:0;12402:22;:5;12342:33;12402:9;:22::i;:::-;12476:4;12460:22;;;;:7;:22;;;;;;12386:38;;-1:-1:-1;12460:33:0;;12386:38;12460:26;:33::i;:::-;12451:4;12435:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12289:212:0:o;12509:147::-;12587:7;;:17;;12599:4;12587:11;:17::i;:::-;12577:7;:27;12628:10;;:20;;12643:4;12628:14;:20::i;:::-;12615:10;:33;-1:-1:-1;;12509:147:0:o;13585:351::-;13678:7;;;;13731:28;13755:3;13731:19;:7;13743:6;13731:11;:19::i;:::-;:23;;:28::i;:::-;13716:43;-1:-1:-1;13770:13:0;13786:29;13811:3;13786:20;:7;13798;13786:11;:20::i;:29::-;13770:45;-1:-1:-1;13826:23:0;13852:28;13770:45;13852:17;:7;13864:4;13852:11;:17::i;:::-;:21;;:28::i;:::-;13826:54;13916:4;;-1:-1:-1;13922:5:0;;-1:-1:-1;13585:351:0;;-1:-1:-1;;;;;13585:351:0:o;13944:409::-;14054:7;;;;14110:24;:7;14122:11;14110;:24::i;:::-;14092:42;-1:-1:-1;14145:12:0;14160:21;:4;14169:11;14160:8;:21::i;:::-;14145:36;-1:-1:-1;14192:13:0;14208:22;:5;14218:11;14208:9;:22::i;:::-;14192:38;-1:-1:-1;14241:23:0;14267:28;14192:38;14267:17;:7;14279:4;14267:11;:17::i;:28::-;14314:7;;;;-1:-1:-1;14340:4:0;;-1:-1:-1;13944:409:0;;-1:-1:-1;;;;;;;13944:409:0:o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;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:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2456:118::-;2542:5;2535:13;2528:21;2521:5;2518:32;2508:60;;2564:1;2561;2554:12;2579:241;2635:6;2688:2;2676:9;2667:7;2663:23;2659:32;2656:52;;;2704:1;2701;2694:12;2656:52;2743:9;2730:23;2762:28;2784:5;2762:28;:::i;2825:247::-;2884:6;2937:2;2925:9;2916:7;2912:23;2908:32;2905:52;;;2953:1;2950;2943:12;2905:52;2992:9;2979:23;3011:31;3036:5;3011:31;:::i;3077:180::-;3136:6;3189:2;3177:9;3168:7;3164:23;3160:32;3157:52;;;3205:1;3202;3195:12;3157:52;-1:-1:-1;3228:23:1;;3077:180;-1:-1:-1;3077:180:1:o;3470:127::-;3531:10;3526:3;3522:20;3519:1;3512:31;3562:4;3559:1;3552:15;3586:4;3583:1;3576:15;3602:1121;3686:6;3717:2;3760;3748:9;3739:7;3735:23;3731:32;3728:52;;;3776:1;3773;3766:12;3728:52;3816:9;3803:23;3845:18;3886:2;3878:6;3875:14;3872:34;;;3902:1;3899;3892:12;3872:34;3940:6;3929:9;3925:22;3915:32;;3985:7;3978:4;3974:2;3970:13;3966:27;3956:55;;4007:1;4004;3997:12;3956:55;4043:2;4030:16;4065:2;4061;4058:10;4055:36;;;4071:18;;:::i;:::-;4117:2;4114:1;4110:10;4149:2;4143:9;4212:2;4208:7;4203:2;4199;4195:11;4191:25;4183:6;4179:38;4267:6;4255:10;4252:22;4247:2;4235:10;4232:18;4229:46;4226:72;;;4278:18;;:::i;:::-;4314:2;4307:22;4364:18;;;4398:15;;;;-1:-1:-1;4440:11:1;;;4436:20;;;4468:19;;;4465:39;;;4500:1;4497;4490:12;4465:39;4524:11;;;;4544:148;4560:6;4555:3;4552:15;4544:148;;;4626:23;4645:3;4626:23;:::i;:::-;4614:36;;4577:12;;;;4670;;;;4544:148;;;4711:6;3602:1121;-1:-1:-1;;;;;;;;3602:1121:1:o;4728:388::-;4796:6;4804;4857:2;4845:9;4836:7;4832:23;4828:32;4825:52;;;4873:1;4870;4863:12;4825:52;4912:9;4899:23;4931:31;4956:5;4931:31;:::i;:::-;4981:5;-1:-1:-1;5038:2:1;5023:18;;5010:32;5051:33;5010:32;5051:33;:::i;:::-;5103:7;5093:17;;;4728:388;;;;;:::o;5121:356::-;5323:2;5305:21;;;5342:18;;;5335:30;5401:34;5396:2;5381:18;;5374:62;5468:2;5453:18;;5121:356::o;6446:306::-;6534:6;6542;6550;6603:2;6591:9;6582:7;6578:23;6574:32;6571:52;;;6619:1;6616;6609:12;6571:52;6648:9;6642:16;6632:26;;6698:2;6687:9;6683:18;6677:25;6667:35;;6742:2;6731:9;6727:18;6721:25;6711:35;;6446:306;;;;;:::o;7036:245::-;7103:6;7156:2;7144:9;7135:7;7131:23;7127:32;7124:52;;;7172:1;7169;7162:12;7124:52;7204:9;7198:16;7223:28;7245:5;7223:28;:::i;7286:127::-;7347:10;7342:3;7338:20;7335:1;7328:31;7378:4;7375:1;7368:15;7402:4;7399:1;7392:15;7418:127;7479:10;7474:3;7470:20;7467:1;7460:31;7510:4;7507:1;7500:15;7534:4;7531:1;7524:15;7550:135;7589:3;-1:-1:-1;;7610:17:1;;7607:43;;;7630:18;;:::i;:::-;-1:-1:-1;7677:1:1;7666:13;;7550:135::o;7690:184::-;7760:6;7813:2;7801:9;7792:7;7788:23;7784:32;7781:52;;;7829:1;7826;7819:12;7781:52;-1:-1:-1;7852:16:1;;7690:184;-1:-1:-1;7690:184:1:o;7879:168::-;7919:7;7985:1;7981;7977:6;7973:14;7970:1;7967:21;7962:1;7955:9;7948:17;7944:45;7941:71;;;7992:18;;:::i;:::-;-1:-1:-1;8032:9:1;;7879:168::o;8052:217::-;8092:1;8118;8108:132;;8162:10;8157:3;8153:20;8150:1;8143:31;8197:4;8194:1;8187:15;8225:4;8222:1;8215:15;8108:132;-1:-1:-1;8254:9:1;;8052:217::o;11058:128::-;11098:3;11129:1;11125:6;11122:1;11119:13;11116:39;;;11135:18;;:::i;:::-;-1:-1:-1;11171:9:1;;11058:128::o;11546:125::-;11586:4;11614:1;11611;11608:8;11605:34;;;11619:18;;:::i;:::-;-1:-1:-1;11656:9:1;;11546:125::o;12087:251::-;12157:6;12210:2;12198:9;12189:7;12185:23;12181:32;12178:52;;;12226:1;12223;12216:12;12178:52;12258:9;12252:16;12277:31;12302:5;12277:31;:::i;12343:980::-;12605:4;12653:3;12642:9;12638:19;12684:6;12673:9;12666:25;12710:2;12748:6;12743:2;12732:9;12728:18;12721:34;12791:3;12786:2;12775:9;12771:18;12764:31;12815:6;12850;12844:13;12881:6;12873;12866:22;12919:3;12908:9;12904:19;12897:26;;12958:2;12950:6;12946:15;12932:29;;12979:1;12989:195;13003:6;13000:1;12997:13;12989:195;;;13068:13;;-1:-1:-1;;;;;13064:39:1;13052:52;;13159:15;;;;13124:12;;;;13100:1;13018:9;12989:195;;;-1:-1:-1;;;;;;;13240:32:1;;;;13235:2;13220:18;;13213:60;-1:-1:-1;;;13304:3:1;13289:19;13282:35;13201:3;12343:980;-1:-1:-1;;;12343:980:1:o
Swarm Source
ipfs://541d2f8af0fd5bd042083175c42f7a052e69dfab7113cb06266403805da7db2b
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.