Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 21 from a total of 21 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Manualsend | 13145012 | 1142 days ago | IN | 0 ETH | 0.00187099 | ||||
Approve | 13049089 | 1156 days ago | IN | 0 ETH | 0.0017119 | ||||
Approve | 13043657 | 1157 days ago | IN | 0 ETH | 0.00302919 | ||||
Transfer | 13043319 | 1157 days ago | IN | 0 ETH | 0.01599304 | ||||
Approve | 13043307 | 1157 days ago | IN | 0 ETH | 0.00293598 | ||||
Approve | 13043306 | 1157 days ago | IN | 0 ETH | 0.00251617 | ||||
Approve | 13043306 | 1157 days ago | IN | 0 ETH | 0.00256531 | ||||
Manualsend | 13043277 | 1157 days ago | IN | 0 ETH | 0.00161885 | ||||
Manualswap | 13043260 | 1157 days ago | IN | 0 ETH | 0.01206813 | ||||
Approve | 13043217 | 1157 days ago | IN | 0 ETH | 0.00138618 | ||||
Approve | 13043182 | 1157 days ago | IN | 0 ETH | 0.00274957 | ||||
Approve | 13043180 | 1157 days ago | IN | 0 ETH | 0.00220808 | ||||
Approve | 13043170 | 1157 days ago | IN | 0 ETH | 0.00279618 | ||||
Approve | 13043169 | 1157 days ago | IN | 0 ETH | 0.00258646 | ||||
Renounce Ownersh... | 13043165 | 1157 days ago | IN | 0 ETH | 0.00125679 | ||||
Lift Max Tx | 13043162 | 1157 days ago | IN | 0 ETH | 0.00153056 | ||||
Approve | 13043158 | 1157 days ago | IN | 0 ETH | 0.00193714 | ||||
Start Trading Af... | 13043143 | 1157 days ago | IN | 0 ETH | 0.00199311 | ||||
Open Trading | 13043104 | 1157 days ago | IN | 0 ETH | 0.10486639 | ||||
Transfer | 13043072 | 1157 days ago | IN | 3.5 ETH | 0.00092642 | ||||
0x60806040 | 13043067 | 1157 days ago | IN | 0 ETH | 0.07796089 |
Latest 15 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
13145012 | 1142 days ago | 0.13167111 ETH | ||||
13053427 | 1156 days ago | 0.00311697 ETH | ||||
13049104 | 1156 days ago | 0.00413291 ETH | ||||
13047622 | 1157 days ago | 0.00413291 ETH | ||||
13047622 | 1157 days ago | 0.01389112 ETH | ||||
13043669 | 1157 days ago | 0.01413257 ETH | ||||
13043663 | 1157 days ago | 0.01571028 ETH | ||||
13043322 | 1157 days ago | 0.08068723 ETH | ||||
13043319 | 1157 days ago | 0.23902415 ETH | ||||
13043319 | 1157 days ago | 0.13224051 ETH | ||||
13043285 | 1157 days ago | 0.02022353 ETH | ||||
13043279 | 1157 days ago | 0.0865601 ETH | ||||
13043277 | 1157 days ago | 0.71119053 ETH | ||||
13043260 | 1157 days ago | 0.71119053 ETH | ||||
13043104 | 1157 days ago | 3.5 ETH |
Loading...
Loading
Contract Name:
tNFT
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-17 */ /** Name Changed from babyOpenSea to tNFT to prevent from snipers Anti Sniper : done; Tax: 10%; Initial Buy: 500000 ; **/ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract tNFT is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1 = 2; uint256 private _feeAddr2 = 15; address payable private _deployerWallet; string private constant _name = "tokenNFT"; string private constant _symbol = "tNFT"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private tradingEnabled = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _deployerWallet = payable(0x849C92605405A2273564F689F29AC73F3ac635da); _rOwned[address(this)] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_deployerWallet] = true; emit Transfer(address(0),address(this), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from]); if (from != address(this)) { require(tradingEnabled,"Trading not yet enabled"); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (40 seconds); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { if(contractTokenBalance > 100){ swapTokensForEth(contractTokenBalance); } uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 200000000000000000) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function liftMaxTx() external onlyOwner{ _maxTxAmount = _tTotal ; emit MaxTxAmountUpdated(100); } function sendETHToFee(uint256 amount) private { _deployerWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = _tTotal/200; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function blacklist(address _address) external { require(_msgSender() == _deployerWallet); bots[_address] = true; } function removeblacklist(address _address) external { require(_msgSender() == _deployerWallet); bots[_address] = false; } function dynamicTaxAdjustment(uint256 _redistribution,uint256 _tax) external onlyOwner{ require(_tax < 11,"Tax can not be more than 10"); // to prevent lock require(_redistribution < 5,"_redistribution can not be more than 5"); _feeAddr1 = _redistribution; _feeAddr2 = _tax; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _deployerWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _deployerWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function startTradingAfterLiquidity() external onlyOwner{ tradingEnabled = true; } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_redistribution","type":"uint256"},{"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"dynamicTaxAdjustment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liftMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeblacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradingAfterLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001a67016345785d8a0000600019620001c2565b62000028906000196200019c565b6008556002600a55600f600b819055600e805463ffffffff60a81b1916905567016345785d8a000090553480156200005f57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b03191673849c92605405a2273564f689f29ac73f3ac635da17905560085430600090815260026020526040812091909155600190600590620000f66000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308082526005909452828120805486166001908117909155600c5490921681528281208054909516909117909355519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200018e9067016345785d8a0000815260200190565b60405180910390a3620001e5565b600082821015620001bd57634e487b7160e01b600052601160045260246000fd5b500390565b600082620001e057634e487b7160e01b600052601260045260246000fd5b500690565b61197780620001f56000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063c3c8cd8011610064578063c3c8cd801461032e578063c9567bf914610343578063dd62ed3e14610358578063f549ba161461039e578063f9f92be4146103be57600080fd5b806370a0823114610284578063715018a6146102a45780638da5cb5b146102b957806395d89b41146102e1578063a9059cbb1461030e57600080fd5b80632ab30838116100e75780632ab3083814610209578063313ce5671461021e5780635932ead11461023a57806360a2c4e21461025a5780636fc3eaec1461026f57600080fd5b806303cfd4691461012f57806306fdde0314610151578063095ea7b31461019457806318160ddd146101c457806323b872dd146101e957600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5061014f61014a3660046115f5565b6103de565b005b34801561015d57600080fd5b506040805180820190915260088152671d1bdad95b93919560c21b60208201525b60405161018b919061175f565b60405180910390f35b3480156101a057600080fd5b506101b46101af3660046116a9565b61041f565b604051901515815260200161018b565b3480156101d057600080fd5b5067016345785d8a00005b60405190815260200161018b565b3480156101f557600080fd5b506101b4610204366004611668565b610436565b34801561021557600080fd5b5061014f61049f565b34801561022a57600080fd5b506040516009815260200161018b565b34801561024657600080fd5b5061014f6102553660046116d5565b610514565b34801561026657600080fd5b5061014f61055c565b34801561027b57600080fd5b5061014f61059b565b34801561029057600080fd5b506101db61029f3660046115f5565b6105c8565b3480156102b057600080fd5b5061014f6105ea565b3480156102c557600080fd5b506000546040516001600160a01b03909116815260200161018b565b3480156102ed57600080fd5b506040805180820190915260048152631d13919560e21b602082015261017e565b34801561031a57600080fd5b506101b46103293660046116a9565b61065e565b34801561033a57600080fd5b5061014f61066b565b34801561034f57600080fd5b5061014f6106a1565b34801561036457600080fd5b506101db61037336600461162f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103aa57600080fd5b5061014f6103b936600461170f565b610a80565b3480156103ca57600080fd5b5061014f6103d93660046115f5565b610b64565b600c546001600160a01b0316336001600160a01b0316146103fe57600080fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b600061042c338484610ba8565b5060015b92915050565b6000610443848484610ccc565b61049584336104908560405180606001604052806028815260200161191a602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610f0f565b610ba8565b5060019392505050565b6000546001600160a01b031633146104d25760405162461bcd60e51b81526004016104c9906117b4565b60405180910390fd5b67016345785d8a0000600f55604051606481527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b6000546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104c9906117b4565b600e8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146105865760405162461bcd60e51b81526004016104c9906117b4565b600e805460ff60b01b1916600160b01b179055565b600c546001600160a01b0316336001600160a01b0316146105bb57600080fd5b476105c581610f49565b50565b6001600160a01b03811660009081526002602052604081205461043090610f83565b6000546001600160a01b031633146106145760405162461bcd60e51b81526004016104c9906117b4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061042c338484610ccc565b600c546001600160a01b0316336001600160a01b03161461068b57600080fd5b6000610696306105c8565b90506105c581611007565b6000546001600160a01b031633146106cb5760405162461bcd60e51b81526004016104c9906117b4565b600e54600160a01b900460ff16156107255760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c9565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610761308267016345785d8a0000610ba8565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561079a57600080fd5b505afa1580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190611612565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561081a57600080fd5b505afa15801561082e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108529190611612565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611612565b600e80546001600160a01b0319166001600160a01b03928316179055600d541663f305d7194730610902816105c8565b6000806109176000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561097a57600080fd5b505af115801561098e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b39190611731565b5050600e805461ffff60b81b191661010160b81b179055506109de60c867016345785d8a0000611872565b600f55600e8054600160a01b60ff60a01b19821617909155600d5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c91906116f2565b5050565b6000546001600160a01b03163314610aaa5760405162461bcd60e51b81526004016104c9906117b4565b600b8110610afa5760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e206e6f74206265206d6f7265207468616e203130000000000060448201526064016104c9565b60058210610b595760405162461bcd60e51b815260206004820152602660248201527f5f7265646973747269627574696f6e2063616e206e6f74206265206d6f7265206044820152657468616e203560d01b60648201526084016104c9565b600a91909155600b55565b600c546001600160a01b0316336001600160a01b031614610b8457600080fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6001600160a01b038316610c0a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c9565b6001600160a01b038216610c6b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111610d2e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c9565b6001600160a01b03831660009081526006602052604090205460ff1615610d5457600080fd5b6001600160a01b0383163014610eff57600e54600160b01b900460ff16610dbd5760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f742079657420656e61626c656400000000000000000060448201526064016104c9565b600e546001600160a01b038481169116148015610de85750600d546001600160a01b03838116911614155b8015610e0d57506001600160a01b03821660009081526005602052604090205460ff16155b8015610e225750600e54600160c01b900460ff165b15610e7f57600f54811115610e3657600080fd5b6001600160a01b0382166000908152600760205260409020544211610e5a57600080fd5b610e6542602861185a565b6001600160a01b0383166000908152600760205260409020555b6000610e8a306105c8565b600e54909150600160a81b900460ff16158015610eb55750600e546001600160a01b03858116911614155b8015610eca5750600e54600160b81b900460ff165b15610efd576064811115610ee157610ee181611007565b476702c68af0bb140000811115610efb57610efb47610f49565b505b505b610f0a838383611190565b505050565b60008184841115610f335760405162461bcd60e51b81526004016104c9919061175f565b506000610f4084866118b3565b95945050505050565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a7c573d6000803e3d6000fd5b6000600854821115610fea5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104c9565b6000610ff461119b565b905061100083826111be565b9392505050565b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061104f5761104f6118e0565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110a357600080fd5b505afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db9190611612565b816001815181106110ee576110ee6118e0565b6001600160a01b039283166020918202929092010152600d546111149130911684610ba8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061114d9085906000908690309042906004016117e9565b600060405180830381600087803b15801561116757600080fd5b505af115801561117b573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b610f0a838383611200565b60008060006111a86112f7565b90925090506111b782826111be565b9250505090565b600061100083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611337565b60008060008060008061121287611365565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061124490876113c2565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546112739086611404565b6001600160a01b03891660009081526002602052604090205561129581611463565b61129f84836114ad565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112e491815260200190565b60405180910390a3505050505050505050565b600854600090819067016345785d8a000061131282826111be565b82101561132e5750506008549267016345785d8a000092509050565b90939092509050565b600081836113585760405162461bcd60e51b81526004016104c9919061175f565b506000610f408486611872565b60008060008060008060008060006113828a600a54600b546114d1565b925092509250600061139261119b565b905060008060006113a58e878787611526565b919e509c509a509598509396509194505050505091939550919395565b600061100083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f0f565b600080611411838561185a565b9050838110156110005760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c9565b600061146d61119b565b9050600061147b8383611576565b306000908152600260205260409020549091506114989082611404565b30600090815260026020526040902055505050565b6008546114ba90836113c2565b6008556009546114ca9082611404565b6009555050565b60008080806114eb60646114e58989611576565b906111be565b905060006114fe60646114e58a89611576565b90506000611516826115108b866113c2565b906113c2565b9992985090965090945050505050565b60008080806115358886611576565b905060006115438887611576565b905060006115518888611576565b905060006115638261151086866113c2565b939b939a50919850919650505050505050565b60008261158557506000610430565b60006115918385611894565b90508261159e8583611872565b146110005760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c9565b60006020828403121561160757600080fd5b8135611000816118f6565b60006020828403121561162457600080fd5b8151611000816118f6565b6000806040838503121561164257600080fd5b823561164d816118f6565b9150602083013561165d816118f6565b809150509250929050565b60008060006060848603121561167d57600080fd5b8335611688816118f6565b92506020840135611698816118f6565b929592945050506040919091013590565b600080604083850312156116bc57600080fd5b82356116c7816118f6565b946020939093013593505050565b6000602082840312156116e757600080fd5b81356110008161190b565b60006020828403121561170457600080fd5b81516110008161190b565b6000806040838503121561172257600080fd5b50508035926020909101359150565b60008060006060848603121561174657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561178c57858101830151858201604001528201611770565b8181111561179e576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118395784516001600160a01b031683529383019391830191600101611814565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561186d5761186d6118ca565b500190565b60008261188f57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118ae576118ae6118ca565b500290565b6000828210156118c5576118c56118ca565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105c557600080fd5b80151581146105c557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a71d9fad3e3b11bb06709dee43bac813c79557199ab1bfc2344eb4f198f199d264736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101235760003560e01c806370a08231116100a0578063c3c8cd8011610064578063c3c8cd801461032e578063c9567bf914610343578063dd62ed3e14610358578063f549ba161461039e578063f9f92be4146103be57600080fd5b806370a0823114610284578063715018a6146102a45780638da5cb5b146102b957806395d89b41146102e1578063a9059cbb1461030e57600080fd5b80632ab30838116100e75780632ab3083814610209578063313ce5671461021e5780635932ead11461023a57806360a2c4e21461025a5780636fc3eaec1461026f57600080fd5b806303cfd4691461012f57806306fdde0314610151578063095ea7b31461019457806318160ddd146101c457806323b872dd146101e957600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5061014f61014a3660046115f5565b6103de565b005b34801561015d57600080fd5b506040805180820190915260088152671d1bdad95b93919560c21b60208201525b60405161018b919061175f565b60405180910390f35b3480156101a057600080fd5b506101b46101af3660046116a9565b61041f565b604051901515815260200161018b565b3480156101d057600080fd5b5067016345785d8a00005b60405190815260200161018b565b3480156101f557600080fd5b506101b4610204366004611668565b610436565b34801561021557600080fd5b5061014f61049f565b34801561022a57600080fd5b506040516009815260200161018b565b34801561024657600080fd5b5061014f6102553660046116d5565b610514565b34801561026657600080fd5b5061014f61055c565b34801561027b57600080fd5b5061014f61059b565b34801561029057600080fd5b506101db61029f3660046115f5565b6105c8565b3480156102b057600080fd5b5061014f6105ea565b3480156102c557600080fd5b506000546040516001600160a01b03909116815260200161018b565b3480156102ed57600080fd5b506040805180820190915260048152631d13919560e21b602082015261017e565b34801561031a57600080fd5b506101b46103293660046116a9565b61065e565b34801561033a57600080fd5b5061014f61066b565b34801561034f57600080fd5b5061014f6106a1565b34801561036457600080fd5b506101db61037336600461162f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103aa57600080fd5b5061014f6103b936600461170f565b610a80565b3480156103ca57600080fd5b5061014f6103d93660046115f5565b610b64565b600c546001600160a01b0316336001600160a01b0316146103fe57600080fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b600061042c338484610ba8565b5060015b92915050565b6000610443848484610ccc565b61049584336104908560405180606001604052806028815260200161191a602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610f0f565b610ba8565b5060019392505050565b6000546001600160a01b031633146104d25760405162461bcd60e51b81526004016104c9906117b4565b60405180910390fd5b67016345785d8a0000600f55604051606481527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b6000546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104c9906117b4565b600e8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146105865760405162461bcd60e51b81526004016104c9906117b4565b600e805460ff60b01b1916600160b01b179055565b600c546001600160a01b0316336001600160a01b0316146105bb57600080fd5b476105c581610f49565b50565b6001600160a01b03811660009081526002602052604081205461043090610f83565b6000546001600160a01b031633146106145760405162461bcd60e51b81526004016104c9906117b4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061042c338484610ccc565b600c546001600160a01b0316336001600160a01b03161461068b57600080fd5b6000610696306105c8565b90506105c581611007565b6000546001600160a01b031633146106cb5760405162461bcd60e51b81526004016104c9906117b4565b600e54600160a01b900460ff16156107255760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c9565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610761308267016345785d8a0000610ba8565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561079a57600080fd5b505afa1580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190611612565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561081a57600080fd5b505afa15801561082e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108529190611612565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611612565b600e80546001600160a01b0319166001600160a01b03928316179055600d541663f305d7194730610902816105c8565b6000806109176000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561097a57600080fd5b505af115801561098e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b39190611731565b5050600e805461ffff60b81b191661010160b81b179055506109de60c867016345785d8a0000611872565b600f55600e8054600160a01b60ff60a01b19821617909155600d5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7c91906116f2565b5050565b6000546001600160a01b03163314610aaa5760405162461bcd60e51b81526004016104c9906117b4565b600b8110610afa5760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e206e6f74206265206d6f7265207468616e203130000000000060448201526064016104c9565b60058210610b595760405162461bcd60e51b815260206004820152602660248201527f5f7265646973747269627574696f6e2063616e206e6f74206265206d6f7265206044820152657468616e203560d01b60648201526084016104c9565b600a91909155600b55565b600c546001600160a01b0316336001600160a01b031614610b8457600080fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6001600160a01b038316610c0a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c9565b6001600160a01b038216610c6b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c9565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111610d2e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c9565b6001600160a01b03831660009081526006602052604090205460ff1615610d5457600080fd5b6001600160a01b0383163014610eff57600e54600160b01b900460ff16610dbd5760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f742079657420656e61626c656400000000000000000060448201526064016104c9565b600e546001600160a01b038481169116148015610de85750600d546001600160a01b03838116911614155b8015610e0d57506001600160a01b03821660009081526005602052604090205460ff16155b8015610e225750600e54600160c01b900460ff165b15610e7f57600f54811115610e3657600080fd5b6001600160a01b0382166000908152600760205260409020544211610e5a57600080fd5b610e6542602861185a565b6001600160a01b0383166000908152600760205260409020555b6000610e8a306105c8565b600e54909150600160a81b900460ff16158015610eb55750600e546001600160a01b03858116911614155b8015610eca5750600e54600160b81b900460ff165b15610efd576064811115610ee157610ee181611007565b476702c68af0bb140000811115610efb57610efb47610f49565b505b505b610f0a838383611190565b505050565b60008184841115610f335760405162461bcd60e51b81526004016104c9919061175f565b506000610f4084866118b3565b95945050505050565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a7c573d6000803e3d6000fd5b6000600854821115610fea5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104c9565b6000610ff461119b565b905061100083826111be565b9392505050565b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061104f5761104f6118e0565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156110a357600080fd5b505afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db9190611612565b816001815181106110ee576110ee6118e0565b6001600160a01b039283166020918202929092010152600d546111149130911684610ba8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061114d9085906000908690309042906004016117e9565b600060405180830381600087803b15801561116757600080fd5b505af115801561117b573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b610f0a838383611200565b60008060006111a86112f7565b90925090506111b782826111be565b9250505090565b600061100083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611337565b60008060008060008061121287611365565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061124490876113c2565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546112739086611404565b6001600160a01b03891660009081526002602052604090205561129581611463565b61129f84836114ad565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112e491815260200190565b60405180910390a3505050505050505050565b600854600090819067016345785d8a000061131282826111be565b82101561132e5750506008549267016345785d8a000092509050565b90939092509050565b600081836113585760405162461bcd60e51b81526004016104c9919061175f565b506000610f408486611872565b60008060008060008060008060006113828a600a54600b546114d1565b925092509250600061139261119b565b905060008060006113a58e878787611526565b919e509c509a509598509396509194505050505091939550919395565b600061100083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f0f565b600080611411838561185a565b9050838110156110005760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c9565b600061146d61119b565b9050600061147b8383611576565b306000908152600260205260409020549091506114989082611404565b30600090815260026020526040902055505050565b6008546114ba90836113c2565b6008556009546114ca9082611404565b6009555050565b60008080806114eb60646114e58989611576565b906111be565b905060006114fe60646114e58a89611576565b90506000611516826115108b866113c2565b906113c2565b9992985090965090945050505050565b60008080806115358886611576565b905060006115438887611576565b905060006115518888611576565b905060006115638261151086866113c2565b939b939a50919850919650505050505050565b60008261158557506000610430565b60006115918385611894565b90508261159e8583611872565b146110005760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c9565b60006020828403121561160757600080fd5b8135611000816118f6565b60006020828403121561162457600080fd5b8151611000816118f6565b6000806040838503121561164257600080fd5b823561164d816118f6565b9150602083013561165d816118f6565b809150509250929050565b60008060006060848603121561167d57600080fd5b8335611688816118f6565b92506020840135611698816118f6565b929592945050506040919091013590565b600080604083850312156116bc57600080fd5b82356116c7816118f6565b946020939093013593505050565b6000602082840312156116e757600080fd5b81356110008161190b565b60006020828403121561170457600080fd5b81516110008161190b565b6000806040838503121561172257600080fd5b50508035926020909101359150565b60008060006060848603121561174657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561178c57858101830151858201604001528201611770565b8181111561179e576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118395784516001600160a01b031683529383019391830191600101611814565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561186d5761186d6118ca565b500190565b60008261188f57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118ae576118ae6118ca565b500290565b6000828210156118c5576118c56118ca565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105c557600080fd5b80151581146105c557600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a71d9fad3e3b11bb06709dee43bac813c79557199ab1bfc2344eb4f198f199d264736f6c63430008070033
Deployed Bytecode Sourcemap
3649:10419:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10316:148;;;;;;;;;;-1:-1:-1;10316:148:0;;;;;:::i;:::-;;:::i;:::-;;5356:83;;;;;;;;;;-1:-1:-1;5426:5:0;;;;;;;;;;;;-1:-1:-1;;;5426:5:0;;;;5356:83;;;;;;;:::i;:::-;;;;;;;;6208:161;;;;;;;;;;-1:-1:-1;6208:161:0;;;;;:::i;:::-;;:::i;:::-;;;4329:14:1;;4322:22;4304:41;;4292:2;4277:18;6208:161:0;4164:187:1;5633:95:0;;;;;;;;;;-1:-1:-1;4146:17:0;5633:95;;;4512:25:1;;;4500:2;4485:18;5633:95:0;4356:187:1;6377:313:0;;;;;;;;;;-1:-1:-1;6377:313:0;;;;;:::i;:::-;;:::i;9102:120::-;;;;;;;;;;;;;:::i;5542:83::-;;;;;;;;;;-1:-1:-1;5542:83:0;;4515:1;10674:36:1;;10662:2;10647:18;5542:83:0;10532:184:1;6698:103:0;;;;;;;;;;-1:-1:-1;6698:103:0;;;;;:::i;:::-;;:::i;12278:96::-;;;;;;;;;;;;;:::i;12072:194::-;;;;;;;;;;;;;:::i;5736:138::-;;;;;;;;;;-1:-1:-1;5736:138:0;;;;;:::i;:::-;;:::i;2728:148::-;;;;;;;;;;;;;:::i;2514:79::-;;;;;;;;;;-1:-1:-1;2552:7:0;2579:6;2514:79;;-1:-1:-1;;;;;2579:6:0;;;2902:51:1;;2890:2;2875:18;2514:79:0;2756:203:1;5447:87:0;;;;;;;;;;-1:-1:-1;5519:7:0;;;;;;;;;;;;-1:-1:-1;;;5519:7:0;;;;5447:87;;5882:167;;;;;;;;;;-1:-1:-1;5882:167:0;;;;;:::i;:::-;;:::i;11865:195::-;;;;;;;;;;;;;:::i;9343:808::-;;;;;;;;;;;;;:::i;6057:143::-;;;;;;;;;;-1:-1:-1;6057:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6165:18:0;;;6138:7;6165:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6057:143;10470:319;;;;;;;;;;-1:-1:-1;10470:319:0;;;;;:::i;:::-;;:::i;10163:141::-;;;;;;;;;;-1:-1:-1;10163:141:0;;;;;:::i;:::-;;:::i;10316:148::-;10403:15;;-1:-1:-1;;;;;10403:15:0;312:10;-1:-1:-1;;;;;10387:31:0;;10379:40;;;;;;-1:-1:-1;;;;;10434:14:0;10451:5;10434:14;;;:4;:14;;;;;:22;;-1:-1:-1;;10434:22:0;;;10316:148::o;6208:161::-;6283:4;6300:39;312:10;6323:7;6332:6;6300:8;:39::i;:::-;-1:-1:-1;6357:4:0;6208:161;;;;;:::o;6377:313::-;6475:4;6492:36;6502:6;6510:9;6521:6;6492:9;:36::i;:::-;6539:121;6548:6;312:10;6570:89;6608:6;6570:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6570:19:0;;;;;;:11;:19;;;;;;;;312:10;6570:33;;;;;;;;;;:37;:89::i;:::-;6539:8;:121::i;:::-;-1:-1:-1;6678:4:0;6377:313;;;;;:::o;9102:120::-;2641:6;;-1:-1:-1;;;;;2641:6:0;312:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;;;;;;;;;4146:17:::1;9152:12;:22:::0;9191:23:::1;::::0;9210:3:::1;4512:25:1::0;;9191:23:0::1;::::0;4500:2:1;4485:18;9191:23:0::1;;;;;;;9102:120::o:0;6698:103::-;2641:6;;-1:-1:-1;;;;;2641:6:0;312:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;6770:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;6770:23:0::1;-1:-1:-1::0;;;;6770:23:0;;::::1;::::0;;;::::1;::::0;;6698:103::o;12278:96::-;2641:6;;-1:-1:-1;;;;;2641:6:0;312:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;12345:14:::1;:21:::0;;-1:-1:-1;;;;12345:21:0::1;-1:-1:-1::0;;;12345:21:0::1;::::0;;12278:96::o;12072:194::-;12138:15;;-1:-1:-1;;;;;12138:15:0;312:10;-1:-1:-1;;;;;12122:31:0;;12114:40;;;;;;12194:21;12226:32;12194:21;12226:12;:32::i;:::-;12103:163;12072:194::o;5736:138::-;-1:-1:-1;;;;;5849:16:0;;5802:7;5849:16;;;:7;:16;;;;;;5829:37;;:19;:37::i;2728:148::-;2641:6;;-1:-1:-1;;;;;2641:6:0;312:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;2835:1:::1;2819:6:::0;;2798:40:::1;::::0;-1:-1:-1;;;;;2819:6:0;;::::1;::::0;2798:40:::1;::::0;2835:1;;2798:40:::1;2866:1;2849:19:::0;;-1:-1:-1;;;;;;2849:19:0::1;::::0;;2728:148::o;5882:167::-;5960:4;5977:42;312:10;6001:9;6012:6;5977:9;:42::i;11865:195::-;11931:15;;-1:-1:-1;;;;;11931:15:0;312:10;-1:-1:-1;;;;;11915:31:0;;11907:40;;;;;;11958:23;11984:24;12002:4;11984:9;:24::i;:::-;11958:50;;12019:33;12036:15;12019:16;:33::i;9343:808::-;2641:6;;-1:-1:-1;;;;;2641:6:0;312:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;9407:11:::1;::::0;-1:-1:-1;;;9407:11:0;::::1;;;9406:12;9398:47;;;::::0;-1:-1:-1;;;9398:47:0;;8863:2:1;9398:47:0::1;::::0;::::1;8845:21:1::0;8902:2;8882:18;;;8875:30;8941:25;8921:18;;;8914:53;8984:18;;9398:47:0::1;8661:347:1::0;9398:47:0::1;9567:15;:34:::0;;-1:-1:-1;;;;;;9567:34:0::1;9513:42;9567:34:::0;;::::1;::::0;;;9612:58:::1;9629:4;9513:42:::0;4146:17:::1;9612:8;:58::i;:::-;9715:16;-1:-1:-1::0;;;;;9715:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9697:56:0::1;;9762:4;9769:16;-1:-1:-1::0;;;;;9769:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9697:96;::::0;-1:-1:-1;;;;;;9697:96:0::1;::::0;;;;;;-1:-1:-1;;;;;3194:15:1;;;9697:96:0::1;::::0;::::1;3176:34:1::0;3246:15;;3226:18;;;3219:43;3111:18;;9697:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9681:13;:112:::0;;-1:-1:-1;;;;;;9681:112:0::1;-1:-1:-1::0;;;;;9681:112:0;;::::1;;::::0;;9804:15:::1;::::0;::::1;:31;9843:21;9874:4;9880:24;9874:4:::0;9880:9:::1;:24::i;:::-;9905:1;9907::::0;9909:7:::1;2552::::0;2579:6;-1:-1:-1;;;;;2579:6:0;;2514:79;9909:7:::1;9804:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9804:129:0;;;-1:-1:-1;;;;;3911:15:1;;;9804:129:0::1;::::0;::::1;3893:34:1::0;3943:18;;;3936:34;;;;3986:18;;;3979:34;;;;4029:18;;;4022:34;4093:15;;;4072:19;;;4065:44;9917:15:0::1;4125:19:1::0;;;4118:35;3827:19;;9804:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9944:11:0::1;:18:::0;;-1:-1:-1;;;;9973:22:0;-1:-1:-1;;;9973:22:0;;;-1:-1:-1;10021:11:0::1;10029:3;4146:17;10021:11;:::i;:::-;10006:12;:26:::0;10043:11:::1;:18:::0;;-1:-1:-1;;;;;;;10043:18:0;::::1;;::::0;;;10110:15:::1;::::0;10072:71:::1;::::0;-1:-1:-1;;;10072:71:0;;-1:-1:-1;;;;;10110:15:0;;::::1;10072:71;::::0;::::1;3447:51:1::0;-1:-1:-1;;3514:18:1;;;3507:34;10079:13:0;;;10072:29:::1;::::0;3420:18:1;;10072:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9387:764;9343:808::o:0;10470:319::-;2641:6;;-1:-1:-1;;;;;2641:6:0;312:10;2641:22;2633:67;;;;-1:-1:-1;;;2633:67:0;;;;;;;:::i;:::-;10582:2:::1;10575:4;:9;10567:48;;;::::0;-1:-1:-1;;;10567:48:0;;6522:2:1;10567:48:0::1;::::0;::::1;6504:21:1::0;6561:2;6541:18;;;6534:30;6600:29;6580:18;;;6573:57;6647:18;;10567:48:0::1;6320:351:1::0;10567:48:0::1;10673:1;10655:15;:19;10647:69;;;::::0;-1:-1:-1;;;10647:69:0;;8051:2:1;10647:69:0::1;::::0;::::1;8033:21:1::0;8090:2;8070:18;;;8063:30;8129:34;8109:18;;;8102:62;-1:-1:-1;;;8180:18:1;;;8173:36;8226:19;;10647:69:0::1;7849:402:1::0;10647:69:0::1;10727:9;:27:::0;;;;10765:9:::1;:16:::0;10470:319::o;10163:141::-;10244:15;;-1:-1:-1;;;;;10244:15:0;312:10;-1:-1:-1;;;;;10228:31:0;;10220:40;;;;;;-1:-1:-1;;;;;10275:14:0;;;;;:4;:14;;;;;:21;;-1:-1:-1;;10275:21:0;10292:4;10275:21;;;10163:141::o;7071:335::-;-1:-1:-1;;;;;7164:19:0;;7156:68;;;;-1:-1:-1;;;7156:68:0;;8458:2:1;7156:68:0;;;8440:21:1;8497:2;8477:18;;;8470:30;8536:34;8516:18;;;8509:62;-1:-1:-1;;;8587:18:1;;;8580:34;8631:19;;7156:68:0;8256:400:1;7156:68:0;-1:-1:-1;;;;;7243:21:0;;7235:68;;;;-1:-1:-1;;;7235:68:0;;5763:2:1;7235:68:0;;;5745:21:1;5802:2;5782:18;;;5775:30;5841:34;5821:18;;;5814:62;-1:-1:-1;;;5892:18:1;;;5885:32;5934:19;;7235:68:0;5561:398:1;7235:68:0;-1:-1:-1;;;;;7314:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7366:32;;4512:25:1;;;7366:32:0;;4485:18:1;7366:32:0;;;;;;;7071:335;;;:::o;7414:1191::-;7511:1;7502:6;:10;7494:64;;;;-1:-1:-1;;;7494:64:0;;7641:2:1;7494:64:0;;;7623:21:1;7680:2;7660:18;;;7653:30;7719:34;7699:18;;;7692:62;-1:-1:-1;;;7770:18:1;;;7763:39;7819:19;;7494:64:0;7439:405:1;7494:64:0;-1:-1:-1;;;;;7578:10:0;;;;;;:4;:10;;;;;;;;7577:11;7569:20;;;;;;-1:-1:-1;;;;;7604:21:0;;7620:4;7604:21;7600:957;;7650:14;;-1:-1:-1;;;7650:14:0;;;;7642:49;;;;-1:-1:-1;;;7642:49:0;;9215:2:1;7642:49:0;;;9197:21:1;9254:2;9234:18;;;9227:30;9293:25;9273:18;;;9266:53;9336:18;;7642:49:0;9013:347:1;7642:49:0;7718:13;;-1:-1:-1;;;;;7710:21:0;;;7718:13;;7710:21;:55;;;;-1:-1:-1;7749:15:0;;-1:-1:-1;;;;;7735:30:0;;;7749:15;;7735:30;;7710:55;:83;;;;-1:-1:-1;;;;;;7771:22:0;;;;;;:18;:22;;;;;;;;7769:24;7710:83;:102;;;;-1:-1:-1;7797:15:0;;-1:-1:-1;;;7797:15:0;;;;7710:102;7706:325;;;7880:12;;7870:6;:22;;7862:31;;;;;;-1:-1:-1;;;;;7920:12:0;;;;;;:8;:12;;;;;;7935:15;-1:-1:-1;7912:39:0;;;;;;7985:30;:15;8004:10;7985:30;:::i;:::-;-1:-1:-1;;;;;7970:12:0;;;;;;:8;:12;;;;;:45;7706:325;8059:28;8090:24;8108:4;8090:9;:24::i;:::-;8148:6;;8059:55;;-1:-1:-1;;;;8148:6:0;;;;8147:7;:32;;;;-1:-1:-1;8166:13:0;;-1:-1:-1;;;;;8158:21:0;;;8166:13;;8158:21;;8147:32;:47;;;;-1:-1:-1;8183:11:0;;-1:-1:-1;;;8183:11:0;;;;8147:47;8143:403;;;8241:3;8218:20;:26;8215:107;;;8264:38;8281:20;8264:16;:38::i;:::-;8369:21;8433:18;8412:39;;8409:122;;;8476:35;8489:21;8476:12;:35::i;:::-;8196:350;8143:403;7627:930;7600:957;8567:30;8582:4;8587:2;8590:6;8567:14;:30::i;:::-;7414:1191;;;:::o;1369:190::-;1455:7;1491:12;1483:6;;;;1475:29;;;;-1:-1:-1;;;1475:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1515:9:0;1527:5;1531:1;1527;:5;:::i;:::-;1515:17;1369:190;-1:-1:-1;;;;;1369:190:0:o;9228:97::-;9285:15;;:32;;-1:-1:-1;;;;;9285:15:0;;;;:32;;;;;9310:6;;9285:15;:32;:15;:32;9310:6;9285:15;:32;;;;;;;;;;;;;;;;;;;6809:254;6876:7;6915;;6904;:18;;6896:73;;;;-1:-1:-1;;;6896:73:0;;5352:2:1;6896:73:0;;;5334:21:1;5391:2;5371:18;;;5364:30;5430:34;5410:18;;;5403:62;-1:-1:-1;;;5481:18:1;;;5474:40;5531:19;;6896:73:0;5150:406:1;6896:73:0;6980:19;7003:10;:8;:10::i;:::-;6980:33;-1:-1:-1;7031:24:0;:7;6980:33;7031:11;:24::i;:::-;7024:31;6809:254;-1:-1:-1;;;6809:254:0:o;8613:483::-;4930:6;:13;;-1:-1:-1;;;;4930:13:0;-1:-1:-1;;;4930:13:0;;;8715:16:::1;::::0;;8729:1:::1;8715:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8715:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8715:16:0::1;8691:40;;8760:4;8742;8747:1;8742:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8742:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8786:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8786:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8742:7;;8786:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8776:4;8781:1;8776:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8776:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8851:15:::1;::::0;8819:62:::1;::::0;8836:4:::1;::::0;8851:15:::1;8869:11:::0;8819:8:::1;:62::i;:::-;8892:15;::::0;:196:::1;::::0;-1:-1:-1;;;8892:196:0;;-1:-1:-1;;;;;8892:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8973:11;;8892:15:::1;::::0;9015:4;;9042::::1;::::0;9062:15:::1;::::0;8892:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4966:6:0;:14;;-1:-1:-1;;;;4966:14:0;;;-1:-1:-1;;;;8613:483:0:o;10799:146::-;10893:44;10911:6;10919:9;10930:6;10893:17;:44::i;13632:163::-;13673:7;13694:15;13711;13730:19;:17;:19::i;:::-;13693:56;;-1:-1:-1;13693:56:0;-1:-1:-1;13767:20:0;13693:56;;13767:11;:20::i;:::-;13760:27;;;;13632:163;:::o;1821:132::-;1879:7;1906:39;1910:1;1913;1906:39;;;;;;;;;;;;;;;;;:3;:39::i;10953:488::-;11052:15;11069:23;11094:12;11108:23;11133:12;11147:13;11164:19;11175:7;11164:10;:19::i;:::-;-1:-1:-1;;;;;11212:15:0;;;;;;:7;:15;;;;;;11051:132;;-1:-1:-1;11051:132:0;;-1:-1:-1;11051:132:0;;-1:-1:-1;11051:132:0;-1:-1:-1;11051:132:0;-1:-1:-1;11051:132:0;-1:-1:-1;11212:28:0;;11051:132;11212:19;:28::i;:::-;-1:-1:-1;;;;;11194:15:0;;;;;;;:7;:15;;;;;;:46;;;;11272:18;;;;;;;:39;;11295:15;11272:22;:39::i;:::-;-1:-1:-1;;;;;11251:18:0;;;;;;:7;:18;;;;;:60;11323:16;11333:5;11323:9;:16::i;:::-;11350:23;11362:4;11368;11350:11;:23::i;:::-;11406:9;-1:-1:-1;;;;;11389:44:0;11398:6;-1:-1:-1;;;;;11389:44:0;;11417:15;11389:44;;;;4512:25:1;;4500:2;4485:18;;4356:187;11389:44:0;;;;;;;;11040:401;;;;;;10953:488;;;:::o;13803:262::-;13900:7;;13853;;;;4146:17;13974:20;13900:7;4146:17;13974:11;:20::i;:::-;13964:7;:30;13960:61;;;-1:-1:-1;;14004:7:0;;;4146:17;;-1:-1:-1;13803:262:0;-1:-1:-1;13803:262:0:o;13960:61::-;14040:7;;14049;;-1:-1:-1;13803:262:0;-1:-1:-1;13803:262:0:o;1961:189::-;2047:7;2082:12;2075:5;2067:28;;;;-1:-1:-1;;;2067:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2106:9:0;2118:5;2122:1;2118;:5;:::i;12380:471::-;12439:7;12448;12457;12466;12475;12484;12505:23;12530:12;12544:13;12561:42;12573:7;12582:9;;12593;;12561:11;:42::i;:::-;12504:99;;;;;;12614:19;12637:10;:8;:10::i;:::-;12614:33;;12659:15;12676:23;12701:12;12717:46;12729:7;12738:4;12744:5;12751:11;12717;:46::i;:::-;12658:105;;-1:-1:-1;12658:105:0;-1:-1:-1;12658:105:0;-1:-1:-1;12814:15:0;;-1:-1:-1;12831:4:0;;-1:-1:-1;12837:5:0;;-1:-1:-1;;;;;12380:471:0;;;;;;;:::o;1225:136::-;1283:7;1310:43;1314:1;1317;1310:43;;;;;;;;;;;;;;;;;:3;:43::i;1038:179::-;1096:7;;1128:5;1132:1;1128;:5;:::i;:::-;1116:17;;1157:1;1152;:6;;1144:46;;;;-1:-1:-1;;;1144:46:0;;6166:2:1;1144:46:0;;;6148:21:1;6205:2;6185:18;;;6178:30;6244:29;6224:18;;;6217:57;6291:18;;1144:46:0;5964:351:1;11449:212:0;11502:19;11525:10;:8;:10::i;:::-;11502:33;-1:-1:-1;11546:13:0;11562:22;:5;11502:33;11562:9;:22::i;:::-;11636:4;11620:22;;;;:7;:22;;;;;;11546:38;;-1:-1:-1;11620:33:0;;11546:38;11620:26;:33::i;:::-;11611:4;11595:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11449:212:0:o;11669:147::-;11747:7;;:17;;11759:4;11747:11;:17::i;:::-;11737:7;:27;11788:10;;:20;;11803:4;11788:14;:20::i;:::-;11775:10;:33;-1:-1:-1;;11669:147:0:o;12859:351::-;12952:7;;;;13005:28;13029:3;13005:19;:7;13017:6;13005:11;:19::i;:::-;:23;;:28::i;:::-;12990:43;-1:-1:-1;13044:13:0;13060:29;13085:3;13060:20;:7;13072;13060:11;:20::i;:29::-;13044:45;-1:-1:-1;13100:23:0;13126:28;13044:45;13126:17;:7;13138:4;13126:11;:17::i;:::-;:21;;:28::i;:::-;13100:54;13190:4;;-1:-1:-1;13196:5:0;;-1:-1:-1;12859:351:0;;-1:-1:-1;;;;;12859:351:0:o;13218:409::-;13328:7;;;;13384:24;:7;13396:11;13384;:24::i;:::-;13366:42;-1:-1:-1;13419:12:0;13434:21;:4;13443:11;13434:8;:21::i;:::-;13419:36;-1:-1:-1;13466:13:0;13482:22;:5;13492:11;13482:9;:22::i;:::-;13466:38;-1:-1:-1;13515:23:0;13541:28;13466:38;13541:17;:7;13553:4;13541:11;:17::i;:28::-;13588:7;;;;-1:-1:-1;13614:4:0;;-1:-1:-1;13218:409:0;;-1:-1:-1;;;;;;;13218:409:0:o;1567:246::-;1625:7;1649:6;1645:47;;-1:-1:-1;1679:1:0;1672:8;;1645:47;1702:9;1714:5;1718:1;1714;:5;:::i;:::-;1702:17;-1:-1:-1;1747:1:0;1738:5;1742:1;1702:17;1738:5;:::i;:::-;:10;1730:56;;;;-1:-1:-1;;;1730:56:0;;6878:2:1;1730:56:0;;;6860:21:1;6917:2;6897:18;;;6890:30;6956:34;6936:18;;;6929:62;-1:-1:-1;;;7007:18:1;;;7000:31;7048:19;;1730:56:0;6676:397:1;14:247;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:241::-;1752:6;1805:2;1793:9;1784:7;1780:23;1776:32;1773:52;;;1821:1;1818;1811:12;1773:52;1860:9;1847:23;1879:28;1901:5;1879:28;:::i;1942:245::-;2009:6;2062:2;2050:9;2041:7;2037:23;2033:32;2030:52;;;2078:1;2075;2068:12;2030:52;2110:9;2104:16;2129:28;2151:5;2129:28;:::i;2192:248::-;2260:6;2268;2321:2;2309:9;2300:7;2296:23;2292:32;2289:52;;;2337:1;2334;2327:12;2289:52;-1:-1:-1;;2360:23:1;;;2430:2;2415:18;;;2402:32;;-1:-1:-1;2192:248:1:o;2445:306::-;2533:6;2541;2549;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2647:9;2641:16;2631:26;;2697:2;2686:9;2682:18;2676:25;2666:35;;2741:2;2730:9;2726:18;2720:25;2710:35;;2445:306;;;;;:::o;4548:597::-;4660:4;4689:2;4718;4707:9;4700:21;4750:6;4744:13;4793:6;4788:2;4777:9;4773:18;4766:34;4818:1;4828:140;4842:6;4839:1;4836:13;4828:140;;;4937:14;;;4933:23;;4927:30;4903:17;;;4922:2;4899:26;4892:66;4857:10;;4828:140;;;4986:6;4983:1;4980:13;4977:91;;;5056:1;5051:2;5042:6;5031:9;5027:22;5023:31;5016:42;4977:91;-1:-1:-1;5129:2:1;5108:15;-1:-1:-1;;5104:29:1;5089:45;;;;5136:2;5085:54;;4548:597;-1:-1:-1;;;4548:597:1:o;7078:356::-;7280:2;7262:21;;;7299:18;;;7292:30;7358:34;7353:2;7338:18;;7331:62;7425:2;7410:18;;7078:356::o;9547:980::-;9809:4;9857:3;9846:9;9842:19;9888:6;9877:9;9870:25;9914:2;9952:6;9947:2;9936:9;9932:18;9925:34;9995:3;9990:2;9979:9;9975:18;9968:31;10019:6;10054;10048:13;10085:6;10077;10070:22;10123:3;10112:9;10108:19;10101:26;;10162:2;10154:6;10150:15;10136:29;;10183:1;10193:195;10207:6;10204:1;10201:13;10193:195;;;10272:13;;-1:-1:-1;;;;;10268:39:1;10256:52;;10363:15;;;;10328:12;;;;10304:1;10222:9;10193:195;;;-1:-1:-1;;;;;;;10444:32:1;;;;10439:2;10424:18;;10417:60;-1:-1:-1;;;10508:3:1;10493:19;10486:35;10405:3;9547:980;-1:-1:-1;;;9547:980:1:o;10721:128::-;10761:3;10792:1;10788:6;10785:1;10782:13;10779:39;;;10798:18;;:::i;:::-;-1:-1:-1;10834:9:1;;10721:128::o;10854:217::-;10894:1;10920;10910:132;;10964:10;10959:3;10955:20;10952:1;10945:31;10999:4;10996:1;10989:15;11027:4;11024:1;11017:15;10910:132;-1:-1:-1;11056:9:1;;10854:217::o;11076:168::-;11116:7;11182:1;11178;11174:6;11170:14;11167:1;11164:21;11159:1;11152:9;11145:17;11141:45;11138:71;;;11189:18;;:::i;:::-;-1:-1:-1;11229:9:1;;11076:168::o;11249:125::-;11289:4;11317:1;11314;11311:8;11308:34;;;11322:18;;:::i;:::-;-1:-1:-1;11359:9:1;;11249:125::o;11379:127::-;11440:10;11435:3;11431:20;11428:1;11421:31;11471:4;11468:1;11461:15;11495:4;11492:1;11485:15;11511:127;11572:10;11567:3;11563:20;11560:1;11553:31;11603:4;11600:1;11593:15;11627:4;11624:1;11617:15;11775:131;-1:-1:-1;;;;;11850:31:1;;11840:42;;11830:70;;11896:1;11893;11886:12;11911:118;11997:5;11990:13;11983:21;11976:5;11973:32;11963:60;;12019:1;12016;12009:12
Swarm Source
ipfs://a71d9fad3e3b11bb06709dee43bac813c79557199ab1bfc2344eb4f198f199d2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 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.