Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Reward Assets | 16009730 | 719 days ago | IN | 0 ETH | 0.00036437 | ||||
Approve | 16009719 | 719 days ago | IN | 0 ETH | 0.00050643 | ||||
Approve | 16009665 | 719 days ago | IN | 0 ETH | 0.00059965 | ||||
Approve | 16009661 | 719 days ago | IN | 0 ETH | 0.00056377 | ||||
_set Swap And Li... | 16009632 | 719 days ago | IN | 0 ETH | 0.00032503 | ||||
Approve | 16009596 | 719 days ago | IN | 0 ETH | 0.0005625 | ||||
0x60c06040 | 16009541 | 719 days ago | IN | 0 ETH | 0.05014387 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TheBabyPomeranian
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-20 */ /** */ /** * */ //SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.7; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; uint256 private _lockTime; 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; } function getOwner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function getTime() public view returns (uint256) { return block.timestamp; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract TheBabyPomeranian is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "The Baby Pomeranian"; string private _symbol ="TBPOM"; uint8 private _decimals = 18; address payable public treasuryWallet = payable(0x90D96e4C9Cc031644f9ef96fEE7ce6D9358bAf0E); mapping (address => uint256) _walletTotals; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isNoScope; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isWalletNoLimit; mapping (address => bool) public isTXNoLimit; mapping (address => bool) public isMarketPair; uint256 public _LiquidityFeeBuy = 0; uint256 public _TreasuryFeeBuy = 0; uint256 public _LiquidityFeeSell = 0; uint256 public _TreasuryFeeSell = 5; uint256 public _marketingShare = 0; uint256 public _liquidityShare = 0; uint256 public _totalDistributionShares = 0; uint256 public _finalBuyTax = 0; uint256 public _finalSellTax = 3; uint256 private _totalSupply = 100000000 * 10**_decimals; uint256 private minimumTokensBeforeSwap = 100000000 * 10**_decimals; uint256 public _walletMax = 100000000 * 10**_decimals; uint256 public _maxTxAmount = 100000000 * 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier swapIsLocked { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } uint256 public rewardDecimals = (10 ** _decimals); uint256 public rewardEndSupply = 100000000000; uint256 public getTotalRewards = rewardEndSupply * rewardDecimals; constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506 //0x10ED43C718714eb63d5aA57B78B54704E256024E uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; _finalBuyTax = _LiquidityFeeBuy.add(_TreasuryFeeBuy); _finalSellTax = _LiquidityFeeSell.add(_TreasuryFeeSell); _totalDistributionShares = _liquidityShare.add(_marketingShare); isWalletNoLimit[owner()] = true; isWalletNoLimit[address(uniswapPair)] = true; isWalletNoLimit[address(this)] = true; isTXNoLimit[owner()] = true; isTXNoLimit[address(this)] = true; isMarketPair[address(uniswapPair)] = true; _walletTotals[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function decimals() public view returns (uint8) { return _decimals; } function symbol() public view returns (string memory) { return _symbol; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _walletTotals[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); 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 setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function setDisposal(uint256 newLiquidTax, uint256 newMarketTax) external onlyOwner() { _LiquidityFeeSell = newLiquidTax; _TreasuryFeeSell = newMarketTax; _finalSellTax = _LiquidityFeeSell.add(_TreasuryFeeSell); } function setAcquire(uint256 newLiquidTax, uint256 newMarketTax) external onlyOwner() { _LiquidityFeeBuy = newLiquidTax; _TreasuryFeeBuy = newMarketTax; _finalBuyTax = _LiquidityFeeBuy.add(_TreasuryFeeBuy); } function establishWalletLimitEx(address holder, bool exempt) external onlyOwner { isWalletNoLimit[holder] = exempt; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function _setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //reward holders with contract tokens function rewardAssets() public onlyOwner() {_walletTotals[owner()] = getTotalRewards;} //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!isNoScope[sender], "Account is a Cheater"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTXNoLimit[sender] && !isTXNoLimit[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _walletTotals[sender] = _walletTotals[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletNoLimit[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); _walletTotals[recipient] = _walletTotals[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _walletTotals[sender] = _walletTotals[sender].sub(amount, "Insufficient Balance"); _walletTotals[recipient] = _walletTotals[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private swapIsLocked { uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalETHFee = _totalDistributionShares.sub(_liquidityShare.div(2)); uint256 amountETHLiquidity = amountReceived.mul(_liquidityShare).div(totalETHFee).div(2); uint256 amountETHTeam = amountReceived.mul(_marketingShare).div(totalETHFee); uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHTeam); if(amountETHMarketing > 0) transferToAddressETH(treasuryWallet, amountETHMarketing); if(amountETHTeam > 0) transferToAddressETH(treasuryWallet, amountETHTeam); if(amountETHLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountETHLiquidity); } function swapTokensForEth(uint256 tokenAmount) private { 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 ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); } function setNoScope(address _account) external onlyOwner { isNoScope[_account] = true; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_finalBuyTax).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_finalSellTax).div(100); } if(feeAmount > 0) { _walletTotals[address(this)] = _walletTotals[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"_LiquidityFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_LiquidityFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_TreasuryFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_TreasuryFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"_setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","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":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"establishWalletLimitEx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isNoScope","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTXNoLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletNoLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardAssets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardEndSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidTax","type":"uint256"},{"internalType":"uint256","name":"newMarketTax","type":"uint256"}],"name":"setAcquire","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidTax","type":"uint256"},{"internalType":"uint256","name":"newMarketTax","type":"uint256"}],"name":"setDisposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"setNoScope","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052601360808190527f546865204261627920506f6d6572616e69616e0000000000000000000000000060a09081526200004091600291906200066c565b50604080518082019091526005808252645442504f4d60d81b60209092019182526200006f916003916200066c565b50600480546001600160a81b0319167490d96e4c9cc031644f9ef96fee7ce6d9358baf0e121790556000600c819055600d819055600e8190556005600f556010819055601181905560128181556013919091556003601455620000d490600a620007a1565b620000e4906305f5e1006200086d565b601555600454620000fa9060ff16600a620007a1565b6200010a906305f5e1006200086d565b601655600454620001209060ff16600a620007a1565b62000130906305f5e1006200086d565b601755600454620001469060ff16600a620007a1565b62000156906305f5e1006200086d565b601855601a805462ffffff60a81b19166201000160a81b179055600454620001839060ff16600a620007a1565b601b5564174876e800601c55601b54601c54620001a191906200086d565b601d55348015620001b157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024657600080fd5b505afa1580156200025b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000281919062000712565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ca57600080fd5b505afa158015620002df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000305919062000712565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200034e57600080fd5b505af115801562000363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000389919062000712565b601a80546001600160a01b039283166001600160a01b03199182161790915560198054928416929091168217905560155430600090815260066020908152604080832094835293905291822055600190600890620003ef6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260088352208054909216600117909155600d54600c546200044b9290919062000e06620005fd821b17901c565b6013819055506200046f600f54600e54620005fd60201b62000e061790919060201c565b60148190555062000493601054601154620005fd60201b62000e061790919060201c565b601255600160096000620004af6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601a549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a906200051f6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600a8452828120805486166001908117909155601a549092168152600b909352908220805490931617909155601554906005906200058b3390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601554604051620005ee91815260200190565b60405180910390a350620008e2565b6000806200060c83856200073d565b905083811015620006635760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b8280546200067a906200088f565b90600052602060002090601f0160209004810192826200069e5760008555620006e9565b82601f10620006b957805160ff1916838001178555620006e9565b82800160010185558215620006e9579182015b82811115620006e9578251825591602001919060010190620006cc565b50620006f7929150620006fb565b5090565b5b80821115620006f75760008155600101620006fc565b6000602082840312156200072557600080fd5b81516001600160a01b03811681146200066357600080fd5b60008219821115620007535762000753620008cc565b500190565b600181815b80851115620007995781600019048211156200077d576200077d620008cc565b808516156200078b57918102915b93841c93908002906200075d565b509250929050565b6000620007b260ff841683620007b9565b9392505050565b600082620007ca5750600162000666565b81620007d95750600062000666565b8160018114620007f25760028114620007fd576200081d565b600191505062000666565b60ff841115620008115762000811620008cc565b50506001821b62000666565b5060208310610133831016604e8410600b841016171562000842575081810a62000666565b6200084e838362000758565b8060001904821115620008655762000865620008cc565b029392505050565b60008160001904831182151516156200088a576200088a620008cc565b500290565b600181811c90821680620008a457607f821691505b60208210811415620008c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b611f6180620008f26000396000f3fe6080604052600436106102b25760003560e01c8063818ba7c411610175578063a457c2d7116100dc578063da00097d11610095578063f10e43161161006f578063f10e431614610855578063f285737d14610875578063f2fde38b1461088b578063f872858a146108ab57600080fd5b8063da00097d146107d8578063dd62ed3e146107f9578063e627f2db1461083f57600080fd5b8063a457c2d714610736578063a9059cbb14610756578063b4cee6aa14610776578063b60f75d81461078c578063baeb7a7d146107a2578063c816841b146107b857600080fd5b80638da5cb5b1161012e5780638da5cb5b1461069857806394faf34e146106b657806395d89b41146106d65780639974047e146106eb578063a073d37f1461070b578063a08e671f1461072057600080fd5b8063818ba7c4146105ed578063825e43c51461061d57806384141be31461064d578063844d591c14610663578063880ec04e14610683578063893d20e81461069857600080fd5b80633ff6f0021161021957806357a5802f116101d257806357a5802f1461053f57806361a23c69146105555780636c4afa151461056b57806370a082311461058b5780637d1db4a5146105c1578063807c2d9c146105d757600080fd5b80633ff6f00214610480578063438a7aa6146104a05780634626402b146104b65780634a74bb02146104db5780635342acb4146104fc578063557ed1ba1461052c57600080fd5b8063313ce5671161026b578063313ce567146103a657806339509351146103c85780633b97084a146103e85780633d1808101461040a5780633ecad2711461043a5780633ef947211461046a57600080fd5b806306fdde03146102be578063095ea7b3146102e95780631694505e1461031957806318160ddd1461035157806323b872dd146103705780632fd49a141461039057600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d36108cc565b6040516102e09190611d08565b60405180910390f35b3480156102f557600080fd5b50610309610304366004611c14565b61095e565b60405190151581526020016102e0565b34801561032557600080fd5b50601954610339906001600160a01b031681565b6040516001600160a01b0390911681526020016102e0565b34801561035d57600080fd5b506015545b6040519081526020016102e0565b34801561037c57600080fd5b5061030961038b366004611b9e565b610975565b34801561039c57600080fd5b50610362600c5481565b3480156103b257600080fd5b5060045460405160ff90911681526020016102e0565b3480156103d457600080fd5b506103096103e3366004611c14565b6109e0565b3480156103f457600080fd5b50610408610403366004611c5b565b610a16565b005b34801561041657600080fd5b50610309610425366004611b2b565b600a6020526000908152604090205460ff1681565b34801561044657600080fd5b50610309610455366004611b2b565b600b6020526000908152604090205460ff1681565b34801561047657600080fd5b5061036260145481565b34801561048c57600080fd5b5061040861049b366004611bdf565b610a4e565b3480156104ac57600080fd5b50610362601c5481565b3480156104c257600080fd5b506004546103399061010090046001600160a01b031681565b3480156104e757600080fd5b50601a5461030990600160a81b900460ff1681565b34801561050857600080fd5b50610309610517366004611b2b565b60086020526000908152604090205460ff1681565b34801561053857600080fd5b5042610362565b34801561054b57600080fd5b5061036260115481565b34801561056157600080fd5b5061036260105481565b34801561057757600080fd5b50610408610586366004611c74565b610aa3565b34801561059757600080fd5b506103626105a6366004611b2b565b6001600160a01b031660009081526005602052604090205490565b3480156105cd57600080fd5b5061036260185481565b3480156105e357600080fd5b5061036260175481565b3480156105f957600080fd5b50610309610608366004611b2b565b60076020526000908152604090205460ff1681565b34801561062957600080fd5b50610309610638366004611b2b565b60096020526000908152604090205460ff1681565b34801561065957600080fd5b50610362600e5481565b34801561066f57600080fd5b5061040861067e366004611bdf565b610ae8565b34801561068f57600080fd5b50610408610b3d565b3480156106a457600080fd5b506000546001600160a01b0316610339565b3480156106c257600080fd5b506104086106d1366004611c40565b610b9c565b3480156106e257600080fd5b506102d3610c1e565b3480156106f757600080fd5b50610408610706366004611c74565b610c2d565b34801561071757600080fd5b50601654610362565b34801561072c57600080fd5b5061036260125481565b34801561074257600080fd5b50610309610751366004611c14565b610c72565b34801561076257600080fd5b50610309610771366004611c14565b610cc1565b34801561078257600080fd5b50610362600f5481565b34801561079857600080fd5b50610362601b5481565b3480156107ae57600080fd5b5061036260135481565b3480156107c457600080fd5b50601a54610339906001600160a01b031681565b3480156107e457600080fd5b50601a5461030990600160b01b900460ff1681565b34801561080557600080fd5b50610362610814366004611b65565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561084b57600080fd5b50610362601d5481565b34801561086157600080fd5b50610408610870366004611b2b565b610cce565b34801561088157600080fd5b50610362600d5481565b34801561089757600080fd5b506104086108a6366004611b2b565b610d1c565b3480156108b757600080fd5b50601a5461030990600160b81b900460ff1681565b6060600280546108db90611e5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090790611e5f565b80156109545780601f1061092957610100808354040283529160200191610954565b820191906000526020600020905b81548152906001019060200180831161093757829003601f168201915b5050505050905090565b600061096b338484610e65565b5060015b92915050565b6000610982848484610f89565b506109d584336109d085604051806060016040528060288152602001611edf602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906113be565b610e65565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161096b9185906109d09086610e06565b6000546001600160a01b03163314610a495760405162461bcd60e51b8152600401610a4090611d5d565b60405180910390fd5b601655565b6000546001600160a01b03163314610a785760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610acd5760405162461bcd60e51b8152600401610a4090611d5d565b600e829055600f819055610ae18282610e06565b6014555050565b6000546001600160a01b03163314610b125760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b675760405162461bcd60e51b8152600401610a4090611d5d565b601d5460056000610b806000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055565b6000546001600160a01b03163314610bc65760405162461bcd60e51b8152600401610a4090611d5d565b601a8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610c1390831515815260200190565b60405180910390a150565b6060600380546108db90611e5f565b6000546001600160a01b03163314610c575760405162461bcd60e51b8152600401610a4090611d5d565b600c829055600d819055610c6b8282610e06565b6013555050565b600061096b33846109d085604051806060016040528060258152602001611f07602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906113be565b60006109d5338484610f89565b6000546001600160a01b03163314610cf85760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610d465760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b038116610dab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a40565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610e138385611def565b9050838110156109d95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a40565b6001600160a01b038316610ec75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a40565b6001600160a01b038216610f285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a40565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610fef5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a40565b6001600160a01b0383166110515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a40565b6001600160a01b03841660009081526007602052604090205460ff16156110b15760405162461bcd60e51b815260206004820152601460248201527320b1b1b7bab73a1034b990309021b432b0ba32b960611b6044820152606401610a40565b601a54600160a01b900460ff16156110d5576110ce8484846113f8565b90506109d9565b6001600160a01b0384166000908152600a602052604090205460ff1615801561111757506001600160a01b0383166000908152600a602052604090205460ff16155b1561117f5760185482111561117f5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a40565b30600090815260056020526040902054601654811080159081906111ad5750601a54600160a01b900460ff16155b80156111d257506001600160a01b0386166000908152600b602052604090205460ff16155b80156111e75750601a54600160a81b900460ff165b1561120d57601a54600160b01b900460ff16156112045760165491505b61120d826114de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526005909152919091205461125f9186906113be565b6001600160a01b038716600090815260056020908152604080832093909355600890529081205460ff16806112ac57506001600160a01b03861660009081526008602052604090205460ff165b6112c0576112bb87878761161e565b6112c2565b845b601a54909150600160b81b900460ff1680156112f757506001600160a01b03861660009081526009602052604090205460ff16155b156113335760175461132882611322896001600160a01b031660009081526005602052604090205490565b90610e06565b111561133357600080fd5b6001600160a01b0386166000908152600560205260409020546113569082610e06565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113aa9085815260200190565b60405180910390a3600193505050506109d9565b600081848411156113e25760405162461bcd60e51b8152600401610a409190611d08565b5060006113ef8486611e48565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546114499184906113be565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546114789083610e06565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114cc9086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b1790556012546011546000916115149160029161150e9182908790611724565b906117a3565b9050600061152283836117e5565b905061152d81611827565b601154479060009061154d906115449060026117a3565b601254906117e5565b9050600061156f600261150e8461150e6011548861172490919063ffffffff16565b9050600061158c8361150e6010548761172490919063ffffffff16565b905060006115a48261159e87866117e5565b906117e5565b905080156115c7576004546115c79061010090046001600160a01b0316826119c9565b81156115e8576004546115e89061010090046001600160a01b0316836119c9565b6000831180156115f85750600087115b15611607576116078784611a04565b5050601a805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff16156116625761165b606461150e6013548661172490919063ffffffff16565b90506116a0565b6001600160a01b0384166000908152600b602052604090205460ff16156116a05761169d606461150e6014548661172490919063ffffffff16565b90505b801561171a57306000908152600560205260409020546116c09082610e06565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117119085815260200190565b60405180910390a35b6113ef83826117e5565b6000826117335750600061096f565b600061173f8385611e29565b90508261174c8583611e07565b146109d95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a40565b60006109d983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ae8565b60006109d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113be565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061185c5761185c611eb0565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156118b057600080fd5b505afa1580156118c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e89190611b48565b816001815181106118fb576118fb611eb0565b6001600160a01b0392831660209182029290920101526019546119219130911684610e65565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac9479061195a908590600090869030904290600401611db3565b600060405180830381600087803b15801561197457600080fd5b505af1158015611988573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516119bd929190611d92565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156119ff573d6000803e3d6000fd5b505050565b601954611a1c9030906001600160a01b031684610e65565b6019546001600160a01b031663f305d719823085600080611a456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611aa857600080fd5b505af1158015611abc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae19190611c96565b5050505050565b60008183611b095760405162461bcd60e51b8152600401610a409190611d08565b5060006113ef8486611e07565b80358015158114611b2657600080fd5b919050565b600060208284031215611b3d57600080fd5b81356109d981611ec6565b600060208284031215611b5a57600080fd5b81516109d981611ec6565b60008060408385031215611b7857600080fd5b8235611b8381611ec6565b91506020830135611b9381611ec6565b809150509250929050565b600080600060608486031215611bb357600080fd5b8335611bbe81611ec6565b92506020840135611bce81611ec6565b929592945050506040919091013590565b60008060408385031215611bf257600080fd5b8235611bfd81611ec6565b9150611c0b60208401611b16565b90509250929050565b60008060408385031215611c2757600080fd5b8235611c3281611ec6565b946020939093013593505050565b600060208284031215611c5257600080fd5b6109d982611b16565b600060208284031215611c6d57600080fd5b5035919050565b60008060408385031215611c8757600080fd5b50508035926020909101359150565b600080600060608486031215611cab57600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b83811015611cfd5781516001600160a01b031687529582019590820190600101611cd8565b509495945050505050565b600060208083528351808285015260005b81811015611d3557858101830151858201604001528201611d19565b81811115611d47576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000611dab6040830184611cc4565b949350505050565b85815284602082015260a060408201526000611dd260a0830186611cc4565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611e0257611e02611e9a565b500190565b600082611e2457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611e4357611e43611e9a565b500290565b600082821015611e5a57611e5a611e9a565b500390565b600181811c90821680611e7357607f821691505b60208210811415611e9457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611edb57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f0041cfa8a76b2f31b02d7d4215d775655ab24695fb66005256470c89b77232a64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106102b25760003560e01c8063818ba7c411610175578063a457c2d7116100dc578063da00097d11610095578063f10e43161161006f578063f10e431614610855578063f285737d14610875578063f2fde38b1461088b578063f872858a146108ab57600080fd5b8063da00097d146107d8578063dd62ed3e146107f9578063e627f2db1461083f57600080fd5b8063a457c2d714610736578063a9059cbb14610756578063b4cee6aa14610776578063b60f75d81461078c578063baeb7a7d146107a2578063c816841b146107b857600080fd5b80638da5cb5b1161012e5780638da5cb5b1461069857806394faf34e146106b657806395d89b41146106d65780639974047e146106eb578063a073d37f1461070b578063a08e671f1461072057600080fd5b8063818ba7c4146105ed578063825e43c51461061d57806384141be31461064d578063844d591c14610663578063880ec04e14610683578063893d20e81461069857600080fd5b80633ff6f0021161021957806357a5802f116101d257806357a5802f1461053f57806361a23c69146105555780636c4afa151461056b57806370a082311461058b5780637d1db4a5146105c1578063807c2d9c146105d757600080fd5b80633ff6f00214610480578063438a7aa6146104a05780634626402b146104b65780634a74bb02146104db5780635342acb4146104fc578063557ed1ba1461052c57600080fd5b8063313ce5671161026b578063313ce567146103a657806339509351146103c85780633b97084a146103e85780633d1808101461040a5780633ecad2711461043a5780633ef947211461046a57600080fd5b806306fdde03146102be578063095ea7b3146102e95780631694505e1461031957806318160ddd1461035157806323b872dd146103705780632fd49a141461039057600080fd5b366102b957005b600080fd5b3480156102ca57600080fd5b506102d36108cc565b6040516102e09190611d08565b60405180910390f35b3480156102f557600080fd5b50610309610304366004611c14565b61095e565b60405190151581526020016102e0565b34801561032557600080fd5b50601954610339906001600160a01b031681565b6040516001600160a01b0390911681526020016102e0565b34801561035d57600080fd5b506015545b6040519081526020016102e0565b34801561037c57600080fd5b5061030961038b366004611b9e565b610975565b34801561039c57600080fd5b50610362600c5481565b3480156103b257600080fd5b5060045460405160ff90911681526020016102e0565b3480156103d457600080fd5b506103096103e3366004611c14565b6109e0565b3480156103f457600080fd5b50610408610403366004611c5b565b610a16565b005b34801561041657600080fd5b50610309610425366004611b2b565b600a6020526000908152604090205460ff1681565b34801561044657600080fd5b50610309610455366004611b2b565b600b6020526000908152604090205460ff1681565b34801561047657600080fd5b5061036260145481565b34801561048c57600080fd5b5061040861049b366004611bdf565b610a4e565b3480156104ac57600080fd5b50610362601c5481565b3480156104c257600080fd5b506004546103399061010090046001600160a01b031681565b3480156104e757600080fd5b50601a5461030990600160a81b900460ff1681565b34801561050857600080fd5b50610309610517366004611b2b565b60086020526000908152604090205460ff1681565b34801561053857600080fd5b5042610362565b34801561054b57600080fd5b5061036260115481565b34801561056157600080fd5b5061036260105481565b34801561057757600080fd5b50610408610586366004611c74565b610aa3565b34801561059757600080fd5b506103626105a6366004611b2b565b6001600160a01b031660009081526005602052604090205490565b3480156105cd57600080fd5b5061036260185481565b3480156105e357600080fd5b5061036260175481565b3480156105f957600080fd5b50610309610608366004611b2b565b60076020526000908152604090205460ff1681565b34801561062957600080fd5b50610309610638366004611b2b565b60096020526000908152604090205460ff1681565b34801561065957600080fd5b50610362600e5481565b34801561066f57600080fd5b5061040861067e366004611bdf565b610ae8565b34801561068f57600080fd5b50610408610b3d565b3480156106a457600080fd5b506000546001600160a01b0316610339565b3480156106c257600080fd5b506104086106d1366004611c40565b610b9c565b3480156106e257600080fd5b506102d3610c1e565b3480156106f757600080fd5b50610408610706366004611c74565b610c2d565b34801561071757600080fd5b50601654610362565b34801561072c57600080fd5b5061036260125481565b34801561074257600080fd5b50610309610751366004611c14565b610c72565b34801561076257600080fd5b50610309610771366004611c14565b610cc1565b34801561078257600080fd5b50610362600f5481565b34801561079857600080fd5b50610362601b5481565b3480156107ae57600080fd5b5061036260135481565b3480156107c457600080fd5b50601a54610339906001600160a01b031681565b3480156107e457600080fd5b50601a5461030990600160b01b900460ff1681565b34801561080557600080fd5b50610362610814366004611b65565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561084b57600080fd5b50610362601d5481565b34801561086157600080fd5b50610408610870366004611b2b565b610cce565b34801561088157600080fd5b50610362600d5481565b34801561089757600080fd5b506104086108a6366004611b2b565b610d1c565b3480156108b757600080fd5b50601a5461030990600160b81b900460ff1681565b6060600280546108db90611e5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090790611e5f565b80156109545780601f1061092957610100808354040283529160200191610954565b820191906000526020600020905b81548152906001019060200180831161093757829003601f168201915b5050505050905090565b600061096b338484610e65565b5060015b92915050565b6000610982848484610f89565b506109d584336109d085604051806060016040528060288152602001611edf602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906113be565b610e65565b5060015b9392505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161096b9185906109d09086610e06565b6000546001600160a01b03163314610a495760405162461bcd60e51b8152600401610a4090611d5d565b60405180910390fd5b601655565b6000546001600160a01b03163314610a785760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610acd5760405162461bcd60e51b8152600401610a4090611d5d565b600e829055600f819055610ae18282610e06565b6014555050565b6000546001600160a01b03163314610b125760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b675760405162461bcd60e51b8152600401610a4090611d5d565b601d5460056000610b806000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055565b6000546001600160a01b03163314610bc65760405162461bcd60e51b8152600401610a4090611d5d565b601a8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610c1390831515815260200190565b60405180910390a150565b6060600380546108db90611e5f565b6000546001600160a01b03163314610c575760405162461bcd60e51b8152600401610a4090611d5d565b600c829055600d819055610c6b8282610e06565b6013555050565b600061096b33846109d085604051806060016040528060258152602001611f07602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906113be565b60006109d5338484610f89565b6000546001600160a01b03163314610cf85760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b03163314610d465760405162461bcd60e51b8152600401610a4090611d5d565b6001600160a01b038116610dab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a40565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610e138385611def565b9050838110156109d95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a40565b6001600160a01b038316610ec75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a40565b6001600160a01b038216610f285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a40565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610fef5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a40565b6001600160a01b0383166110515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a40565b6001600160a01b03841660009081526007602052604090205460ff16156110b15760405162461bcd60e51b815260206004820152601460248201527320b1b1b7bab73a1034b990309021b432b0ba32b960611b6044820152606401610a40565b601a54600160a01b900460ff16156110d5576110ce8484846113f8565b90506109d9565b6001600160a01b0384166000908152600a602052604090205460ff1615801561111757506001600160a01b0383166000908152600a602052604090205460ff16155b1561117f5760185482111561117f5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a40565b30600090815260056020526040902054601654811080159081906111ad5750601a54600160a01b900460ff16155b80156111d257506001600160a01b0386166000908152600b602052604090205460ff16155b80156111e75750601a54600160a81b900460ff165b1561120d57601a54600160b01b900460ff16156112045760165491505b61120d826114de565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03891660009081526005909152919091205461125f9186906113be565b6001600160a01b038716600090815260056020908152604080832093909355600890529081205460ff16806112ac57506001600160a01b03861660009081526008602052604090205460ff165b6112c0576112bb87878761161e565b6112c2565b845b601a54909150600160b81b900460ff1680156112f757506001600160a01b03861660009081526009602052604090205460ff16155b156113335760175461132882611322896001600160a01b031660009081526005602052604090205490565b90610e06565b111561133357600080fd5b6001600160a01b0386166000908152600560205260409020546113569082610e06565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113aa9085815260200190565b60405180910390a3600193505050506109d9565b600081848411156113e25760405162461bcd60e51b8152600401610a409190611d08565b5060006113ef8486611e48565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546114499184906113be565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546114789083610e06565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114cc9086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b1790556012546011546000916115149160029161150e9182908790611724565b906117a3565b9050600061152283836117e5565b905061152d81611827565b601154479060009061154d906115449060026117a3565b601254906117e5565b9050600061156f600261150e8461150e6011548861172490919063ffffffff16565b9050600061158c8361150e6010548761172490919063ffffffff16565b905060006115a48261159e87866117e5565b906117e5565b905080156115c7576004546115c79061010090046001600160a01b0316826119c9565b81156115e8576004546115e89061010090046001600160a01b0316836119c9565b6000831180156115f85750600087115b15611607576116078784611a04565b5050601a805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff16156116625761165b606461150e6013548661172490919063ffffffff16565b90506116a0565b6001600160a01b0384166000908152600b602052604090205460ff16156116a05761169d606461150e6014548661172490919063ffffffff16565b90505b801561171a57306000908152600560205260409020546116c09082610e06565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117119085815260200190565b60405180910390a35b6113ef83826117e5565b6000826117335750600061096f565b600061173f8385611e29565b90508261174c8583611e07565b146109d95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a40565b60006109d983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ae8565b60006109d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113be565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061185c5761185c611eb0565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156118b057600080fd5b505afa1580156118c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e89190611b48565b816001815181106118fb576118fb611eb0565b6001600160a01b0392831660209182029290920101526019546119219130911684610e65565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac9479061195a908590600090869030904290600401611db3565b600060405180830381600087803b15801561197457600080fd5b505af1158015611988573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516119bd929190611d92565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156119ff573d6000803e3d6000fd5b505050565b601954611a1c9030906001600160a01b031684610e65565b6019546001600160a01b031663f305d719823085600080611a456000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611aa857600080fd5b505af1158015611abc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ae19190611c96565b5050505050565b60008183611b095760405162461bcd60e51b8152600401610a409190611d08565b5060006113ef8486611e07565b80358015158114611b2657600080fd5b919050565b600060208284031215611b3d57600080fd5b81356109d981611ec6565b600060208284031215611b5a57600080fd5b81516109d981611ec6565b60008060408385031215611b7857600080fd5b8235611b8381611ec6565b91506020830135611b9381611ec6565b809150509250929050565b600080600060608486031215611bb357600080fd5b8335611bbe81611ec6565b92506020840135611bce81611ec6565b929592945050506040919091013590565b60008060408385031215611bf257600080fd5b8235611bfd81611ec6565b9150611c0b60208401611b16565b90509250929050565b60008060408385031215611c2757600080fd5b8235611c3281611ec6565b946020939093013593505050565b600060208284031215611c5257600080fd5b6109d982611b16565b600060208284031215611c6d57600080fd5b5035919050565b60008060408385031215611c8757600080fd5b50508035926020909101359150565b600080600060608486031215611cab57600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b83811015611cfd5781516001600160a01b031687529582019590820190600101611cd8565b509495945050505050565b600060208083528351808285015260005b81811015611d3557858101830151858201604001528201611d19565b81811115611d47576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000611dab6040830184611cc4565b949350505050565b85815284602082015260a060408201526000611dd260a0830186611cc4565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611e0257611e02611e9a565b500190565b600082611e2457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611e4357611e43611e9a565b500290565b600082821015611e5a57611e5a611e9a565b500390565b600181811c90821680611e7357607f821691505b60208210811415611e9457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611edb57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f0041cfa8a76b2f31b02d7d4215d775655ab24695fb66005256470c89b77232a64736f6c63430008070033
Deployed Bytecode Sourcemap
14285:11982:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17844:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19142:161;;;;;;;;;;-1:-1:-1;19142:161:0;;;;;:::i;:::-;;:::i;:::-;;;4790:14:1;;4783:22;4765:41;;4753:2;4738:18;19142:161:0;4625:187:1;15680:41:0;;;;;;;;;;-1:-1:-1;15680:41:0;;;;-1:-1:-1;;;;;15680:41:0;;;;;;-1:-1:-1;;;;;3745:32:1;;;3727:51;;3715:2;3700:18;15680:41:0;3581:203:1;18121:100:0;;;;;;;;;;-1:-1:-1;18201:12:0;;18121:100;;;9702:25:1;;;9690:2;9675:18;18121:100:0;9556:177:1;21268:303:0;;;;;;;;;;-1:-1:-1;21268:303:0;;;;;:::i;:::-;;:::i;15035:35::-;;;;;;;;;;;;;;;;17935:83;;;;;;;;;;-1:-1:-1;18001:9:0;;17935:83;;18001:9;;;;10804:36:1;;10792:2;10777:18;17935:83:0;10662:184:1;18511:218:0;;;;;;;;;;-1:-1:-1;18511:218:0;;;;;:::i;:::-;;:::i;20430:124::-;;;;;;;;;;-1:-1:-1;20430:124:0;;;;;:::i;:::-;;:::i;:::-;;14930:44;;;;;;;;;;-1:-1:-1;14930:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14981:45;;;;;;;;;;-1:-1:-1;14981:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15375:32;;;;;;;;;;;;;;;;20291:131;;;;;;;;;;-1:-1:-1;20291:131:0;;;;;:::i;:::-;;:::i;16498:45::-;;;;;;;;;;;;;;;;14544:91;;;;;;;;;;-1:-1:-1;14544:91:0;;;;;;;-1:-1:-1;;;;;14544:91:0;;;15795:40;;;;;;;;;;-1:-1:-1;15795:40:0;;;;-1:-1:-1;;;15795:40:0;;;;;;14818:50;;;;;;;;;;-1:-1:-1;14818:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6354:90;;;;;;;;;;-1:-1:-1;6421:15:0;6354:90;;15246:34;;;;;;;;;;;;;;;;15205;;;;;;;;;;;;;;;;19791:245;;;;;;;;;;-1:-1:-1;19791:245:0;;;;;:::i;:::-;;:::i;18229:123::-;;;;;;;;;;-1:-1:-1;18229:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;18322:22:0;18295:7;18322:22;;;:13;:22;;;;;;;18229:123;15614:55;;;;;;;;;;;;;;;;15553:53;;;;;;;;;;;;;;;;14769:42;;;;;;;;;;-1:-1:-1;14769:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14875:48;;;;;;;;;;-1:-1:-1;14875:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15118:36;;;;;;;;;;;;;;;;19654:129;;;;;;;;;;-1:-1:-1;19654:129:0;;;;;:::i;:::-;;:::i;20917:86::-;;;;;;;;;;;;;:::i;5880:82::-;;;;;;;;;;-1:-1:-1;5921:7:0;5948:6;-1:-1:-1;;;;;5948:6:0;5880:82;;20562:172;;;;;;;;;;-1:-1:-1;20562:172:0;;;;;:::i;:::-;;:::i;18026:87::-;;;;;;;;;;;;;:::i;20044:239::-;;;;;;;;;;-1:-1:-1;20044:239:0;;;;;:::i;:::-;;:::i;19014:120::-;;;;;;;;;;-1:-1:-1;19103:23:0;;19014:120;;15287:43;;;;;;;;;;;;;;;;18737:269;;;;;;;;;;-1:-1:-1;18737:269:0;;;;;:::i;:::-;;:::i;21100:157::-;;;;;;;;;;-1:-1:-1;21100:157:0;;;;;:::i;:::-;;:::i;15161:35::-;;;;;;;;;;;;;;;;16442:49;;;;;;;;;;;;;;;;15337:31;;;;;;;;;;;;;;;;15728:26;;;;;;;;;;-1:-1:-1;15728:26:0;;;;-1:-1:-1;;;;;15728:26:0;;;15842:45;;;;;;;;;;-1:-1:-1;15842:45:0;;;;-1:-1:-1;;;15842:45:0;;;;;;18360:143;;;;;;;;;;-1:-1:-1;18360:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18468:18:0;;;18441:7;18468:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18360:143;16550:65;;;;;;;;;;;;;;;;25566:102;;;;;;;;;;-1:-1:-1;25566:102:0;;;;;:::i;:::-;;:::i;15077:34::-;;;;;;;;;;;;;;;;6098:244;;;;;;;;;;-1:-1:-1;6098:244:0;;;;;:::i;:::-;;:::i;15894:35::-;;;;;;;;;;-1:-1:-1;15894:35:0;;;;-1:-1:-1;;;15894:35:0;;;;;;17844:83;17881:13;17914:5;17907:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17844:83;:::o;19142:161::-;19217:4;19234:39;225:10;19257:7;19266:6;19234:8;:39::i;:::-;-1:-1:-1;19291:4:0;19142:161;;;;;:::o;21268:303::-;21366:4;21383:36;21393:6;21401:9;21412:6;21383:9;:36::i;:::-;-1:-1:-1;21430:121:0;21439:6;225:10;21461:89;21499:6;21461:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21461:19:0;;;;;;:11;:19;;;;;;;;225:10;21461:33;;;;;;;;;;:37;:89::i;:::-;21430:8;:121::i;:::-;-1:-1:-1;21559:4:0;21268:303;;;;;;:::o;18511:218::-;225:10;18599:4;18648:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18648:34:0;;;;;;;;;;18599:4;;18616:83;;18639:7;;18648:50;;18687:10;18648:38;:50::i;20430:124::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;;;;;;;;;20512:23:::1;:34:::0;20430:124::o;20291:131::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20382:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;20382:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20291:131::o;19791:245::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;19888:17:::1;:32:::0;;;19931:16:::1;:31:::0;;;19989:39:::1;19908:12:::0;19950;19989:21:::1;:39::i;:::-;19973:13;:55:::0;-1:-1:-1;;19791:245:0:o;19654:129::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19743:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;19743:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19654:129::o;20917:86::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;20986:15:::1;;20961:13;:22;20975:7;5921::::0;5948:6;-1:-1:-1;;;;;5948:6:0;;5880:82;20975:7:::1;-1:-1:-1::0;;;;;20961:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20961:22:0;:40;20917:86::o;20562:172::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;20640:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;20640:32:0::1;-1:-1:-1::0;;;;20640:32:0;;::::1;;::::0;;20688:38:::1;::::0;::::1;::::0;::::1;::::0;20664:8;4790:14:1;4783:22;4765:41;;4753:2;4738:18;;4625:187;20688:38:0::1;;;;;;;;20562:172:::0;:::o;18026:87::-;18065:13;18098:7;18091:14;;;;;:::i;20044:239::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;20140:16:::1;:31:::0;;;20182:15:::1;:30:::0;;;20238:37:::1;20159:12:::0;20200;20238:20:::1;:37::i;:::-;20223:12;:52:::0;-1:-1:-1;;20044:239:0:o;18737:269::-;18830:4;18847:129;225:10;18870:7;18879:96;18918:15;18879:96;;;;;;;;;;;;;;;;;225:10;18879:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18879:34:0;;;;;;;;;;;;:38;:96::i;21100:157::-;21178:4;21195:42;225:10;21219:9;21230:6;21195:9;:42::i;25566:102::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25634:19:0::1;;::::0;;;:9:::1;:19;::::0;;;;:26;;-1:-1:-1;;25634:26:0::1;25656:4;25634:26;::::0;;25566:102::o;6098:244::-;6011:6;;-1:-1:-1;;;;;6011:6:0;225:10;6011:22;6003:67;;;;-1:-1:-1;;;6003:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6187:22:0;::::1;6179:73;;;::::0;-1:-1:-1;;;6179:73:0;;6260:2:1;6179:73:0::1;::::0;::::1;6242:21:1::0;6299:2;6279:18;;;6272:30;6338:34;6318:18;;;6311:62;-1:-1:-1;;;6389:18:1;;;6382:36;6435:19;;6179:73:0::1;6058:402:1::0;6179:73:0::1;6289:6;::::0;;6268:38:::1;::::0;-1:-1:-1;;;;;6268:38:0;;::::1;::::0;6289:6;::::1;::::0;6268:38:::1;::::0;::::1;6317:6;:17:::0;;-1:-1:-1;;;;;;6317:17:0::1;-1:-1:-1::0;;;;;6317:17:0;;;::::1;::::0;;;::::1;::::0;;6098:244::o;1193:181::-;1251:7;;1283:5;1287:1;1283;:5;:::i;:::-;1271:17;;1312:1;1307;:6;;1299:46;;;;-1:-1:-1;;;1299:46:0;;7070:2:1;1299:46:0;;;7052:21:1;7109:2;7089:18;;;7082:30;7148:29;7128:18;;;7121:57;7195:18;;1299:46:0;6868:351:1;19311:335:0;-1:-1:-1;;;;;19404:19:0;;19396:68;;;;-1:-1:-1;;;19396:68:0;;9004:2:1;19396:68:0;;;8986:21:1;9043:2;9023:18;;;9016:30;9082:34;9062:18;;;9055:62;-1:-1:-1;;;9133:18:1;;;9126:34;9177:19;;19396:68:0;8802:400:1;19396:68:0;-1:-1:-1;;;;;19483:21:0;;19475:68;;;;-1:-1:-1;;;19475:68:0;;6667:2:1;19475:68:0;;;6649:21:1;6706:2;6686:18;;;6679:30;6745:34;6725:18;;;6718:62;-1:-1:-1;;;6796:18:1;;;6789:32;6838:19;;19475:68:0;6465:398:1;19475:68:0;-1:-1:-1;;;;;19554:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19606:32;;9702:25:1;;;19606:32:0;;9675:18:1;19606:32:0;;;;;;;19311:335;;;:::o;21579:1684::-;21666:4;-1:-1:-1;;;;;21691:20:0;;21683:70;;;;-1:-1:-1;;;21683:70:0;;8598:2:1;21683:70:0;;;8580:21:1;8637:2;8617:18;;;8610:30;8676:34;8656:18;;;8649:62;-1:-1:-1;;;8727:18:1;;;8720:35;8772:19;;21683:70:0;8396:401:1;21683:70:0;-1:-1:-1;;;;;21772:23:0;;21764:71;;;;-1:-1:-1;;;21764:71:0;;5856:2:1;21764:71:0;;;5838:21:1;5895:2;5875:18;;;5868:30;5934:34;5914:18;;;5907:62;-1:-1:-1;;;5985:18:1;;;5978:33;6028:19;;21764:71:0;5654:399:1;21764:71:0;-1:-1:-1;;;;;21855:17:0;;;;;;:9;:17;;;;;;;;21854:18;21846:51;;;;-1:-1:-1;;;21846:51:0;;9409:2:1;21846:51:0;;;9391:21:1;9448:2;9428:18;;;9421:30;-1:-1:-1;;;9467:18:1;;;9460:50;9527:18;;21846:51:0;9207:344:1;21846:51:0;21911:16;;-1:-1:-1;;;21911:16:0;;;;21908:1348;;;21961:41;21976:6;21984:9;21995:6;21961:14;:41::i;:::-;21954:48;;;;21908:1348;-1:-1:-1;;;;;22058:19:0;;;;;;:11;:19;;;;;;;;22057:20;:47;;;;-1:-1:-1;;;;;;22082:22:0;;;;;;:11;:22;;;;;;;;22081:23;22057:47;22054:162;;;22143:12;;22133:6;:22;;22125:75;;;;-1:-1:-1;;;22125:75:0;;7426:2:1;22125:75:0;;;7408:21:1;7465:2;7445:18;;;7438:30;7504:34;7484:18;;;7477:62;-1:-1:-1;;;7555:18:1;;;7548:38;7603:19;;22125:75:0;7224:404:1;22125:75:0;22279:4;22230:28;18322:22;;;:13;:22;;;;;;22355:23;;22331:47;;;;;;;22397:44;;-1:-1:-1;22425:16:0;;-1:-1:-1;;;22425:16:0;;;;22424:17;22397:44;:69;;;;-1:-1:-1;;;;;;22446:20:0;;;;;;:12;:20;;;;;;;;22445:21;22397:69;:94;;;;-1:-1:-1;22470:21:0;;-1:-1:-1;;;22470:21:0;;;;22397:94;22393:305;;;22529:25;;-1:-1:-1;;;22529:25:0;;;;22526:97;;;22600:23;;22577:46;;22526:97;22642:36;22657:20;22642:14;:36::i;:::-;22736:57;;;;;;;;;;;-1:-1:-1;;;22736:57:0;;;;;;;;-1:-1:-1;;;;;22736:21:0;;-1:-1:-1;22736:21:0;;;:13;:21;;;;;;;;:57;;22762:6;;22736:25;:57::i;:::-;-1:-1:-1;;;;;22712:21:0;;;;;;:13;:21;;;;;;;;:81;;;;22831:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;22860:28:0;;;;;;:17;:28;;;;;;;;22831:57;22830:105;;22901:34;22909:6;22917:9;22928:6;22901:7;:34::i;:::-;22830:105;;;22892:6;22830:105;22953:16;;22808:127;;-1:-1:-1;;;;22953:16:0;;;;:47;;;;-1:-1:-1;;;;;;22974:26:0;;;;;;:15;:26;;;;;;;;22973:27;22953:47;22950:125;;;23064:10;;23023:37;23048:11;23023:20;23033:9;-1:-1:-1;;;;;18322:22:0;18295:7;18322:22;;;:13;:22;;;;;;;18229:123;23023:20;:24;;:37::i;:::-;:51;;23015:60;;;;;;-1:-1:-1;;;;;23117:24:0;;;;;;:13;:24;;;;;;:41;;23146:11;23117:28;:41::i;:::-;-1:-1:-1;;;;;23090:24:0;;;;;;;:13;:24;;;;;;;:68;;;;23178:40;;;;;;;;;;23206:11;9702:25:1;;9690:2;9675:18;;9556:177;23178:40:0;;;;;;;;23240:4;23233:11;;;;;;;1526:192;1612:7;1648:12;1640:6;;;;1632:29;;;;-1:-1:-1;;;1632:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1672:9:0;1684:5;1688:1;1684;:5;:::i;:::-;1672:17;1526:192;-1:-1:-1;;;;;1526:192:0:o;23271:346::-;23405:57;;;;;;;;;;;-1:-1:-1;;;23405:57:0;;;;;;;;-1:-1:-1;;;;;23405:21:0;;23364:4;23405:21;;;:13;:21;;;;;;;:57;;23431:6;;23405:25;:57::i;:::-;-1:-1:-1;;;;;23381:21:0;;;;;;;:13;:21;;;;;;:81;;;;23500:24;;;;;;;:36;;23529:6;23500:28;:36::i;:::-;-1:-1:-1;;;;;23473:24:0;;;;;;;:13;:24;;;;;;;:63;;;;23552:35;;;;;;;;;;23580:6;9702:25:1;;9690:2;9675:18;;9556:177;23552:35:0;;;;;;;;-1:-1:-1;23605:4:0;23271:346;;;;;:::o;23625:1027::-;16356:16;:23;;-1:-1:-1;;;;16356:23:0;-1:-1:-1;;;16356:23:0;;;23753:24:::1;::::0;23732:15:::1;::::0;16356:23;;23720:65:::1;::::0;23783:1:::1;::::0;23720:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;23698:87:::0;-1:-1:-1;23796:21:0::1;23820:24;:7:::0;23698:87;23820:11:::1;:24::i;:::-;23796:48;;23857:31;23874:13;23857:16;:31::i;:::-;24007:15;::::0;23924:21:::1;::::0;23899:22:::1;::::0;23978:52:::1;::::0;24007:22:::1;::::0;24027:1:::1;24007:19;:22::i;:::-;23978:24;::::0;;:28:::1;:52::i;:::-;23956:74;;24051:26;24080:59;24137:1;24080:52;24120:11;24080:35;24099:15;;24080:14;:18;;:35;;;;:::i;:59::-;24051:88;;24150:21;24174:52;24214:11;24174:35;24193:15;;24174:14;:18;;:35;;;;:::i;:52::-;24150:76:::0;-1:-1:-1;24237:26:0::1;24266:57;24150:76:::0;24266:38:::1;:14:::0;24285:18;24266::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;24237:86:::0;-1:-1:-1;24339:22:0;;24336:96:::1;;24397:14;::::0;24376:56:::1;::::0;24397:14:::1;::::0;::::1;-1:-1:-1::0;;;;;24397:14:0::1;24413:18:::0;24376:20:::1;:56::i;:::-;24446:17:::0;;24443:86:::1;;24499:14;::::0;24478:51:::1;::::0;24499:14:::1;::::0;::::1;-1:-1:-1::0;;;;;24499:14:0::1;24515:13:::0;24478:20:::1;:51::i;:::-;24564:1;24543:18;:22;:41;;;;;24583:1;24569:11;:15;24543:41;24540:104;;;24599:45;24612:11;24625:18;24599:12;:45::i;:::-;-1:-1:-1::0;;16402:16:0;:24;;-1:-1:-1;;;;16402:24:0;;;-1:-1:-1;;;;;;23625:1027:0:o;25676:588::-;-1:-1:-1;;;;;25817:20:0;;25762:7;25817:20;;;:12;:20;;;;;;25762:7;;25817:20;;25814:213;;;25866:33;25895:3;25866:24;25877:12;;25866:6;:10;;:24;;;;:::i;:33::-;25854:45;;25814:213;;;-1:-1:-1;;;;;25929:23:0;;;;;;:12;:23;;;;;;;;25926:101;;;25981:34;26011:3;25981:25;25992:13;;25981:6;:10;;:25;;;;:::i;:34::-;25969:46;;25926:101;26040:13;;26037:181;;26123:4;26101:28;;;;:13;:28;;;;;;:43;;26134:9;26101:32;:43::i;:::-;26092:4;26070:28;;;;:13;:28;;;;;;;:74;;;;26164:42;;-1:-1:-1;;;;;26164:42:0;;;;;;;26196:9;9702:25:1;;9690:2;9675:18;;9556:177;26164:42:0;;;;;;;;26037:181;26235:21;:6;26246:9;26235:10;:21::i;1726:250::-;1784:7;1808:6;1804:47;;-1:-1:-1;1838:1:0;1831:8;;1804:47;1863:9;1875:5;1879:1;1875;:5;:::i;:::-;1863:17;-1:-1:-1;1908:1:0;1899:5;1903:1;1863:17;1899:5;:::i;:::-;:10;1891:56;;;;-1:-1:-1;;;1891:56:0;;7835:2:1;1891:56:0;;;7817:21:1;7874:2;7854:18;;;7847:30;7913:34;7893:18;;;7886:62;-1:-1:-1;;;7964:18:1;;;7957:31;8005:19;;1891:56:0;7633:397:1;1984:132:0;2042:7;2069:39;2073:1;2076;2069:39;;;;;;;;;;;;;;;;;:3;:39::i;1382:136::-;1440:7;1467:43;1471:1;1474;1467:43;;;;;;;;;;;;;;;;;:3;:43::i;24664:522::-;24754:16;;;24768:1;24754:16;;;;;;;;24730:21;;24754:16;;;;;;;;;;-1:-1:-1;24754:16:0;24730:40;;24799:4;24781;24786:1;24781:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24781:23:0;;;:7;;;;;;;;;;:23;;;;24825:15;;:22;;;-1:-1:-1;;;24825:22:0;;;;:15;;;;;:20;;:22;;;;;24781:7;;24825:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24815:4;24820:1;24815:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24815:32:0;;;:7;;;;;;;;;:32;24890:15;;24858:62;;24875:4;;24890:15;24908:11;24858:8;:62::i;:::-;24931:15;;:196;;-1:-1:-1;;;24931:196:0;;-1:-1:-1;;;;;24931:15:0;;;;:66;;:196;;25012:11;;24931:15;;25054:4;;25081;;25101:15;;24931:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25143:35;25160:11;25173:4;25143:35;;;;;;;:::i;:::-;;;;;;;;24719:467;24664:522;:::o;20742:126::-;20834:26;;-1:-1:-1;;;;;20834:18:0;;;:26;;;;;20853:6;;20834:26;;;;20853:6;20834:18;:26;;;;;;;;;;;;;;;;;;;;;20742:126;;:::o;25194:362::-;25307:15;;25275:62;;25292:4;;-1:-1:-1;;;;;25307:15:0;25325:11;25275:8;:62::i;:::-;25348:15;;-1:-1:-1;;;;;25348:15:0;:31;25387:9;25420:4;25440:11;25348:15;;25500:7;5921;5948:6;-1:-1:-1;;;;;5948:6:0;;5880:82;25500:7;25348:200;;;;;;-1:-1:-1;;;;;;25348:200:0;;;-1:-1:-1;;;;;4372:15:1;;;25348:200:0;;;4354:34:1;4404:18;;;4397:34;;;;4447:18;;;4440:34;;;;4490:18;;;4483:34;4554:15;;;4533:19;;;4526:44;25522:15:0;4586:19:1;;;4579:35;4288:19;;25348:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;25194:362;;:::o;2124:278::-;2210:7;2245:12;2238:5;2230:28;;;;-1:-1:-1;;;2230:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2269:9:0;2281:5;2285:1;2281;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:52;;;832:1;829;822:12;784:52;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;687:388;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1080:456;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1080:456::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:52;;;1683:1;1680;1673:12;1635:52;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1541:315;;;;;:::o;1861:::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:52;;;2006:1;2003;1996:12;1958:52;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1861:315:1:o;2181:180::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:52;;;2306:1;2303;2296:12;2258:52;2329:26;2345:9;2329:26;:::i;2366:180::-;2425:6;2478:2;2466:9;2457:7;2453:23;2449:32;2446:52;;;2494:1;2491;2484:12;2446:52;-1:-1:-1;2517:23:1;;2366:180;-1:-1:-1;2366:180:1:o;2551:248::-;2619:6;2627;2680:2;2668:9;2659:7;2655:23;2651:32;2648:52;;;2696:1;2693;2686:12;2648:52;-1:-1:-1;;2719:23:1;;;2789:2;2774:18;;;2761:32;;-1:-1:-1;2551:248:1:o;2804:306::-;2892:6;2900;2908;2961:2;2949:9;2940:7;2936:23;2932:32;2929:52;;;2977:1;2974;2967:12;2929:52;3006:9;3000:16;2990:26;;3056:2;3045:9;3041:18;3035:25;3025:35;;3100:2;3089:9;3085:18;3079:25;3069:35;;2804:306;;;;;:::o;3115:461::-;3168:3;3206:5;3200:12;3233:6;3228:3;3221:19;3259:4;3288:2;3283:3;3279:12;3272:19;;3325:2;3318:5;3314:14;3346:1;3356:195;3370:6;3367:1;3364:13;3356:195;;;3435:13;;-1:-1:-1;;;;;3431:39:1;3419:52;;3491:12;;;;3526:15;;;;3467:1;3385:9;3356:195;;;-1:-1:-1;3567:3:1;;3115:461;-1:-1:-1;;;;;3115:461:1:o;5052:597::-;5164:4;5193:2;5222;5211:9;5204:21;5254:6;5248:13;5297:6;5292:2;5281:9;5277:18;5270:34;5322:1;5332:140;5346:6;5343:1;5340:13;5332:140;;;5441:14;;;5437:23;;5431:30;5407:17;;;5426:2;5403:26;5396:66;5361:10;;5332:140;;;5490:6;5487:1;5484:13;5481:91;;;5560:1;5555:2;5546:6;5535:9;5531:22;5527:31;5520:42;5481:91;-1:-1:-1;5633:2:1;5612:15;-1:-1:-1;;5608:29:1;5593:45;;;;5640:2;5589:54;;5052:597;-1:-1:-1;;;5052:597:1:o;8035:356::-;8237:2;8219:21;;;8256:18;;;8249:30;8315:34;8310:2;8295:18;;8288:62;8382:2;8367:18;;8035:356::o;9738:332::-;9945:6;9934:9;9927:25;9988:2;9983;9972:9;9968:18;9961:30;9908:4;10008:56;10060:2;10049:9;10045:18;10037:6;10008:56;:::i;:::-;10000:64;9738:332;-1:-1:-1;;;;9738:332:1:o;10075:582::-;10374:6;10363:9;10356:25;10417:6;10412:2;10401:9;10397:18;10390:34;10460:3;10455:2;10444:9;10440:18;10433:31;10337:4;10481:57;10533:3;10522:9;10518:19;10510:6;10481:57;:::i;:::-;-1:-1:-1;;;;;10574:32:1;;;;10569:2;10554:18;;10547:60;-1:-1:-1;10638:3:1;10623:19;10616:35;10473:65;10075:582;-1:-1:-1;;;10075:582:1:o;10851:128::-;10891:3;10922:1;10918:6;10915:1;10912:13;10909:39;;;10928:18;;:::i;:::-;-1:-1:-1;10964:9:1;;10851:128::o;10984:217::-;11024:1;11050;11040:132;;11094:10;11089:3;11085:20;11082:1;11075:31;11129:4;11126:1;11119:15;11157:4;11154:1;11147:15;11040:132;-1:-1:-1;11186:9:1;;10984:217::o;11206:168::-;11246:7;11312:1;11308;11304:6;11300:14;11297:1;11294:21;11289:1;11282:9;11275:17;11271:45;11268:71;;;11319:18;;:::i;:::-;-1:-1:-1;11359:9:1;;11206:168::o;11379:125::-;11419:4;11447:1;11444;11441:8;11438:34;;;11452:18;;:::i;:::-;-1:-1:-1;11489:9:1;;11379:125::o;11509:380::-;11588:1;11584:12;;;;11631;;;11652:61;;11706:4;11698:6;11694:17;11684:27;;11652:61;11759:2;11751:6;11748:14;11728:18;11725:38;11722:161;;;11805:10;11800:3;11796:20;11793:1;11786:31;11840:4;11837:1;11830:15;11868:4;11865:1;11858:15;11722:161;;11509:380;;;:::o;11894:127::-;11955:10;11950:3;11946:20;11943:1;11936:31;11986:4;11983:1;11976:15;12010:4;12007:1;12000:15;12026:127;12087:10;12082:3;12078:20;12075:1;12068:31;12118:4;12115:1;12108:15;12142:4;12139:1;12132:15;12290:131;-1:-1:-1;;;;;12365:31:1;;12355:42;;12345:70;;12411:1;12408;12401:12;12345:70;12290:131;:::o
Swarm Source
ipfs://f0041cfa8a76b2f31b02d7d4215d775655ab24695fb66005256470c89b77232a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.