Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 265 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21594395 | 32 mins ago | IN | 0 ETH | 0.00094987 | ||||
Approve | 21594383 | 35 mins ago | IN | 0 ETH | 0.00036322 | ||||
Approve | 21593895 | 2 hrs ago | IN | 0 ETH | 0.00030889 | ||||
Approve | 21593052 | 5 hrs ago | IN | 0 ETH | 0.00029725 | ||||
Approve | 21591785 | 9 hrs ago | IN | 0 ETH | 0.00017802 | ||||
Approve | 21591647 | 9 hrs ago | IN | 0 ETH | 0.00008768 | ||||
Approve | 21591460 | 10 hrs ago | IN | 0 ETH | 0.0002646 | ||||
Approve | 21590428 | 13 hrs ago | IN | 0 ETH | 0.00034108 | ||||
Approve | 21590106 | 14 hrs ago | IN | 0 ETH | 0.00031413 | ||||
Approve | 21589981 | 15 hrs ago | IN | 0 ETH | 0.00056268 | ||||
Approve | 21589723 | 16 hrs ago | IN | 0 ETH | 0.00051718 | ||||
Approve | 21589562 | 16 hrs ago | IN | 0 ETH | 0.00054621 | ||||
Approve | 21589562 | 16 hrs ago | IN | 0 ETH | 0.00054621 | ||||
Approve | 21589562 | 16 hrs ago | IN | 0 ETH | 0.00054621 | ||||
Approve | 21589513 | 16 hrs ago | IN | 0 ETH | 0.0004817 | ||||
Approve | 21589472 | 17 hrs ago | IN | 0 ETH | 0.00056117 | ||||
Approve | 21589406 | 17 hrs ago | IN | 0 ETH | 0.00079019 | ||||
Approve | 21589392 | 17 hrs ago | IN | 0 ETH | 0.00071941 | ||||
Approve | 21589329 | 17 hrs ago | IN | 0 ETH | 0.0008108 | ||||
Approve | 21589317 | 17 hrs ago | IN | 0 ETH | 0.0007292 | ||||
Approve | 21589257 | 17 hrs ago | IN | 0 ETH | 0.00064626 | ||||
Approve | 21589205 | 17 hrs ago | IN | 0 ETH | 0.00048969 | ||||
Approve | 21589202 | 17 hrs ago | IN | 0 ETH | 0.00044974 | ||||
Approve | 21589158 | 18 hrs ago | IN | 0 ETH | 0.00052333 | ||||
Approve | 21589105 | 18 hrs ago | IN | 0 ETH | 0.00107131 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21593055 | 5 hrs ago | 0.00505183 ETH | ||||
21593055 | 5 hrs ago | 0.00505183 ETH | ||||
21592575 | 6 hrs ago | 0.00767085 ETH | ||||
21592575 | 6 hrs ago | 0.00767085 ETH | ||||
21590996 | 11 hrs ago | 0.0063615 ETH | ||||
21590996 | 11 hrs ago | 0.0063615 ETH | ||||
21590241 | 14 hrs ago | 0.00869244 ETH | ||||
21590241 | 14 hrs ago | 0.00869244 ETH | ||||
21590107 | 14 hrs ago | 0.00554235 ETH | ||||
21590107 | 14 hrs ago | 0.00554235 ETH | ||||
21589513 | 16 hrs ago | 0.01467094 ETH | ||||
21589513 | 16 hrs ago | 0.01467094 ETH | ||||
21589396 | 17 hrs ago | 0.00549511 ETH | ||||
21589396 | 17 hrs ago | 0.00549511 ETH | ||||
21589317 | 17 hrs ago | 0.00858876 ETH | ||||
21589317 | 17 hrs ago | 0.00858876 ETH | ||||
21589257 | 17 hrs ago | 0.00635624 ETH | ||||
21589257 | 17 hrs ago | 0.00635624 ETH | ||||
21589179 | 18 hrs ago | 0.00784476 ETH | ||||
21589179 | 18 hrs ago | 0.00784476 ETH | ||||
21589174 | 18 hrs ago | 0.01570402 ETH | ||||
21589174 | 18 hrs ago | 0.01570402 ETH | ||||
21589164 | 18 hrs ago | 0.01063592 ETH | ||||
21589164 | 18 hrs ago | 0.01063592 ETH | ||||
21589133 | 18 hrs ago | 0.00664586 ETH |
Loading...
Loading
Contract Name:
AltAgentAI
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-07 */ // SPDX-License-Identifier: MIT /* </>AltAgent AI</> A no-code platform designed for seamless AI model fine-tuning. Train, deploy, and monetize AI models efficiently through an integrated marketplace. Telegram : https://t.me/AltAgent_AI Website : https://altagent.studio Twitter : https://x.com/AltAgentAI */ pragma solidity ^0.8.19; 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 AltAgentAI is Context, IERC20, Ownable { uint8 private constant _decimals = 18; using SafeMath for uint256; string private constant _name = "AltAgent AI"; string private constant _symbol = "ALTGN"; 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 = 100000000 * 10 ** 18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 5; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 5; uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; address payable private _marketingWalletAddress = payable(0xcbddD359E2531665B6a4A1c46D91E19c9b63CafC); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private openTrading = false; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 500000 * 10 ** 18; uint256 public _maxWalletSize = 1000000 * 10 ** 18; uint256 public _swapTokensAtAmount = 100000 * 10 ** 18; 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[_marketingWalletAddress] = 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 (!openTrading) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } 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 { _marketingWalletAddress.transfer(amount); } function setTrading() public onlyOwner { openTrading = true; _redisFeeOnBuy = 0; _taxFeeOnBuy = 20; _redisFeeOnSell = 0; _taxFeeOnSell = 20; } function manualswap() external { require(_msgSender() == _marketingWalletAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _marketingWalletAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } 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 <= 20, "Buy rewards must be between 0% and 20%"); require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 20, "Buy tax must be between 0% and 20%"); require(redisFeeOnSell >= 0 && redisFeeOnSell <= 20, "Sell rewards must be between 0% and 20%"); require(taxFeeOnSell >= 0 && taxFeeOnSell <= 20, "Sell tax must be between 0% and 20%"); _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function removeLimits() public onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; } }
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":"_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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","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":[],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001d6a52b7d2dcc80cd2e400000060001962000356565b6200002b9060001962000379565b6006556000600881905560056009819055600a829055600b819055600c829055600d819055600e91909155600f55601080546001600160a01b03191673cbddd359e2531665b6a4a1c46d91e19c9b63cafc1790556012805462ffffff60a01b1916600160b01b1790556969e10de76676d080000060135569d3c21bcecceda100000060145569152d02c7e14af6800000601555348015620000cb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000189573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001af9190620003a1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002239190620003a1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000271573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002979190620003a1565b601280546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601054909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e40000006040516200034791815260200190565b60405180910390a350620003d3565b6000826200037457634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200039b57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003b457600080fd5b81516001600160a01b0381168114620003cc57600080fd5b9392505050565b6118b080620003e36000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b411461034d578063a2a957bb1461037b578063a9059cbb1461039b578063c3c8cd80146103bb578063dd62ed3e146103d0578063f2fde38b1461041657600080fd5b8063751039fc146102d95780637c519ffb146102ee5780637d1db4a5146103035780638da5cb5b146103195780638f9a55c01461033757600080fd5b80632fd689e3116100fd5780632fd689e31461023b578063313ce5671461025157806349bd5a5e1461026d5780636fc3eaec1461028d57806370a08231146102a4578063715018a6146102c457600080fd5b806306fdde0314610145578063095ea7b31461018b5780631694505e146101bb57806318160ddd146101f357806323b872dd1461021b57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600b81526a416c744167656e7420414960a81b60208201525b60405161018291906115ac565b60405180910390f35b34801561019757600080fd5b506101ab6101a636600461160f565b610436565b6040519015158152602001610182565b3480156101c757600080fd5b506011546101db906001600160a01b031681565b6040516001600160a01b039091168152602001610182565b3480156101ff57600080fd5b506a52b7d2dcc80cd2e40000005b604051908152602001610182565b34801561022757600080fd5b506101ab61023636600461163b565b61044d565b34801561024757600080fd5b5061020d60155481565b34801561025d57600080fd5b5060405160128152602001610182565b34801561027957600080fd5b506012546101db906001600160a01b031681565b34801561029957600080fd5b506102a26104b6565b005b3480156102b057600080fd5b5061020d6102bf36600461167c565b6104e3565b3480156102d057600080fd5b506102a2610505565b3480156102e557600080fd5b506102a2610582565b3480156102fa57600080fd5b506102a26105c2565b34801561030f57600080fd5b5061020d60135481565b34801561032557600080fd5b506000546001600160a01b03166101db565b34801561034357600080fd5b5061020d60145481565b34801561035957600080fd5b5060408051808201909152600581526420a62a23a760d91b6020820152610175565b34801561038757600080fd5b506102a2610396366004611699565b610618565b3480156103a757600080fd5b506101ab6103b636600461160f565b6107d0565b3480156103c757600080fd5b506102a26107dd565b3480156103dc57600080fd5b5061020d6103eb3660046116cb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561042257600080fd5b506102a261043136600461167c565b610813565b60006104433384846108fd565b5060015b92915050565b600061045a848484610a21565b6104ac84336104a785604051806060016040528060288152602001611853602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e77565b6108fd565b5060019392505050565b6010546001600160a01b0316336001600160a01b0316146104d657600080fd5b476104e081610eb1565b50565b6001600160a01b03811660009081526002602052604081205461044790610eef565b6000546001600160a01b031633146105385760405162461bcd60e51b815260040161052f90611704565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105ac5760405162461bcd60e51b815260040161052f90611704565b6a52b7d2dcc80cd2e40000006013819055601455565b6000546001600160a01b031633146105ec5760405162461bcd60e51b815260040161052f90611704565b6012805460ff60a01b1916600160a01b1790556000600881905560146009819055600a91909155600b55565b6000546001600160a01b031633146106425760405162461bcd60e51b815260040161052f90611704565b60148411156106a25760405162461bcd60e51b815260206004820152602660248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152656e642032302560d01b606482015260840161052f565b60148211156106fe5760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642032604482015261302560f01b606482015260840161052f565b601483111561075f5760405162461bcd60e51b815260206004820152602760248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015266616e642032302560c81b606482015260840161052f565b60148111156107bc5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526232302560e81b606482015260840161052f565b600893909355600a91909155600955600b55565b6000610443338484610a21565b6010546001600160a01b0316336001600160a01b0316146107fd57600080fd5b6000610808306104e3565b90506104e081610f73565b6000546001600160a01b0316331461083d5760405162461bcd60e51b815260040161052f90611704565b6001600160a01b0381166108a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661095f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052f565b6001600160a01b0382166109c05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052f565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a855760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052f565b6001600160a01b038216610ae75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052f565b60008111610b495760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052f565b6000546001600160a01b03848116911614801590610b7557506000546001600160a01b03838116911614155b15610d6a57601254600160a01b900460ff16610c0e576000546001600160a01b03848116911614610c0e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161052f565b6012546001600160a01b03838116911614610c935760145481610c30846104e3565b610c3a919061174f565b10610c935760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161052f565b6000610c9e306104e3565b601554601354919250821015908210610cb75760135491505b808015610cce5750601254600160a81b900460ff16155b8015610ce857506012546001600160a01b03868116911614155b8015610cfd5750601254600160b01b900460ff165b8015610d2257506001600160a01b03851660009081526005602052604090205460ff16155b8015610d4757506001600160a01b03841660009081526005602052604090205460ff16155b15610d6757610d5582610f73565b478015610d6557610d6547610eb1565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610dac57506001600160a01b03831660009081526005602052604090205460ff165b80610dde57506012546001600160a01b03858116911614801590610dde57506012546001600160a01b03848116911614155b15610deb57506000610e65565b6012546001600160a01b038581169116148015610e1657506011546001600160a01b03848116911614155b15610e2857600854600c55600954600d555b6012546001600160a01b038481169116148015610e5357506011546001600160a01b03858116911614155b15610e6557600a54600c55600b54600d555b610e71848484846110ed565b50505050565b60008184841115610e9b5760405162461bcd60e51b815260040161052f91906115ac565b506000610ea88486611762565b95945050505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610eeb573d6000803e3d6000fd5b5050565b6000600654821115610f565760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161052f565b6000610f6061111b565b9050610f6c838261113e565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fbb57610fbb611775565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611014573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611038919061178b565b8160018151811061104b5761104b611775565b6001600160a01b03928316602091820292909201015260115461107191309116846108fd565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906110aa9085906000908690309042906004016117a8565b600060405180830381600087803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b806110fa576110fa611180565b6111058484846111ae565b80610e7157610e71600e54600c55600f54600d55565b60008060006111286112a5565b9092509050611137828261113e565b9250505090565b6000610f6c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112eb565b600c541580156111905750600d54155b1561119757565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806111c087611319565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111f29087611376565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461122190866113b8565b6001600160a01b03891660009081526002602052604090205561124381611417565b61124d8483611461565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161129291815260200190565b60405180910390a3505050505050505050565b60065460009081906a52b7d2dcc80cd2e40000006112c3828261113e565b8210156112e2575050600654926a52b7d2dcc80cd2e400000092509050565b90939092509050565b6000818361130c5760405162461bcd60e51b815260040161052f91906115ac565b506000610ea88486611819565b60008060008060008060008060006113368a600c54600d54611485565b925092509250600061134661111b565b905060008060006113598e8787876114da565b919e509c509a509598509396509194505050505091939550919395565b6000610f6c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6000806113c5838561174f565b905083811015610f6c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052f565b600061142161111b565b9050600061142f838361152a565b3060009081526002602052604090205490915061144c90826113b8565b30600090815260026020526040902055505050565b60065461146e9083611376565b60065560075461147e90826113b8565b6007555050565b600080808061149f6064611499898961152a565b9061113e565b905060006114b260646114998a8961152a565b905060006114ca826114c48b86611376565b90611376565b9992985090965090945050505050565b60008080806114e9888661152a565b905060006114f7888761152a565b90506000611505888861152a565b90506000611517826114c48686611376565b939b939a50919850919650505050505050565b60008260000361153c57506000610447565b6000611548838561183b565b9050826115558583611819565b14610f6c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052f565b600060208083528351808285015260005b818110156115d9578581018301518582016040015282016115bd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104e057600080fd5b6000806040838503121561162257600080fd5b823561162d816115fa565b946020939093013593505050565b60008060006060848603121561165057600080fd5b833561165b816115fa565b9250602084013561166b816115fa565b929592945050506040919091013590565b60006020828403121561168e57600080fd5b8135610f6c816115fa565b600080600080608085870312156116af57600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156116de57600080fd5b82356116e9816115fa565b915060208301356116f9816115fa565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561044757610447611739565b8181038181111561044757610447611739565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561179d57600080fd5b8151610f6c816115fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117f85784516001600160a01b0316835293830193918301916001016117d3565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261183657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176104475761044761173956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220562388c8de50261d20a71efd3cfd73b3ad36e92d1362288f0b021d766c5d2a3d64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b411461034d578063a2a957bb1461037b578063a9059cbb1461039b578063c3c8cd80146103bb578063dd62ed3e146103d0578063f2fde38b1461041657600080fd5b8063751039fc146102d95780637c519ffb146102ee5780637d1db4a5146103035780638da5cb5b146103195780638f9a55c01461033757600080fd5b80632fd689e3116100fd5780632fd689e31461023b578063313ce5671461025157806349bd5a5e1461026d5780636fc3eaec1461028d57806370a08231146102a4578063715018a6146102c457600080fd5b806306fdde0314610145578063095ea7b31461018b5780631694505e146101bb57806318160ddd146101f357806323b872dd1461021b57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152600b81526a416c744167656e7420414960a81b60208201525b60405161018291906115ac565b60405180910390f35b34801561019757600080fd5b506101ab6101a636600461160f565b610436565b6040519015158152602001610182565b3480156101c757600080fd5b506011546101db906001600160a01b031681565b6040516001600160a01b039091168152602001610182565b3480156101ff57600080fd5b506a52b7d2dcc80cd2e40000005b604051908152602001610182565b34801561022757600080fd5b506101ab61023636600461163b565b61044d565b34801561024757600080fd5b5061020d60155481565b34801561025d57600080fd5b5060405160128152602001610182565b34801561027957600080fd5b506012546101db906001600160a01b031681565b34801561029957600080fd5b506102a26104b6565b005b3480156102b057600080fd5b5061020d6102bf36600461167c565b6104e3565b3480156102d057600080fd5b506102a2610505565b3480156102e557600080fd5b506102a2610582565b3480156102fa57600080fd5b506102a26105c2565b34801561030f57600080fd5b5061020d60135481565b34801561032557600080fd5b506000546001600160a01b03166101db565b34801561034357600080fd5b5061020d60145481565b34801561035957600080fd5b5060408051808201909152600581526420a62a23a760d91b6020820152610175565b34801561038757600080fd5b506102a2610396366004611699565b610618565b3480156103a757600080fd5b506101ab6103b636600461160f565b6107d0565b3480156103c757600080fd5b506102a26107dd565b3480156103dc57600080fd5b5061020d6103eb3660046116cb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561042257600080fd5b506102a261043136600461167c565b610813565b60006104433384846108fd565b5060015b92915050565b600061045a848484610a21565b6104ac84336104a785604051806060016040528060288152602001611853602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e77565b6108fd565b5060019392505050565b6010546001600160a01b0316336001600160a01b0316146104d657600080fd5b476104e081610eb1565b50565b6001600160a01b03811660009081526002602052604081205461044790610eef565b6000546001600160a01b031633146105385760405162461bcd60e51b815260040161052f90611704565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105ac5760405162461bcd60e51b815260040161052f90611704565b6a52b7d2dcc80cd2e40000006013819055601455565b6000546001600160a01b031633146105ec5760405162461bcd60e51b815260040161052f90611704565b6012805460ff60a01b1916600160a01b1790556000600881905560146009819055600a91909155600b55565b6000546001600160a01b031633146106425760405162461bcd60e51b815260040161052f90611704565b60148411156106a25760405162461bcd60e51b815260206004820152602660248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152656e642032302560d01b606482015260840161052f565b60148211156106fe5760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642032604482015261302560f01b606482015260840161052f565b601483111561075f5760405162461bcd60e51b815260206004820152602760248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015266616e642032302560c81b606482015260840161052f565b60148111156107bc5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526232302560e81b606482015260840161052f565b600893909355600a91909155600955600b55565b6000610443338484610a21565b6010546001600160a01b0316336001600160a01b0316146107fd57600080fd5b6000610808306104e3565b90506104e081610f73565b6000546001600160a01b0316331461083d5760405162461bcd60e51b815260040161052f90611704565b6001600160a01b0381166108a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661095f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052f565b6001600160a01b0382166109c05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052f565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a855760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052f565b6001600160a01b038216610ae75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052f565b60008111610b495760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052f565b6000546001600160a01b03848116911614801590610b7557506000546001600160a01b03838116911614155b15610d6a57601254600160a01b900460ff16610c0e576000546001600160a01b03848116911614610c0e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161052f565b6012546001600160a01b03838116911614610c935760145481610c30846104e3565b610c3a919061174f565b10610c935760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161052f565b6000610c9e306104e3565b601554601354919250821015908210610cb75760135491505b808015610cce5750601254600160a81b900460ff16155b8015610ce857506012546001600160a01b03868116911614155b8015610cfd5750601254600160b01b900460ff165b8015610d2257506001600160a01b03851660009081526005602052604090205460ff16155b8015610d4757506001600160a01b03841660009081526005602052604090205460ff16155b15610d6757610d5582610f73565b478015610d6557610d6547610eb1565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610dac57506001600160a01b03831660009081526005602052604090205460ff165b80610dde57506012546001600160a01b03858116911614801590610dde57506012546001600160a01b03848116911614155b15610deb57506000610e65565b6012546001600160a01b038581169116148015610e1657506011546001600160a01b03848116911614155b15610e2857600854600c55600954600d555b6012546001600160a01b038481169116148015610e5357506011546001600160a01b03858116911614155b15610e6557600a54600c55600b54600d555b610e71848484846110ed565b50505050565b60008184841115610e9b5760405162461bcd60e51b815260040161052f91906115ac565b506000610ea88486611762565b95945050505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610eeb573d6000803e3d6000fd5b5050565b6000600654821115610f565760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161052f565b6000610f6061111b565b9050610f6c838261113e565b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fbb57610fbb611775565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611014573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611038919061178b565b8160018151811061104b5761104b611775565b6001600160a01b03928316602091820292909201015260115461107191309116846108fd565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906110aa9085906000908690309042906004016117a8565b600060405180830381600087803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b806110fa576110fa611180565b6111058484846111ae565b80610e7157610e71600e54600c55600f54600d55565b60008060006111286112a5565b9092509050611137828261113e565b9250505090565b6000610f6c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112eb565b600c541580156111905750600d54155b1561119757565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806111c087611319565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111f29087611376565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461122190866113b8565b6001600160a01b03891660009081526002602052604090205561124381611417565b61124d8483611461565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161129291815260200190565b60405180910390a3505050505050505050565b60065460009081906a52b7d2dcc80cd2e40000006112c3828261113e565b8210156112e2575050600654926a52b7d2dcc80cd2e400000092509050565b90939092509050565b6000818361130c5760405162461bcd60e51b815260040161052f91906115ac565b506000610ea88486611819565b60008060008060008060008060006113368a600c54600d54611485565b925092509250600061134661111b565b905060008060006113598e8787876114da565b919e509c509a509598509396509194505050505091939550919395565b6000610f6c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6000806113c5838561174f565b905083811015610f6c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052f565b600061142161111b565b9050600061142f838361152a565b3060009081526002602052604090205490915061144c90826113b8565b30600090815260026020526040902055505050565b60065461146e9083611376565b60065560075461147e90826113b8565b6007555050565b600080808061149f6064611499898961152a565b9061113e565b905060006114b260646114998a8961152a565b905060006114ca826114c48b86611376565b90611376565b9992985090965090945050505050565b60008080806114e9888661152a565b905060006114f7888761152a565b90506000611505888861152a565b90506000611517826114c48686611376565b939b939a50919850919650505050505050565b60008260000361153c57506000610447565b6000611548838561183b565b9050826115558583611819565b14610f6c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052f565b600060208083528351808285015260005b818110156115d9578581018301518582016040015282016115bd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104e057600080fd5b6000806040838503121561162257600080fd5b823561162d816115fa565b946020939093013593505050565b60008060006060848603121561165057600080fd5b833561165b816115fa565b9250602084013561166b816115fa565b929592945050506040919091013590565b60006020828403121561168e57600080fd5b8135610f6c816115fa565b600080600080608085870312156116af57600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156116de57600080fd5b82356116e9816115fa565b915060208301356116f9816115fa565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561044757610447611739565b8181038181111561044757610447611739565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561179d57600080fd5b8151610f6c816115fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117f85784516001600160a01b0316835293830193918301916001016117d3565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261183657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176104475761044761173956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220562388c8de50261d20a71efd3cfd73b3ad36e92d1362288f0b021d766c5d2a3d64736f6c63430008130033
Deployed Bytecode Sourcemap
4387:12583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6663:83;;;;;;;;;;-1:-1:-1;6733:5:0;;;;;;;;;;;;-1:-1:-1;;;6733:5:0;;;;6663:83;;;;;;;:::i;:::-;;;;;;;;7595:193;;;;;;;;;;-1:-1:-1;7595:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7595:193:0;1023:187:1;5541:41:0;;;;;;;;;;-1:-1:-1;5541:41:0;;;;-1:-1:-1;;;;;5541:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5541:41:0;1215:229:1;6943:95:0;;;;;;;;;;-1:-1:-1;4943:20:0;6943:95;;;1595:25:1;;;1583:2;1568:18;6943:95:0;1449:177:1;7797:446:0;;;;;;;;;;-1:-1:-1;7797:446:0;;;;;:::i;:::-;;:::i;5854:54::-;;;;;;;;;;;;;;;;6851:83;;;;;;;;;;-1:-1:-1;6851:83:0;;4477:2;2234:36:1;;2222:2;2207:18;6851:83:0;2092:184:1;5589:28:0;;;;;;;;;;-1:-1:-1;5589:28:0;;;;-1:-1:-1;;;;;5589:28:0;;;12527:202;;;;;;;;;;;;;:::i;:::-;;7047:138;;;;;;;;;;-1:-1:-1;7047:138:0;;;;;:::i;:::-;;:::i;1860:148::-;;;;;;;;;;;;;:::i;16850:117::-;;;;;;;;;;;;;:::i;12108:198::-;;;;;;;;;;;;;:::i;5741:47::-;;;;;;;;;;;;;;;;1644:79;;;;;;;;;;-1:-1:-1;1682:7:0;1709:6;-1:-1:-1;;;;;1709:6:0;1644:79;;5796:50;;;;;;;;;;;;;;;;6755:87;;;;;;;;;;-1:-1:-1;6827:7:0;;;;;;;;;;;;-1:-1:-1;;;6827:7:0;;;;6755:87;;16145:697;;;;;;;;;;-1:-1:-1;16145:697:0;;;;;:::i;:::-;;:::i;7194:199::-;;;;;;;;;;-1:-1:-1;7194:199:0;;;;;:::i;:::-;;:::i;12315:203::-;;;;;;;;;;;;;:::i;7402:184::-;;;;;;;;;;-1:-1:-1;7402:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7551:18:0;;;7519:7;7551:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7402:184;2017:244;;;;;;;;;;-1:-1:-1;2017:244:0;;;;;:::i;:::-;;:::i;7595:193::-;7697:4;7719:39;473:10;7742:7;7751:6;7719:8;:39::i;:::-;-1:-1:-1;7776:4:0;7595:193;;;;;:::o;7797:446::-;7929:4;7946:36;7956:6;7964:9;7975:6;7946:9;:36::i;:::-;7993:220;8016:6;473:10;8064:138;8120:6;8064:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8064:19:0;;;;;;:11;:19;;;;;;;;473:10;8064:33;;;;;;;;;;:37;:138::i;:::-;7993:8;:220::i;:::-;-1:-1:-1;8231:4:0;7797:446;;;;;:::o;12527:202::-;12593:23;;-1:-1:-1;;;;;12593:23:0;473:10;-1:-1:-1;;;;;12577:39:0;;12569:48;;;;;;12657:21;12689:32;12657:21;12689:12;:32::i;:::-;12558:171;12527:202::o;7047:138::-;-1:-1:-1;;;;;7160:16:0;;7113:7;7160:16;;;:7;:16;;;;;;7140:37;;:19;:37::i;1860:148::-;1772:6;;-1:-1:-1;;;;;1772:6:0;473:10;1772:22;1764:67;;;;-1:-1:-1;;;1764:67:0;;;;;;;:::i;:::-;;;;;;;;;1967:1:::1;1951:6:::0;;1930:40:::1;::::0;-1:-1:-1;;;;;1951:6:0;;::::1;::::0;1930:40:::1;::::0;1967:1;;1930:40:::1;1998:1;1981:19:::0;;-1:-1:-1;;;;;;1981:19:0::1;::::0;;1860:148::o;16850:117::-;1772:6;;-1:-1:-1;;;;;1772:6:0;473:10;1772:22;1764:67;;;;-1:-1:-1;;;1764:67:0;;;;;;;:::i;:::-;4943:20:::1;16902:12;:22:::0;;;16935:14:::1;:24:::0;16850:117::o;12108:198::-;1772:6;;-1:-1:-1;;;;;1772:6:0;473:10;1772:22;1764:67;;;;-1:-1:-1;;;1764:67:0;;;;;;;:::i;:::-;12158:11:::1;:18:::0;;-1:-1:-1;;;;12158:18:0::1;-1:-1:-1::0;;;12158:18:0::1;::::0;;;12187:14:::1;:18:::0;;;12158:11:::1;12218:12;:17:::0;;;-1:-1:-1;12248:19:0;;;;12280:13:::1;:18:::0;12108:198::o;16145:697::-;1772:6;;-1:-1:-1;;;;;1772:6:0;473:10;1772:22;1764:67;;;;-1:-1:-1;;;1764:67:0;;;;;;;:::i;:::-;16326:2:::1;16309:13;:19;;16279:92;;;::::0;-1:-1:-1;;;16279:92:0;;4087:2:1;16279:92:0::1;::::0;::::1;4069:21:1::0;4126:2;4106:18;;;4099:30;4165:34;4145:18;;;4138:62;-1:-1:-1;;;4216:18:1;;;4209:36;4262:19;;16279:92:0::1;3885:402:1::0;16279:92:0::1;16425:2;16410:11;:17;;16382:84;;;::::0;-1:-1:-1;;;16382:84:0;;4494:2:1;16382:84:0::1;::::0;::::1;4476:21:1::0;4533:2;4513:18;;;4506:30;4572:34;4552:18;;;4545:62;-1:-1:-1;;;4623:18:1;;;4616:32;4665:19;;16382:84:0::1;4292:398:1::0;16382:84:0::1;16526:2;16508:14;:20;;16477:95;;;::::0;-1:-1:-1;;;16477:95:0;;4897:2:1;16477:95:0::1;::::0;::::1;4879:21:1::0;4936:2;4916:18;;;4909:30;4975:34;4955:18;;;4948:62;-1:-1:-1;;;5026:18:1;;;5019:37;5073:19;;16477:95:0::1;4695:403:1::0;16477:95:0::1;16628:2;16612:12;:18;;16583:87;;;::::0;-1:-1:-1;;;16583:87:0;;5305:2:1;16583:87:0::1;::::0;::::1;5287:21:1::0;5344:2;5324:18;;;5317:30;5383:34;5363:18;;;5356:62;-1:-1:-1;;;5434:18:1;;;5427:33;5477:19;;16583:87:0::1;5103:399:1::0;16583:87:0::1;16683:14;:30:::0;;;;16724:15:::1;:32:::0;;;;16767:12:::1;:26:::0;16804:13:::1;:28:::0;16145:697::o;7194:199::-;7299:4;7321:42;473:10;7345:9;7356:6;7321:9;:42::i;12315:203::-;12381:23;;-1:-1:-1;;;;;12381:23:0;473:10;-1:-1:-1;;;;;12365:39:0;;12357:48;;;;;;12416:23;12442:24;12460:4;12442:9;:24::i;:::-;12416:50;;12477:33;12494:15;12477:16;:33::i;2017:244::-;1772:6;;-1:-1:-1;;;;;1772:6:0;473:10;1772:22;1764:67;;;;-1:-1:-1;;;1764:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2106:22:0;::::1;2098:73;;;::::0;-1:-1:-1;;;2098:73:0;;5709:2:1;2098:73:0::1;::::0;::::1;5691:21:1::0;5748:2;5728:18;;;5721:30;5787:34;5767:18;;;5760:62;-1:-1:-1;;;5838:18:1;;;5831:36;5884:19;;2098:73:0::1;5507:402:1::0;2098:73:0::1;2208:6;::::0;;2187:38:::1;::::0;-1:-1:-1;;;;;2187:38:0;;::::1;::::0;2208:6;::::1;::::0;2187:38:::1;::::0;::::1;2236:6;:17:::0;;-1:-1:-1;;;;;;2236:17:0::1;-1:-1:-1::0;;;;;2236:17:0;;;::::1;::::0;;;::::1;::::0;;2017:244::o;8940:369::-;-1:-1:-1;;;;;9067:19:0;;9059:68;;;;-1:-1:-1;;;9059:68:0;;6116:2:1;9059:68:0;;;6098:21:1;6155:2;6135:18;;;6128:30;6194:34;6174:18;;;6167:62;-1:-1:-1;;;6245:18:1;;;6238:34;6289:19;;9059:68:0;5914:400:1;9059:68:0;-1:-1:-1;;;;;9146:21:0;;9138:68;;;;-1:-1:-1;;;9138:68:0;;6521:2:1;9138:68:0;;;6503:21:1;6560:2;6540:18;;;6533:30;6599:34;6579:18;;;6572:62;-1:-1:-1;;;6650:18:1;;;6643:32;6692:19;;9138:68:0;6319:398:1;9138:68:0;-1:-1:-1;;;;;9217:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9269:32;;1595:25:1;;;9269:32:0;;1568:18:1;9269:32:0;;;;;;;8940:369;;;:::o;9318:2175::-;-1:-1:-1;;;;;9440:18:0;;9432:68;;;;-1:-1:-1;;;9432:68:0;;6924:2:1;9432:68:0;;;6906:21:1;6963:2;6943:18;;;6936:30;7002:34;6982:18;;;6975:62;-1:-1:-1;;;7053:18:1;;;7046:35;7098:19;;9432:68:0;6722:401:1;9432:68:0;-1:-1:-1;;;;;9519:16:0;;9511:64;;;;-1:-1:-1;;;9511:64:0;;7330:2:1;9511:64:0;;;7312:21:1;7369:2;7349:18;;;7342:30;7408:34;7388:18;;;7381:62;-1:-1:-1;;;7459:18:1;;;7452:33;7502:19;;9511:64:0;7128:399:1;9511:64:0;9603:1;9594:6;:10;9586:64;;;;-1:-1:-1;;;9586:64:0;;7734:2:1;9586:64:0;;;7716:21:1;7773:2;7753:18;;;7746:30;7812:34;7792:18;;;7785:62;-1:-1:-1;;;7863:18:1;;;7856:39;7912:19;;9586:64:0;7532:405:1;9586:64:0;1682:7;1709:6;-1:-1:-1;;;;;9668:15:0;;;1709:6;;9668:15;;;;:32;;-1:-1:-1;1682:7:0;1709:6;-1:-1:-1;;;;;9687:13:0;;;1709:6;;9687:13;;9668:32;9664:1097;;;9758:11;;-1:-1:-1;;;9758:11:0;;;;9753:144;;1682:7;1709:6;-1:-1:-1;;;;;9798:15:0;;;1709:6;;9798:15;9790:91;;;;-1:-1:-1;;;9790:91:0;;8144:2:1;9790:91:0;;;8126:21:1;8183:2;8163:18;;;8156:30;8222:34;8202:18;;;8195:62;8293:33;8273:18;;;8266:61;8344:19;;9790:91:0;7942:427:1;9790:91:0;9923:13;;-1:-1:-1;;;;;9917:19:0;;;9923:13;;9917:19;9914:146;;9990:14;;9981:6;9965:13;9975:2;9965:9;:13::i;:::-;:22;;;;:::i;:::-;:39;9957:87;;;;-1:-1:-1;;;9957:87:0;;8838:2:1;9957:87:0;;;8820:21:1;8877:2;8857:18;;;8850:30;8916:34;8896:18;;;8889:62;-1:-1:-1;;;8967:18:1;;;8960:33;9010:19;;9957:87:0;8636:399:1;9957:87:0;10077:28;10108:24;10126:4;10108:9;:24::i;:::-;10186:19;;10250:12;;10077:55;;-1:-1:-1;10162:43:0;;;;10226:36;;10223:124;;10319:12;;10296:35;;10223:124;10368:7;:18;;;;-1:-1:-1;10380:6:0;;-1:-1:-1;;;10380:6:0;;;;10379:7;10368:18;:43;;;;-1:-1:-1;10398:13:0;;-1:-1:-1;;;;;10390:21:0;;;10398:13;;10390:21;;10368:43;:58;;;;-1:-1:-1;10415:11:0;;-1:-1:-1;;;10415:11:0;;;;10368:58;:87;;;;-1:-1:-1;;;;;;10431:24:0;;;;;;:18;:24;;;;;;;;10430:25;10368:87;:114;;;;-1:-1:-1;;;;;;10460:22:0;;;;;;:18;:22;;;;;;;;10459:23;10368:114;10364:386;;;10503:38;10520:20;10503:16;:38::i;:::-;10589:21;10633:22;;10629:106;;10680:35;10693:21;10680:12;:35::i;:::-;10484:266;10364:386;9702:1059;;9664:1097;-1:-1:-1;;;;;10839:24:0;;10774:12;10839:24;;;:18;:24;;;;;;10789:4;;10839:24;;;:50;;-1:-1:-1;;;;;;10867:22:0;;;;;;:18;:22;;;;;;;;10839:50;10838:102;;;-1:-1:-1;10903:13:0;;-1:-1:-1;;;;;10895:21:0;;;10903:13;;10895:21;;;;:44;;-1:-1:-1;10926:13:0;;-1:-1:-1;;;;;10920:19:0;;;10926:13;;10920:19;;10895:44;10834:597;;;-1:-1:-1;10967:5:0;10834:597;;;11051:13;;-1:-1:-1;;;;;11043:21:0;;;11051:13;;11043:21;:55;;;;-1:-1:-1;11082:15:0;;-1:-1:-1;;;;;11068:30:0;;;11082:15;;11068:30;;11043:55;11040:162;;;11131:14;;11119:9;:26;11174:12;;11164:7;:22;11040:162;11262:13;;-1:-1:-1;;;;;11256:19:0;;;11262:13;;11256:19;:55;;;;-1:-1:-1;11295:15:0;;-1:-1:-1;;;;;11279:32:0;;;11295:15;;11279:32;;11256:55;11252:165;;;11344:15;;11332:9;:27;11388:13;;11378:7;:23;11252:165;11444:41;11459:4;11465:2;11469:6;11477:7;11444:14;:41::i;:::-;9421:2072;9318:2175;;;:::o;2629:224::-;2749:7;2785:12;2777:6;;;;2769:29;;;;-1:-1:-1;;;2769:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2809:9:0;2821:5;2825:1;2821;:5;:::i;:::-;2809:17;2629:224;-1:-1:-1;;;;;2629:224:0:o;11994:105::-;12051:23;;:40;;-1:-1:-1;;;;;12051:23:0;;;;:40;;;;;12084:6;;12051:23;:40;:23;:40;12084:6;12051:23;:40;;;;;;;;;;;;;;;;;;;;;11994:105;:::o;8252:323::-;8347:7;8405;;8394;:18;;8372:110;;;;-1:-1:-1;;;8372:110:0;;9375:2:1;8372:110:0;;;9357:21:1;9414:2;9394:18;;;9387:30;9453:34;9433:18;;;9426:62;-1:-1:-1;;;9504:18:1;;;9497:40;9554:19;;8372:110:0;9173:406:1;8372:110:0;8493:19;8515:10;:8;:10::i;:::-;8493:32;-1:-1:-1;8543:24:0;:7;8493:32;8543:11;:24::i;:::-;8536:31;8252:323;-1:-1:-1;;;8252:323:0:o;11502:483::-;6003:6;:13;;-1:-1:-1;;;;6003:13:0;-1:-1:-1;;;6003:13:0;;;11604:16:::1;::::0;;11618:1:::1;11604:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11604:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11604:16:0::1;11580:40;;11649:4;11631;11636:1;11631:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11631:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11675:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11675:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11631:7;;11675:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11665:4;11670:1;11665:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11665:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11740:15:::1;::::0;11708:62:::1;::::0;11725:4:::1;::::0;11740:15:::1;11758:11:::0;11708:8:::1;:62::i;:::-;11781:15;::::0;:196:::1;::::0;-1:-1:-1;;;11781:196:0;;-1:-1:-1;;;;;11781:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11862:11;;11781:15:::1;::::0;11904:4;;11931::::1;::::0;11951:15:::1;::::0;11781:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6039:6:0;:14;;-1:-1:-1;;;;6039:14:0;;;-1:-1:-1;;;;11502:483:0:o;12737:282::-;12893:7;12888:28;;12902:14;:12;:14::i;:::-;12927:44;12945:6;12953:9;12964:6;12927:17;:44::i;:::-;12987:7;12982:29;;12996:15;8870:17;;8858:9;:29;8908:15;;8898:7;:25;8814:117;15706:164;15748:7;15769:15;15786;15805:19;:17;:19::i;:::-;15768:56;;-1:-1:-1;15768:56:0;-1:-1:-1;15842:20:0;15768:56;;15842:11;:20::i;:::-;15835:27;;;;15706:164;:::o;3117:132::-;3175:7;3202:39;3206:1;3209;3202:39;;;;;;;;;;;;;;;;;:3;:39::i;8584:221::-;8631:9;;:14;:30;;;;-1:-1:-1;8649:7:0;;:12;8631:30;8627:43;;;8584:221::o;8627:43::-;8703:9;;;8683:17;:29;8741:7;;;8723:15;:25;-1:-1:-1;8762:13:0;;;;8786:11;8584:221::o;13028:610::-;13175:15;13205:23;13243:12;13270:23;13308:12;13335:13;13362:19;13373:7;13362:10;:19::i;:::-;-1:-1:-1;;;;;13410:15:0;;;;;;:7;:15;;;;;;13160:221;;-1:-1:-1;13160:221:0;;-1:-1:-1;13160:221:0;;-1:-1:-1;13160:221:0;-1:-1:-1;13160:221:0;-1:-1:-1;13160:221:0;-1:-1:-1;13410:28:0;;13160:221;13410:19;:28::i;:::-;-1:-1:-1;;;;;13392:15:0;;;;;;;:7;:15;;;;;;:46;;;;13470:18;;;;;;;:39;;13493:15;13470:22;:39::i;:::-;-1:-1:-1;;;;;13449:18:0;;;;;;:7;:18;;;;;:60;13520:16;13530:5;13520:9;:16::i;:::-;13547:23;13559:4;13565;13547:11;:23::i;:::-;13603:9;-1:-1:-1;;;;;13586:44:0;13595:6;-1:-1:-1;;;;;13586:44:0;;13614:15;13586:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;13586:44:0;;;;;;;;13149:489;;;;;;13028:610;;;:::o;15879:257::-;15977:7;;15930;;;;4943:20;16045;15977:7;4943:20;16045:11;:20::i;:::-;16035:7;:30;16031:61;;;-1:-1:-1;;16075:7:0;;;4943:20;;-1:-1:-1;15879:257:0;-1:-1:-1;15879:257:0:o;16031:61::-;16111:7;;16120;;-1:-1:-1;15879:257:0;-1:-1:-1;15879:257:0:o;3258:223::-;3378:7;3413:12;3406:5;3398:28;;;;-1:-1:-1;;;3398:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3437:9:0;3449:5;3453:1;3449;:5;:::i;14061:615::-;14161:7;14183;14205;14227;14249;14271;14307:23;14332:12;14346:13;14376:40;14388:7;14397:9;;14408:7;;14376:11;:40::i;:::-;14306:110;;;;;;14427:19;14449:10;:8;:10::i;:::-;14427:32;;14471:15;14488:23;14513:12;14542:46;14554:7;14563:4;14569:5;14576:11;14542;:46::i;:::-;14470:118;;-1:-1:-1;14470:118:0;-1:-1:-1;14470:118:0;-1:-1:-1;14639:15:0;;-1:-1:-1;14656:4:0;;-1:-1:-1;14662:5:0;;-1:-1:-1;;;;;14061:615:0;;;;;;;:::o;2484:136::-;2542:7;2569:43;2573:1;2576;2569:43;;;;;;;;;;;;;;;;;:3;:43::i;2296:179::-;2354:7;;2386:5;2390:1;2386;:5;:::i;:::-;2374:17;;2415:1;2410;:6;;2402:46;;;;-1:-1:-1;;;2402:46:0;;11513:2:1;2402:46:0;;;11495:21:1;11552:2;11532:18;;;11525:30;11591:29;11571:18;;;11564:57;11638:18;;2402:46:0;11311:351:1;13647:211:0;13700:19;13722:10;:8;:10::i;:::-;13700:32;-1:-1:-1;13743:13:0;13759:22;:5;13700:32;13759:9;:22::i;:::-;13833:4;13817:22;;;;:7;:22;;;;;;13743:38;;-1:-1:-1;13817:33:0;;13743:38;13817:26;:33::i;:::-;13808:4;13792:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13647:211:0:o;13867:147::-;13945:7;;:17;;13957:4;13945:11;:17::i;:::-;13935:7;:27;13986:10;;:20;;14001:4;13986:14;:20::i;:::-;13973:10;:33;-1:-1:-1;;13867:147:0:o;14685:469::-;14854:7;;;;14948:30;14974:3;14948:21;:7;14960:8;14948:11;:21::i;:::-;:25;;:30::i;:::-;14933:45;-1:-1:-1;14989:13:0;15005:28;15029:3;15005:19;:7;15017:6;15005:11;:19::i;:28::-;14989:44;-1:-1:-1;15044:23:0;15070:28;14989:44;15070:17;:7;15082:4;15070:11;:17::i;:::-;:21;;:28::i;:::-;15044:54;15134:4;;-1:-1:-1;15140:5:0;;-1:-1:-1;14685:469:0;;-1:-1:-1;;;;;14685:469:0:o;15163:534::-;15357:7;;;;15454:24;:7;15466:11;15454;:24::i;:::-;15436:42;-1:-1:-1;15489:12:0;15504:21;:4;15513:11;15504:8;:21::i;:::-;15489:36;-1:-1:-1;15536:13:0;15552:22;:5;15562:11;15552:9;:22::i;:::-;15536:38;-1:-1:-1;15585:23:0;15611:28;15536:38;15611:17;:7;15623:4;15611:11;:17::i;:28::-;15658:7;;;;-1:-1:-1;15684:4:0;;-1:-1:-1;15163:534:0;;-1:-1:-1;;;;;;;15163:534:0:o;2862:246::-;2920:7;2944:1;2949;2944:6;2940:47;;-1:-1:-1;2974:1:0;2967:8;;2940:47;2997:9;3009:5;3013:1;3009;:5;:::i;:::-;2997:17;-1:-1:-1;3042:1:0;3033:5;3037:1;2997:17;3033:5;:::i;:::-;:10;3025:56;;;;-1:-1:-1;;;3025:56:0;;12042:2:1;3025:56:0;;;12024:21:1;12081:2;12061:18;;;12054:30;12120:34;12100:18;;;12093:62;-1:-1:-1;;;12171:18:1;;;12164:31;12212:19;;3025:56:0;11840:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2741:385::-;2827:6;2835;2843;2851;2904:3;2892:9;2883:7;2879:23;2875:33;2872:53;;;2921:1;2918;2911:12;2872:53;-1:-1:-1;;2944:23:1;;;3014:2;2999:18;;2986:32;;-1:-1:-1;3065:2:1;3050:18;;3037:32;;3116:2;3101:18;3088:32;;-1:-1:-1;2741:385:1;-1:-1:-1;2741:385:1:o;3131:388::-;3199:6;3207;3260:2;3248:9;3239:7;3235:23;3231:32;3228:52;;;3276:1;3273;3266:12;3228:52;3315:9;3302:23;3334:31;3359:5;3334:31;:::i;:::-;3384:5;-1:-1:-1;3441:2:1;3426:18;;3413:32;3454:33;3413:32;3454:33;:::i;:::-;3506:7;3496:17;;;3131:388;;;;;:::o;3524:356::-;3726:2;3708:21;;;3745:18;;;3738:30;3804:34;3799:2;3784:18;;3777:62;3871:2;3856:18;;3524:356::o;8374:127::-;8435:10;8430:3;8426:20;8423:1;8416:31;8466:4;8463:1;8456:15;8490:4;8487:1;8480:15;8506:125;8571:9;;;8592:10;;;8589:36;;;8605:18;;:::i;9040:128::-;9107:9;;;9128:11;;;9125:37;;;9142:18;;:::i;9716:127::-;9777:10;9772:3;9768:20;9765:1;9758:31;9808:4;9805:1;9798:15;9832:4;9829:1;9822:15;9848:251;9918:6;9971:2;9959:9;9950:7;9946:23;9942:32;9939:52;;;9987:1;9984;9977:12;9939:52;10019:9;10013:16;10038:31;10063:5;10038:31;:::i;10104:980::-;10366:4;10414:3;10403:9;10399:19;10445:6;10434:9;10427:25;10471:2;10509:6;10504:2;10493:9;10489:18;10482:34;10552:3;10547:2;10536:9;10532:18;10525:31;10576:6;10611;10605:13;10642:6;10634;10627:22;10680:3;10669:9;10665:19;10658:26;;10719:2;10711:6;10707:15;10693:29;;10740:1;10750:195;10764:6;10761:1;10758:13;10750:195;;;10829:13;;-1:-1:-1;;;;;10825:39:1;10813:52;;10920:15;;;;10885:12;;;;10861:1;10779:9;10750:195;;;-1:-1:-1;;;;;;;11001:32:1;;;;10996:2;10981:18;;10974:60;-1:-1:-1;;;11065:3:1;11050:19;11043:35;10962:3;10104:980;-1:-1:-1;;;10104:980:1:o;11089:217::-;11129:1;11155;11145:132;;11199:10;11194:3;11190:20;11187:1;11180:31;11234:4;11231:1;11224:15;11262:4;11259:1;11252:15;11145:132;-1:-1:-1;11291:9:1;;11089:217::o;11667:168::-;11740:9;;;11771;;11788:15;;;11782:22;;11768:37;11758:71;;11809:18;;:::i
Swarm Source
ipfs://562388c8de50261d20a71efd3cfd73b3ad36e92d1362288f0b021d766c5d2a3d
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.