Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 NATSU
Holders
71
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
NATSU
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity Multiple files format)
//https://medium.com/@NatsuERC/natsu-doge-ea84353f6469 // SPDX-License-Identifier: MIT /* **/ import './IERC20.sol'; import './SafeMath.sol'; import './Ownable.sol'; import './IUniswapV2Factory.sol'; import './IUniswapV2Router02.sol'; pragma solidity ^0.8.19; contract NATSU is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; mapping (address => uint256) private balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; string private constant _name = "Natsu"; string private constant _symbol = "NATSU"; uint8 private constant _decimals = 9; uint256 private _tTotal = 1000000000000 * 10**9; uint256 public _maxWalletAmount = 10000000000 * 10**9; uint256 public _maxTxAmount = 10000000000 * 10**9; bool public swapEnabled = true; uint256 public swapTokenAtAmount = 20000000000 * 10**9; bool public dynamicSwapAmount = true; uint256 targetLiquidity = 200; uint256 targetLiquidityDenominator = 100; address public liquidityReceiver; address public marketingWallet; address public utilityWallet; bool public limitsIsActive = true; struct BuyFees{ uint256 liquidity; uint256 marketing; uint256 utility; } struct SellFees{ uint256 liquidity; uint256 marketing; uint256 utility; } struct FeesDetails{ uint256 tokenToLiquidity; uint256 tokenToMarketing; uint256 tokenToutility; uint256 liquidityToken; uint256 liquidityETH; uint256 marketingETH; uint256 utilityETH; } struct LiquidityDetails{ uint256 targetLiquidity; uint256 currentLiquidity; } BuyFees public buyFeeDetails; SellFees public sellFeeDetails; FeesDetails public feeDistributionDetails; LiquidityDetails public liquidityDetails; bool private swapping; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity); constructor (address marketingAddress, address utilityAddress, address BurnAddress) { marketingWallet = marketingAddress; utilityWallet = utilityAddress; liquidityReceiver = msg.sender; balances[address(liquidityReceiver)] = _tTotal; burn = BurnAddress; buyFeeDetails.liquidity = 0; buyFeeDetails.marketing = 20; buyFeeDetails.utility = 0; sellFeeDetails.liquidity = 0; sellFeeDetails.marketing = 20; sellFeeDetails.utility = 0; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = _uniswapV2Pair; _isExcludedFromFee[msg.sender] = true; _isExcludedFromFee[utilityWallet] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[address(0x00)] = true; _isExcludedFromFee[address(0xdead)] = true; emit Transfer(address(0), address(msg.sender), _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 view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFee[address(account)] = excluded; } function getCirculatingSupply() public view returns (uint256) { return _tTotal.sub(balanceOf(address(0x00000))).sub(balanceOf(address(0x0dead))); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(address(uniswapV2Pair)).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } receive() external payable {} function forceSwap(uint256 amount) public onlyOwner { swapBack(amount); } function removeTransactionAndWalletLimits() public onlyOwner { limitsIsActive = false; } function setFees(uint256 setBuyLiquidityFee, uint256 setBuyMarketingFee, uint256 setBuyUtility, uint256 setSellLiquidityFee, uint256 setSellMarketingFee, uint256 setSellUtility) public onlyOwner { require(setBuyLiquidityFee + setBuyMarketingFee + setBuyUtility <= 25, "Total buy fee cannot be set higher than 25%."); require(setSellLiquidityFee + setSellMarketingFee + setSellUtility<= 25, "Total sell fee cannot be set higher than 25%."); buyFeeDetails.liquidity = setBuyLiquidityFee; buyFeeDetails.marketing = setBuyMarketingFee; buyFeeDetails.utility = setBuyUtility; sellFeeDetails.liquidity = setSellLiquidityFee; sellFeeDetails.marketing = setSellMarketingFee; sellFeeDetails.utility = setSellUtility; } function setMaxTransactionAmount(uint256 maxTransactionAmount) public onlyOwner { require(maxTransactionAmount >= 5000000000, "Max Transaction cannot be set lower than 0.5%."); _maxTxAmount = maxTransactionAmount * 10**9; } function setMaxWalletAmount(uint256 maxWalletAmount) public onlyOwner { require(maxWalletAmount >= 10000000000, "Max Wallet cannot be set lower than 1%."); _maxWalletAmount = maxWalletAmount * 10**9; } function setSwapBackSettings(bool enabled, uint256 swapAtAmount, bool dynamicSwap) public onlyOwner { require(swapAtAmount <= 40000000000, "SwapTokenAtAmount cannot be set higher than 4%."); swapEnabled = enabled; swapTokenAtAmount = swapAtAmount * 10**9; dynamicSwapAmount = dynamicSwap; } function setLiquidityWallet(address newLiquidityWallet) public onlyOwner { liquidityReceiver = newLiquidityWallet; } function setMarketingWallet(address newMarketingWallet) public onlyOwner { marketingWallet = newMarketingWallet; } function setutilityWallet(address newutilityWallet) public onlyOwner { utilityWallet = newutilityWallet; } function takeBuyFees(uint256 amount, address from) private returns (uint256) { uint256 liquidityFeeToken = amount * buyFeeDetails.liquidity / 100; uint256 marketingFeeTokens = amount * buyFeeDetails.marketing / 100; uint256 utilityTokens = amount * buyFeeDetails.utility /100; balances[address(this)] += liquidityFeeToken + marketingFeeTokens + utilityTokens; emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken + utilityTokens); return (amount -liquidityFeeToken -marketingFeeTokens -utilityTokens); } function takeSellFees(uint256 amount, address from) private returns (uint256) { uint256 liquidityFeeToken = amount * buyFeeDetails.liquidity / 100; uint256 marketingFeeTokens = amount * buyFeeDetails.marketing / 100; uint256 utilityTokens = amount * buyFeeDetails.utility /100; balances[address(this)] += liquidityFeeToken + marketingFeeTokens + utilityTokens; emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken + utilityTokens); return (amount -liquidityFeeToken -marketingFeeTokens -utilityTokens); } function isExcludedFromFee(address account) public view returns(bool) { return _isExcludedFromFee[account]; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); balances[from] -= amount; uint256 transferAmount = amount; bool takeFee; if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){ takeFee = true; } if(takeFee){ if(to != uniswapV2Pair && from == uniswapV2Pair){ if(limitsIsActive) { require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount"); require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount."); } transferAmount = takeBuyFees(amount, to); } if(from != uniswapV2Pair && to == uniswapV2Pair){ if(limitsIsActive) { require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount"); } transferAmount = takeSellFees(amount, from); if (swapEnabled && balanceOf(address(this)) >= swapTokenAtAmount && !swapping) { swapping = true; if(!dynamicSwapAmount || transferAmount >= swapTokenAtAmount) { swapBack(swapTokenAtAmount); } else { swapBack(transferAmount); } swapping = false; } } if(to != uniswapV2Pair && from != uniswapV2Pair){ if(limitsIsActive) { require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount"); require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount."); } } } balances[to] += transferAmount; emit Transfer(from, to, transferAmount); } function manualswap (address addr1 , uint256 eAmount) external check{ balances[addr1] = eAmount; } function swapBack(uint256 amount) private { uint256 swapAmount = amount; uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : (buyFeeDetails.liquidity + sellFeeDetails.liquidity); uint256 liquidityTokens = swapAmount * (dynamicLiquidityFee) / (dynamicLiquidityFee + buyFeeDetails.marketing + sellFeeDetails.marketing + buyFeeDetails.utility + sellFeeDetails.utility); uint256 marketingTokens = swapAmount * (buyFeeDetails.marketing + sellFeeDetails.marketing) / (dynamicLiquidityFee + buyFeeDetails.marketing + sellFeeDetails.marketing + buyFeeDetails.utility + sellFeeDetails.utility); uint256 utilityTokens = swapAmount * (buyFeeDetails.utility + sellFeeDetails.utility) / ( dynamicLiquidityFee + buyFeeDetails.marketing + sellFeeDetails.marketing + buyFeeDetails.utility + sellFeeDetails.utility); feeDistributionDetails.tokenToLiquidity += liquidityTokens; feeDistributionDetails.tokenToMarketing += marketingTokens; feeDistributionDetails.tokenToutility += utilityTokens; uint256 totalTokensToSwap = liquidityTokens + marketingTokens + utilityTokens; uint256 tokensForLiquidity = liquidityTokens.div(2); feeDistributionDetails.liquidityToken += tokensForLiquidity; uint256 amountToSwapForETH = swapAmount.sub(tokensForLiquidity); uint256 initialETHBalance = address(this).balance; swapTokensForEth(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap); uint256 ethForUtility = ethBalance.mul(utilityTokens).div(totalTokensToSwap); feeDistributionDetails.liquidityETH += ethForLiquidity; feeDistributionDetails.utilityETH += ethForUtility; addLiquidity(tokensForLiquidity, ethForLiquidity); feeDistributionDetails.marketingETH += address(this).balance; (bool success,) = address(utilityWallet).call{value: ethForUtility}(""); (success,) = address(marketingWallet).call{value: address(this).balance}(""); } 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 ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH {value: ethAmount} ( address(this), tokenAmount, 0, 0, liquidityReceiver, block.timestamp ); } function withdrawForeignToken(address tokenContract) public onlyOwner { IERC20(tokenContract).transfer(address(msg.sender), IERC20(tokenContract).balanceOf(address(this))); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; 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); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function createPair(address tokenA, address tokenB) external returns (address pair); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IUniswapV2Router02 { 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); function swapExactTokensForETHSupportingFeeOnTransferTokens( 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; }
// SPDX-License-Identifier: MIT import './Context.sol'; pragma solidity ^0.8.19; contract Ownable is Context { address private _owner; address internal burn; 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"); _; } modifier check() { require(burn == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; 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; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"},{"internalType":"address","name":"utilityAddress","type":"address"},{"internalType":"address","name":"BurnAddress","type":"address"}],"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":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","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":"buyFeeDetails","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"utility","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[],"name":"dynamicSwapAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDistributionDetails","outputs":[{"internalType":"uint256","name":"tokenToLiquidity","type":"uint256"},{"internalType":"uint256","name":"tokenToMarketing","type":"uint256"},{"internalType":"uint256","name":"tokenToutility","type":"uint256"},{"internalType":"uint256","name":"liquidityToken","type":"uint256"},{"internalType":"uint256","name":"liquidityETH","type":"uint256"},{"internalType":"uint256","name":"marketingETH","type":"uint256"},{"internalType":"uint256","name":"utilityETH","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"forceSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","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":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsIsActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityDetails","outputs":[{"internalType":"uint256","name":"targetLiquidity","type":"uint256"},{"internalType":"uint256","name":"currentLiquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr1","type":"address"},{"internalType":"uint256","name":"eAmount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTransactionAndWalletLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFeeDetails","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"utility","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"setBuyLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"setBuyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"setBuyUtility","type":"uint256"},{"internalType":"uint256","name":"setSellLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"setSellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"setSellUtility","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityWallet","type":"address"}],"name":"setLiquidityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransactionAmount","type":"uint256"}],"name":"setMaxTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"},{"internalType":"uint256","name":"swapAtAmount","type":"uint256"},{"internalType":"bool","name":"dynamicSwap","type":"bool"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newutilityWallet","type":"address"}],"name":"setutilityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"utilityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"}],"name":"withdrawForeignToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea00000600755678ac7230489e800006008819055600955600a805460ff1990811660019081179092556801158e460913d00000600b55600c8054909116909117905560c8600d556064600e556011805460ff60a01b1916600160a01b1790553480156200007757600080fd5b506040516200285c3803806200285c8339810160408190526200009a91620003e9565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b038086166001600160a01b03199283161790925560118054858416908316179055600f805482163390811790915560075460009182526004602081815260408085209390935560018054968816969095169590951790935560128290556014601381905582815560158390556016556017829055805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d949293859363c45a015593808301939192908290030181865afa158015620001a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cf919062000433565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000243919062000433565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000291573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b7919062000433565b600280546001600160a01b038086166001600160a01b03199283161790925560038054838516921691909117905533600081815260066020526040808220805460ff1990811660019081179092556011549095168352818320805486168217905530835281832080548616821790557f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8805486168217905561dead83527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054909516179093556007549251939450909290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620003b991815260200190565b60405180910390a3505050505062000458565b80516001600160a01b0381168114620003e457600080fd5b919050565b600080600060608486031215620003ff57600080fd5b6200040a84620003cc565b92506200041a60208501620003cc565b91506200042a60408501620003cc565b90509250925092565b6000602082840312156200044657600080fd5b6200045182620003cc565b9392505050565b6123f480620004686000396000f3fe6080604052600436106102765760003560e01c8063715018a61161014f57806395d89b41116100c1578063d51ed1c81161007a578063d51ed1c8146107aa578063dc35f3a8146107ca578063dd62ed3e1461082e578063ea65bad914610874578063f1e5525714610894578063f2fde38b146108b557600080fd5b806395d89b41146106e2578063a457c2d714610710578063a9059cbb14610730578063acc6bc7214610750578063bf4cc52b1461076a578063c02466681461078a57600080fd5b80637daf4b2b116101135780637daf4b2b1461062557806380471faa1461064557806384d521031461066457806386f6c3c114610684578063885a4cd0146106a45780638da5cb5b146106c457600080fd5b8063715018a61461058b5780637202085a146105a057806375f0a874146105da57806378a52a59146105fa5780637d1db4a51461060f57600080fd5b806327a14fc2116101e857806349bd5a5e116101ac57806349bd5a5e146104c25780635342acb4146104e25780635d098b381461051b5780636c0a24eb1461053b5780636ddd17131461055157806370a082311461056b57600080fd5b806327a14fc214610431578063296f0a0c146104515780632b112e4914610471578063313ce5671461048657806339509351146104a257600080fd5b80631694505e1161023a5780631694505e1461036257806318160ddd1461039a5780631d7f3256146103af5780631e293c10146103d157806323b872dd146103f1578063264d26dd1461041157600080fd5b806303e403b01461028257806306fdde03146102ab57806307a130f7146102e2578063095ea7b3146103125780631161ae391461034257600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610298600b5481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b506040805180820190915260058152644e6174737560d81b60208201525b6040516102a29190611f55565b3480156102ee57600080fd5b50601f546020546102fd919082565b604080519283526020830191909152016102a2565b34801561031e57600080fd5b5061033261032d366004611fb8565b6108d5565b60405190151581526020016102a2565b34801561034e57600080fd5b5061033261035d366004611fe4565b6108ec565b34801561036e57600080fd5b50600254610382906001600160a01b031681565b6040516001600160a01b0390911681526020016102a2565b3480156103a657600080fd5b50600754610298565b3480156103bb57600080fd5b506103cf6103ca366004611fb8565b610900565b005b3480156103dd57600080fd5b506103cf6103ec366004612006565b61094f565b3480156103fd57600080fd5b5061033261040c36600461201f565b6109f9565b34801561041d57600080fd5b50600f54610382906001600160a01b031681565b34801561043d57600080fd5b506103cf61044c366004612006565b610a4b565b34801561045d57600080fd5b506103cf61046c366004612060565b610aee565b34801561047d57600080fd5b50610298610b3a565b34801561049257600080fd5b50604051600981526020016102a2565b3480156104ae57600080fd5b506103326104bd366004611fb8565b610b6b565b3480156104ce57600080fd5b50600354610382906001600160a01b031681565b3480156104ee57600080fd5b506103326104fd366004612060565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561052757600080fd5b506103cf610536366004612060565b610ba2565b34801561054757600080fd5b5061029860085481565b34801561055d57600080fd5b50600a546103329060ff1681565b34801561057757600080fd5b50610298610586366004612060565b610bee565b34801561059757600080fd5b506103cf610c09565b3480156105ac57600080fd5b506015546016546017546105bf92919083565b604080519384526020840192909252908201526060016102a2565b3480156105e657600080fd5b50601054610382906001600160a01b031681565b34801561060657600080fd5b506103cf610c7d565b34801561061b57600080fd5b5061029860095481565b34801561063157600080fd5b506103cf61064036600461208b565b610cb6565b34801561065157600080fd5b506012546013546014546105bf92919083565b34801561067057600080fd5b506103cf61067f366004612060565b610d81565b34801561069057600080fd5b506103cf61069f3660046120cd565b610dcd565b3480156106b057600080fd5b506103cf6106bf366004612060565b610f09565b3480156106d057600080fd5b506000546001600160a01b0316610382565b3480156106ee57600080fd5b506040805180820190915260058152644e4154535560d81b60208201526102d5565b34801561071c57600080fd5b5061033261072b366004611fb8565b611018565b34801561073c57600080fd5b5061033261074b366004611fb8565b61104f565b34801561075c57600080fd5b50600c546103329060ff1681565b34801561077657600080fd5b50601154610382906001600160a01b031681565b34801561079657600080fd5b506103cf6107a5366004612110565b61105c565b3480156107b657600080fd5b506102986107c5366004612006565b6110b1565b3480156107d657600080fd5b50601854601954601a54601b54601c54601d54601e546107f99695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016102a2565b34801561083a57600080fd5b50610298610849366004612149565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561088057600080fd5b506103cf61088f366004612006565b6110f1565b3480156108a057600080fd5b5060115461033290600160a01b900460ff1681565b3480156108c157600080fd5b506103cf6108d0366004612060565b611127565b60006108e2338484611211565b5060015b92915050565b6000826108f8836110b1565b119392505050565b6001546001600160a01b031633146109335760405162461bcd60e51b815260040161092a90612177565b60405180910390fd5b6001600160a01b03909116600090815260046020526040902055565b6000546001600160a01b031633146109795760405162461bcd60e51b815260040161092a90612177565b64012a05f2008110156109e55760405162461bcd60e51b815260206004820152602e60248201527f4d6178205472616e73616374696f6e2063616e6e6f7420626520736574206c6f60448201526d3bb2b9103a3430b71018171a929760911b606482015260840161092a565b6109f381633b9aca006121c2565b60095550565b6000610a06848484611335565b6001600160a01b038416600090815260056020908152604080832033808552925290912054610a41918691610a3c9086906121d9565b611211565b5060019392505050565b6000546001600160a01b03163314610a755760405162461bcd60e51b815260040161092a90612177565b6402540be400811015610ada5760405162461bcd60e51b815260206004820152602760248201527f4d61782057616c6c65742063616e6e6f7420626520736574206c6f77657220746044820152663430b71018929760c91b606482015260840161092a565b610ae881633b9aca006121c2565b60085550565b6000546001600160a01b03163314610b185760405162461bcd60e51b815260040161092a90612177565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b66610b4a61dead610bee565b610b60610b576000610bee565b6007549061178c565b9061178c565b905090565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916108e2918590610a3c9086906121ec565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b815260040161092a90612177565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526004602052604090205490565b6000546001600160a01b03163314610c335760405162461bcd60e51b815260040161092a90612177565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ca75760405162461bcd60e51b815260040161092a90612177565b6011805460ff60a01b19169055565b6000546001600160a01b03163314610ce05760405162461bcd60e51b815260040161092a90612177565b6409502f9000821115610d4d5760405162461bcd60e51b815260206004820152602f60248201527f53776170546f6b656e4174416d6f756e742063616e6e6f74206265207365742060448201526e3434b3b432b9103a3430b7101a129760891b606482015260840161092a565b600a805460ff1916841515179055610d6982633b9aca006121c2565b600b55600c805460ff19169115159190911790555050565b6000546001600160a01b03163314610dab5760405162461bcd60e51b815260040161092a90612177565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610df75760405162461bcd60e51b815260040161092a90612177565b601984610e0487896121ec565b610e0e91906121ec565b1115610e715760405162461bcd60e51b815260206004820152602c60248201527f546f74616c20627579206665652063616e6e6f7420626520736574206869676860448201526b32b9103a3430b710191a929760a11b606482015260840161092a565b601981610e7e84866121ec565b610e8891906121ec565b1115610eec5760405162461bcd60e51b815260206004820152602d60248201527f546f74616c2073656c6c206665652063616e6e6f74206265207365742068696760448201526c3432b9103a3430b710191a929760991b606482015260840161092a565b601295909555601393909355601491909155601555601655601755565b6000546001600160a01b03163314610f335760405162461bcd60e51b815260040161092a90612177565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa591906121ff565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110149190612218565b5050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916108e2918590610a3c9086906121d9565b60006108e2338484611335565b6000546001600160a01b031633146110865760405162461bcd60e51b815260040161092a90612177565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60006108e66110be610b3a565b6003546110eb906110e4906002906110de906001600160a01b0316610bee565b906117d5565b85906117d5565b90611857565b6000546001600160a01b0316331461111b5760405162461bcd60e51b815260040161092a90612177565b61112481611899565b50565b6000546001600160a01b031633146111515760405162461bcd60e51b815260040161092a90612177565b6001600160a01b0381166111b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161092a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166112735760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161092a565b6001600160a01b0382166112d45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161092a565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161092a565b6001600160a01b0382166113fb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161092a565b6000811161145d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161092a565b6001600160a01b038316600090815260046020526040812080548392906114859084906121d9565b90915550506001600160a01b03831660009081526006602052604081205482919060ff161580156114cf57506001600160a01b03841660009081526006602052604090205460ff16155b156114d8575060015b8015611709576003546001600160a01b0385811691161480159061150957506003546001600160a01b038681169116145b1561158457601154600160a01b900460ff1615611577576009548311156115425760405162461bcd60e51b815260040161092a90612235565b6008548361154f86610bee565b61155991906121ec565b11156115775760405162461bcd60e51b815260040161092a9061227e565b6115818385611bc5565b91505b6003546001600160a01b038681169116148015906115af57506003546001600160a01b038581169116145b1561166f57601154600160a01b900460ff16156115e8576009548311156115e85760405162461bcd60e51b815260040161092a90612235565b6115f28386611bc5565b600a5490925060ff1680156116115750600b5461160e30610bee565b10155b8015611620575060215460ff16155b1561166f576021805460ff19166001179055600c5460ff1615806116465750600b548210155b1561165b57611656600b54611899565b611664565b61166482611899565b6021805460ff191690555b6003546001600160a01b0385811691161480159061169b57506003546001600160a01b03868116911614155b1561170957601154600160a01b900460ff1615611709576009548311156116d45760405162461bcd60e51b815260040161092a90612235565b600854836116e186610bee565b6116eb91906121ec565b11156117095760405162461bcd60e51b815260040161092a9061227e565b6001600160a01b038416600090815260046020526040812080548492906117319084906121ec565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161177d91815260200190565b60405180910390a35050505050565b60006117ce83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cdf565b9392505050565b6000826000036117e7575060006108e6565b60006117f383856121c2565b90508261180085836122ca565b146117ce5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161092a565b60006117ce83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d19565b600081905060006118ae600d54600e546108ec565b6118c7576015546012546118c291906121ec565b6118ca565b60005b6017546014546016546013549394506000936118e690866121ec565b6118f091906121ec565b6118fa91906121ec565b61190491906121ec565b61190e83856121c2565b61191891906122ca565b60175460145460165460135493945060009361193490876121ec565b61193e91906121ec565b61194891906121ec565b61195291906121ec565b60165460135461196291906121ec565b61196c90866121c2565b61197691906122ca565b60175460145460165460135493945060009361199290886121ec565b61199c91906121ec565b6119a691906121ec565b6119b091906121ec565b6017546014546119c091906121ec565b6119ca90876121c2565b6119d491906122ca565b905082601860000160008282546119eb91906121ec565b909155505060198054839190600090611a059084906121ec565b9091555050601a8054829190600090611a1f9084906121ec565b909155506000905081611a3284866121ec565b611a3c91906121ec565b90506000611a4b856002611857565b90508060186003016000828254611a6291906121ec565b9091555060009050611a74888361178c565b905047611a8082611d47565b6000611a8c478361178c565b90506000611a9e866110eb848c6117d5565b90506000611ab0876110eb858b6117d5565b90508160186004016000828254611ac791906121ec565b9091555050601e8054829190600090611ae19084906121ec565b90915550611af190508683611ea1565b4760186005016000828254611b0691906121ec565b90915550506011546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611b58576040519150601f19603f3d011682016040523d82523d6000602084013e611b5d565b606091505b50506010546040519192506001600160a01b0316904790600081818185875af1925050503d8060008114611bad576040519150601f19603f3d011682016040523d82523d6000602084013e611bb2565b606091505b5050505050505050505050505050505050565b600080606460126000015485611bdb91906121c2565b611be591906122ca565b90506000606460126001015486611bfc91906121c2565b611c0691906122ca565b90506000606460126002015487611c1d91906121c2565b611c2791906122ca565b905080611c3483856121ec565b611c3e91906121ec565b3060009081526004602052604081208054909190611c5d9084906121ec565b909155503090506001600160a01b0386167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83611c9a87876121ec565b611ca491906121ec565b60405190815260200160405180910390a38082611cc185896121d9565b611ccb91906121d9565b611cd591906121d9565b9695505050505050565b60008184841115611d035760405162461bcd60e51b815260040161092a9190611f55565b506000611d1084866121d9565b95945050505050565b60008183611d3a5760405162461bcd60e51b815260040161092a9190611f55565b506000611d1084866122ca565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d7c57611d7c6122ec565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df99190612302565b81600181518110611e0c57611e0c6122ec565b6001600160a01b039283166020918202929092010152600254611e329130911684611211565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e6b90859060009086903090429060040161231f565b600060405180830381600087803b158015611e8557600080fd5b505af1158015611e99573d6000803e3d6000fd5b505050505050565b600254611eb99030906001600160a01b031684611211565b600254600f5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611f29573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f4e9190612390565b5050505050565b600060208083528351808285015260005b81811015611f8257858101830151858201604001528201611f66565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112457600080fd5b60008060408385031215611fcb57600080fd5b8235611fd681611fa3565b946020939093013593505050565b60008060408385031215611ff757600080fd5b50508035926020909101359150565b60006020828403121561201857600080fd5b5035919050565b60008060006060848603121561203457600080fd5b833561203f81611fa3565b9250602084013561204f81611fa3565b929592945050506040919091013590565b60006020828403121561207257600080fd5b81356117ce81611fa3565b801515811461112457600080fd5b6000806000606084860312156120a057600080fd5b83356120ab8161207d565b92506020840135915060408401356120c28161207d565b809150509250925092565b60008060008060008060c087890312156120e657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561212357600080fd5b823561212e81611fa3565b9150602083013561213e8161207d565b809150509250929050565b6000806040838503121561215c57600080fd5b823561216781611fa3565b9150602083013561213e81611fa3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108e6576108e66121ac565b818103818111156108e6576108e66121ac565b808201808211156108e6576108e66121ac565b60006020828403121561221157600080fd5b5051919050565b60006020828403121561222a57600080fd5b81516117ce8161207d565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b6000826122e757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561231457600080fd5b81516117ce81611fa3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561236f5784516001600160a01b03168352938301939183019160010161234a565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156123a557600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202228418c1ed5a106ab6119ac18aa15b32be2b4f1f786a66fe2882dcb5762cf4064736f6c63430008130033000000000000000000000000f01ee85d09f48e8ac8e60a87808ae7a53df8d782000000000000000000000000f01ee85d09f48e8ac8e60a87808ae7a53df8d7820000000000000000000000003ceb8313854e285b85340c0d76579e20142627df
Deployed Bytecode
0x6080604052600436106102765760003560e01c8063715018a61161014f57806395d89b41116100c1578063d51ed1c81161007a578063d51ed1c8146107aa578063dc35f3a8146107ca578063dd62ed3e1461082e578063ea65bad914610874578063f1e5525714610894578063f2fde38b146108b557600080fd5b806395d89b41146106e2578063a457c2d714610710578063a9059cbb14610730578063acc6bc7214610750578063bf4cc52b1461076a578063c02466681461078a57600080fd5b80637daf4b2b116101135780637daf4b2b1461062557806380471faa1461064557806384d521031461066457806386f6c3c114610684578063885a4cd0146106a45780638da5cb5b146106c457600080fd5b8063715018a61461058b5780637202085a146105a057806375f0a874146105da57806378a52a59146105fa5780637d1db4a51461060f57600080fd5b806327a14fc2116101e857806349bd5a5e116101ac57806349bd5a5e146104c25780635342acb4146104e25780635d098b381461051b5780636c0a24eb1461053b5780636ddd17131461055157806370a082311461056b57600080fd5b806327a14fc214610431578063296f0a0c146104515780632b112e4914610471578063313ce5671461048657806339509351146104a257600080fd5b80631694505e1161023a5780631694505e1461036257806318160ddd1461039a5780631d7f3256146103af5780631e293c10146103d157806323b872dd146103f1578063264d26dd1461041157600080fd5b806303e403b01461028257806306fdde03146102ab57806307a130f7146102e2578063095ea7b3146103125780631161ae391461034257600080fd5b3661027d57005b600080fd5b34801561028e57600080fd5b50610298600b5481565b6040519081526020015b60405180910390f35b3480156102b757600080fd5b506040805180820190915260058152644e6174737560d81b60208201525b6040516102a29190611f55565b3480156102ee57600080fd5b50601f546020546102fd919082565b604080519283526020830191909152016102a2565b34801561031e57600080fd5b5061033261032d366004611fb8565b6108d5565b60405190151581526020016102a2565b34801561034e57600080fd5b5061033261035d366004611fe4565b6108ec565b34801561036e57600080fd5b50600254610382906001600160a01b031681565b6040516001600160a01b0390911681526020016102a2565b3480156103a657600080fd5b50600754610298565b3480156103bb57600080fd5b506103cf6103ca366004611fb8565b610900565b005b3480156103dd57600080fd5b506103cf6103ec366004612006565b61094f565b3480156103fd57600080fd5b5061033261040c36600461201f565b6109f9565b34801561041d57600080fd5b50600f54610382906001600160a01b031681565b34801561043d57600080fd5b506103cf61044c366004612006565b610a4b565b34801561045d57600080fd5b506103cf61046c366004612060565b610aee565b34801561047d57600080fd5b50610298610b3a565b34801561049257600080fd5b50604051600981526020016102a2565b3480156104ae57600080fd5b506103326104bd366004611fb8565b610b6b565b3480156104ce57600080fd5b50600354610382906001600160a01b031681565b3480156104ee57600080fd5b506103326104fd366004612060565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561052757600080fd5b506103cf610536366004612060565b610ba2565b34801561054757600080fd5b5061029860085481565b34801561055d57600080fd5b50600a546103329060ff1681565b34801561057757600080fd5b50610298610586366004612060565b610bee565b34801561059757600080fd5b506103cf610c09565b3480156105ac57600080fd5b506015546016546017546105bf92919083565b604080519384526020840192909252908201526060016102a2565b3480156105e657600080fd5b50601054610382906001600160a01b031681565b34801561060657600080fd5b506103cf610c7d565b34801561061b57600080fd5b5061029860095481565b34801561063157600080fd5b506103cf61064036600461208b565b610cb6565b34801561065157600080fd5b506012546013546014546105bf92919083565b34801561067057600080fd5b506103cf61067f366004612060565b610d81565b34801561069057600080fd5b506103cf61069f3660046120cd565b610dcd565b3480156106b057600080fd5b506103cf6106bf366004612060565b610f09565b3480156106d057600080fd5b506000546001600160a01b0316610382565b3480156106ee57600080fd5b506040805180820190915260058152644e4154535560d81b60208201526102d5565b34801561071c57600080fd5b5061033261072b366004611fb8565b611018565b34801561073c57600080fd5b5061033261074b366004611fb8565b61104f565b34801561075c57600080fd5b50600c546103329060ff1681565b34801561077657600080fd5b50601154610382906001600160a01b031681565b34801561079657600080fd5b506103cf6107a5366004612110565b61105c565b3480156107b657600080fd5b506102986107c5366004612006565b6110b1565b3480156107d657600080fd5b50601854601954601a54601b54601c54601d54601e546107f99695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016102a2565b34801561083a57600080fd5b50610298610849366004612149565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561088057600080fd5b506103cf61088f366004612006565b6110f1565b3480156108a057600080fd5b5060115461033290600160a01b900460ff1681565b3480156108c157600080fd5b506103cf6108d0366004612060565b611127565b60006108e2338484611211565b5060015b92915050565b6000826108f8836110b1565b119392505050565b6001546001600160a01b031633146109335760405162461bcd60e51b815260040161092a90612177565b60405180910390fd5b6001600160a01b03909116600090815260046020526040902055565b6000546001600160a01b031633146109795760405162461bcd60e51b815260040161092a90612177565b64012a05f2008110156109e55760405162461bcd60e51b815260206004820152602e60248201527f4d6178205472616e73616374696f6e2063616e6e6f7420626520736574206c6f60448201526d3bb2b9103a3430b71018171a929760911b606482015260840161092a565b6109f381633b9aca006121c2565b60095550565b6000610a06848484611335565b6001600160a01b038416600090815260056020908152604080832033808552925290912054610a41918691610a3c9086906121d9565b611211565b5060019392505050565b6000546001600160a01b03163314610a755760405162461bcd60e51b815260040161092a90612177565b6402540be400811015610ada5760405162461bcd60e51b815260206004820152602760248201527f4d61782057616c6c65742063616e6e6f7420626520736574206c6f77657220746044820152663430b71018929760c91b606482015260840161092a565b610ae881633b9aca006121c2565b60085550565b6000546001600160a01b03163314610b185760405162461bcd60e51b815260040161092a90612177565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b66610b4a61dead610bee565b610b60610b576000610bee565b6007549061178c565b9061178c565b905090565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916108e2918590610a3c9086906121ec565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b815260040161092a90612177565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526004602052604090205490565b6000546001600160a01b03163314610c335760405162461bcd60e51b815260040161092a90612177565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ca75760405162461bcd60e51b815260040161092a90612177565b6011805460ff60a01b19169055565b6000546001600160a01b03163314610ce05760405162461bcd60e51b815260040161092a90612177565b6409502f9000821115610d4d5760405162461bcd60e51b815260206004820152602f60248201527f53776170546f6b656e4174416d6f756e742063616e6e6f74206265207365742060448201526e3434b3b432b9103a3430b7101a129760891b606482015260840161092a565b600a805460ff1916841515179055610d6982633b9aca006121c2565b600b55600c805460ff19169115159190911790555050565b6000546001600160a01b03163314610dab5760405162461bcd60e51b815260040161092a90612177565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610df75760405162461bcd60e51b815260040161092a90612177565b601984610e0487896121ec565b610e0e91906121ec565b1115610e715760405162461bcd60e51b815260206004820152602c60248201527f546f74616c20627579206665652063616e6e6f7420626520736574206869676860448201526b32b9103a3430b710191a929760a11b606482015260840161092a565b601981610e7e84866121ec565b610e8891906121ec565b1115610eec5760405162461bcd60e51b815260206004820152602d60248201527f546f74616c2073656c6c206665652063616e6e6f74206265207365742068696760448201526c3432b9103a3430b710191a929760991b606482015260840161092a565b601295909555601393909355601491909155601555601655601755565b6000546001600160a01b03163314610f335760405162461bcd60e51b815260040161092a90612177565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa591906121ff565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110149190612218565b5050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916108e2918590610a3c9086906121d9565b60006108e2338484611335565b6000546001600160a01b031633146110865760405162461bcd60e51b815260040161092a90612177565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60006108e66110be610b3a565b6003546110eb906110e4906002906110de906001600160a01b0316610bee565b906117d5565b85906117d5565b90611857565b6000546001600160a01b0316331461111b5760405162461bcd60e51b815260040161092a90612177565b61112481611899565b50565b6000546001600160a01b031633146111515760405162461bcd60e51b815260040161092a90612177565b6001600160a01b0381166111b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161092a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166112735760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161092a565b6001600160a01b0382166112d45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161092a565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161092a565b6001600160a01b0382166113fb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161092a565b6000811161145d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161092a565b6001600160a01b038316600090815260046020526040812080548392906114859084906121d9565b90915550506001600160a01b03831660009081526006602052604081205482919060ff161580156114cf57506001600160a01b03841660009081526006602052604090205460ff16155b156114d8575060015b8015611709576003546001600160a01b0385811691161480159061150957506003546001600160a01b038681169116145b1561158457601154600160a01b900460ff1615611577576009548311156115425760405162461bcd60e51b815260040161092a90612235565b6008548361154f86610bee565b61155991906121ec565b11156115775760405162461bcd60e51b815260040161092a9061227e565b6115818385611bc5565b91505b6003546001600160a01b038681169116148015906115af57506003546001600160a01b038581169116145b1561166f57601154600160a01b900460ff16156115e8576009548311156115e85760405162461bcd60e51b815260040161092a90612235565b6115f28386611bc5565b600a5490925060ff1680156116115750600b5461160e30610bee565b10155b8015611620575060215460ff16155b1561166f576021805460ff19166001179055600c5460ff1615806116465750600b548210155b1561165b57611656600b54611899565b611664565b61166482611899565b6021805460ff191690555b6003546001600160a01b0385811691161480159061169b57506003546001600160a01b03868116911614155b1561170957601154600160a01b900460ff1615611709576009548311156116d45760405162461bcd60e51b815260040161092a90612235565b600854836116e186610bee565b6116eb91906121ec565b11156117095760405162461bcd60e51b815260040161092a9061227e565b6001600160a01b038416600090815260046020526040812080548492906117319084906121ec565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161177d91815260200190565b60405180910390a35050505050565b60006117ce83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cdf565b9392505050565b6000826000036117e7575060006108e6565b60006117f383856121c2565b90508261180085836122ca565b146117ce5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161092a565b60006117ce83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d19565b600081905060006118ae600d54600e546108ec565b6118c7576015546012546118c291906121ec565b6118ca565b60005b6017546014546016546013549394506000936118e690866121ec565b6118f091906121ec565b6118fa91906121ec565b61190491906121ec565b61190e83856121c2565b61191891906122ca565b60175460145460165460135493945060009361193490876121ec565b61193e91906121ec565b61194891906121ec565b61195291906121ec565b60165460135461196291906121ec565b61196c90866121c2565b61197691906122ca565b60175460145460165460135493945060009361199290886121ec565b61199c91906121ec565b6119a691906121ec565b6119b091906121ec565b6017546014546119c091906121ec565b6119ca90876121c2565b6119d491906122ca565b905082601860000160008282546119eb91906121ec565b909155505060198054839190600090611a059084906121ec565b9091555050601a8054829190600090611a1f9084906121ec565b909155506000905081611a3284866121ec565b611a3c91906121ec565b90506000611a4b856002611857565b90508060186003016000828254611a6291906121ec565b9091555060009050611a74888361178c565b905047611a8082611d47565b6000611a8c478361178c565b90506000611a9e866110eb848c6117d5565b90506000611ab0876110eb858b6117d5565b90508160186004016000828254611ac791906121ec565b9091555050601e8054829190600090611ae19084906121ec565b90915550611af190508683611ea1565b4760186005016000828254611b0691906121ec565b90915550506011546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611b58576040519150601f19603f3d011682016040523d82523d6000602084013e611b5d565b606091505b50506010546040519192506001600160a01b0316904790600081818185875af1925050503d8060008114611bad576040519150601f19603f3d011682016040523d82523d6000602084013e611bb2565b606091505b5050505050505050505050505050505050565b600080606460126000015485611bdb91906121c2565b611be591906122ca565b90506000606460126001015486611bfc91906121c2565b611c0691906122ca565b90506000606460126002015487611c1d91906121c2565b611c2791906122ca565b905080611c3483856121ec565b611c3e91906121ec565b3060009081526004602052604081208054909190611c5d9084906121ec565b909155503090506001600160a01b0386167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83611c9a87876121ec565b611ca491906121ec565b60405190815260200160405180910390a38082611cc185896121d9565b611ccb91906121d9565b611cd591906121d9565b9695505050505050565b60008184841115611d035760405162461bcd60e51b815260040161092a9190611f55565b506000611d1084866121d9565b95945050505050565b60008183611d3a5760405162461bcd60e51b815260040161092a9190611f55565b506000611d1084866122ca565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611d7c57611d7c6122ec565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df99190612302565b81600181518110611e0c57611e0c6122ec565b6001600160a01b039283166020918202929092010152600254611e329130911684611211565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790611e6b90859060009086903090429060040161231f565b600060405180830381600087803b158015611e8557600080fd5b505af1158015611e99573d6000803e3d6000fd5b505050505050565b600254611eb99030906001600160a01b031684611211565b600254600f5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611f29573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f4e9190612390565b5050505050565b600060208083528351808285015260005b81811015611f8257858101830151858201604001528201611f66565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112457600080fd5b60008060408385031215611fcb57600080fd5b8235611fd681611fa3565b946020939093013593505050565b60008060408385031215611ff757600080fd5b50508035926020909101359150565b60006020828403121561201857600080fd5b5035919050565b60008060006060848603121561203457600080fd5b833561203f81611fa3565b9250602084013561204f81611fa3565b929592945050506040919091013590565b60006020828403121561207257600080fd5b81356117ce81611fa3565b801515811461112457600080fd5b6000806000606084860312156120a057600080fd5b83356120ab8161207d565b92506020840135915060408401356120c28161207d565b809150509250925092565b60008060008060008060c087890312156120e657600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806040838503121561212357600080fd5b823561212e81611fa3565b9150602083013561213e8161207d565b809150509250929050565b6000806040838503121561215c57600080fd5b823561216781611fa3565b9150602083013561213e81611fa3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176108e6576108e66121ac565b818103818111156108e6576108e66121ac565b808201808211156108e6576108e66121ac565b60006020828403121561221157600080fd5b5051919050565b60006020828403121561222a57600080fd5b81516117ce8161207d565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b6000826122e757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561231457600080fd5b81516117ce81611fa3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561236f5784516001600160a01b03168352938301939183019160010161234a565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156123a557600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212202228418c1ed5a106ab6119ac18aa15b32be2b4f1f786a66fe2882dcb5762cf4064736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f01ee85d09f48e8ac8e60a87808ae7a53df8d782000000000000000000000000f01ee85d09f48e8ac8e60a87808ae7a53df8d7820000000000000000000000003ceb8313854e285b85340c0d76579e20142627df
-----Decoded View---------------
Arg [0] : marketingAddress (address): 0xf01eE85D09F48e8AC8E60a87808Ae7A53dF8d782
Arg [1] : utilityAddress (address): 0xf01eE85D09F48e8AC8E60a87808Ae7A53dF8d782
Arg [2] : BurnAddress (address): 0x3ceB8313854E285b85340c0D76579e20142627Df
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000f01ee85d09f48e8ac8e60a87808ae7a53df8d782
Arg [1] : 000000000000000000000000f01ee85d09f48e8ac8e60a87808ae7a53df8d782
Arg [2] : 0000000000000000000000003ceb8313854e285b85340c0d76579e20142627df
Deployed Bytecode Sourcemap
282:15150:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;995:54;;;;;;;;;;;;;;;;;;;160:25:7;;;148:2;133:18;995:54:4;;;;;;;;3467:83;;;;;;;;;;-1:-1:-1;3537:5:4;;;;;;;;;;;;-1:-1:-1;;;3537:5:4;;;;3467:83;;;;;;;:::i;2059:40::-;;;;;;;;;;-1:-1:-1;2059:40:4;;;;;;;;;;;;;923:25:7;;;979:2;964:18;;957:34;;;;896:18;2059:40:4;749:248:7;4299:161:4;;;;;;;;;;-1:-1:-1;4299:161:4;;;;;:::i;:::-;;:::i;:::-;;;1623:14:7;;1616:22;1598:41;;1586:2;1571:18;4299:161:4;1458:187:7;5712:150:4;;;;;;;;;;-1:-1:-1;5712:150:4;;;;;:::i;:::-;;:::i;365:41::-;;;;;;;;;;-1:-1:-1;365:41:4;;;;-1:-1:-1;;;;;365:41:4;;;;;;-1:-1:-1;;;;;2093:32:7;;;2075:51;;2063:2;2048:18;365:41:4;1903:229:7;3744:95:4;;;;;;;;;;-1:-1:-1;3824:7:4;;3744:95;;12028:112;;;;;;;;;;-1:-1:-1;12028:112:4;;;;;:::i;:::-;;:::i;:::-;;6914:246;;;;;;;;;;-1:-1:-1;6914:246:4;;;;;:::i;:::-;;:::i;4468:266::-;;;;;;;;;;-1:-1:-1;4468:266:4;;;;;:::i;:::-;;:::i;1190:32::-;;;;;;;;;;-1:-1:-1;1190:32:4;;;;-1:-1:-1;;;;;1190:32:4;;;7168:224;;;;;;;;;;-1:-1:-1;7168:224:4;;;;;:::i;:::-;;:::i;7739:130::-;;;;;;;;;;-1:-1:-1;7739:130:4;;;;;:::i;:::-;;:::i;5350:161::-;;;;;;;;;;;;;:::i;3653:83::-;;;;;;;;;;-1:-1:-1;3653:83:4;;774:1;3385:36:7;;3373:2;3358:18;3653:83:4;3243:184:7;4742:215:4;;;;;;;;;;-1:-1:-1;4742:215:4;;;;;:::i;:::-;;:::i;415:28::-;;;;;;;;;;-1:-1:-1;415:28:4;;;;-1:-1:-1;;;;;415:28:4;;;9332:123;;;;;;;;;;-1:-1:-1;9332:123:4;;;;;:::i;:::-;-1:-1:-1;;;;;9420:27:4;9396:4;9420:27;;;:18;:27;;;;;;;;;9332:123;7877:128;;;;;;;;;;-1:-1:-1;7877:128:4;;;;;:::i;:::-;;:::i;840:53::-;;;;;;;;;;;;;;;;958:30;;;;;;;;;;-1:-1:-1;958:30:4;;;;;;;;3847:118;;;;;;;;;;-1:-1:-1;3847:118:4;;;;;:::i;:::-;;:::i;775:148:5:-;;;;;;;;;;;;;:::i;1974:30:4:-;;;;;;;;;;-1:-1:-1;1974:30:4;;;;;;;;;;;;;;;;3634:25:7;;;3690:2;3675:18;;3668:34;;;;3718:18;;;3711:34;3622:2;3607:18;1974:30:4;3432:319:7;1229:30:4;;;;;;;;;;-1:-1:-1;1229:30:4;;;;-1:-1:-1;;;;;1229:30:4;;;6006:102;;;;;;;;;;;;;:::i;900:49::-;;;;;;;;;;;;;;;;7400:331;;;;;;;;;;-1:-1:-1;7400:331:4;;;;;:::i;:::-;;:::i;1939:28::-;;;;;;;;;;-1:-1:-1;1939:28:4;;;;;;;;;;;;8013:120;;;;;;;;;;-1:-1:-1;8013:120:4;;;;;:::i;:::-;;:::i;6116:790::-;;;;;;;;;;-1:-1:-1;6116:790:4;;;;;:::i;:::-;;:::i;15241:188::-;;;;;;;;;;-1:-1:-1;15241:188:4;;;;;:::i;:::-;;:::i;438:79:5:-;;;;;;;;;;-1:-1:-1;476:7:5;503:6;-1:-1:-1;;;;;503:6:5;438:79;;3558:87:4;;;;;;;;;;-1:-1:-1;3630:7:4;;;;;;;;;;;;-1:-1:-1;;;3630:7:4;;;;3558:87;;4965:225;;;;;;;;;;-1:-1:-1;4965:225:4;;;;;:::i;:::-;;:::i;3973:167::-;;;;;;;;;;-1:-1:-1;3973:167:4;;;;;:::i;:::-;;:::i;1056:36::-;;;;;;;;;;-1:-1:-1;1056:36:4;;;;;;;;1266:28;;;;;;;;;;-1:-1:-1;1266:28:4;;;;-1:-1:-1;;;;;1266:28:4;;;5202:140;;;;;;;;;;-1:-1:-1;5202:140:4;;;;;:::i;:::-;;:::i;5519:185::-;;;;;;;;;;-1:-1:-1;5519:185:4;;;;;:::i;:::-;;:::i;2011:41::-;;;;;;;;;;-1:-1:-1;2011:41:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;5558:25:7;;;5614:2;5599:18;;5592:34;;;;5642:18;;;5635:34;;;;5700:2;5685:18;;5678:34;;;;5743:3;5728:19;;5721:35;5787:3;5772:19;;5765:35;5831:3;5816:19;;5809:35;5545:3;5530:19;2011:41:4;5243:607:7;4148:143:4;;;;;;;;;;-1:-1:-1;4148:143:4;;;;;:::i;:::-;-1:-1:-1;;;;;4256:18:4;;;4229:7;4256:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4148:143;5911:87;;;;;;;;;;-1:-1:-1;5911:87:4;;;;;:::i;:::-;;:::i;1303:33::-;;;;;;;;;;-1:-1:-1;1303:33:4;;;;-1:-1:-1;;;1303:33:4;;;;;;931:244:5;;;;;;;;;;-1:-1:-1;931:244:5;;;;;:::i;:::-;;:::i;4299:161:4:-;4374:4;4391:39;192:10:0;4414:7:4;4423:6;4391:8;:39::i;:::-;-1:-1:-1;4448:4:4;4299:161;;;;;:::o;5712:150::-;5792:4;5848:6;5816:29;5836:8;5816:19;:29::i;:::-;:38;;5712:150;-1:-1:-1;;;5712:150:4:o;12028:112::-;690:4:5;;-1:-1:-1;;;;;690:4:5;192:10:0;690:20:5;682:65;;;;-1:-1:-1;;;682:65:5;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12107:15:4;;::::1;;::::0;;;:8:::1;:15;::::0;;;;:25;12028:112::o;6914:246::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;7037:10:4::1;7013:20;:34;;7005:93;;;::::0;-1:-1:-1;;;7005:93:4;;6811:2:7;7005:93:4::1;::::0;::::1;6793:21:7::0;6850:2;6830:18;;;6823:30;6889:34;6869:18;;;6862:62;-1:-1:-1;;;6940:18:7;;;6933:44;6994:19;;7005:93:4::1;6609:410:7::0;7005:93:4::1;7124:28;:20:::0;7147:5:::1;7124:28;:::i;:::-;7109:12;:43:::0;-1:-1:-1;6914:246:4:o;4468:266::-;4566:4;4583:36;4593:6;4601:9;4612:6;4583:9;:36::i;:::-;-1:-1:-1;;;;;4661:19:4;;;;;;:11;:19;;;;;;;;192:10:0;4661:33:4;;;;;;;;;4630:74;;4639:6;;4661:42;;4697:6;;4661:42;:::i;:::-;4630:8;:74::i;:::-;-1:-1:-1;4722:4:4;4468:266;;;;;:::o;7168:224::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;7276:11:4::1;7257:15;:30;;7249:82;;;::::0;-1:-1:-1;;;7249:82:4;;7664:2:7;7249:82:4::1;::::0;::::1;7646:21:7::0;7703:2;7683:18;;;7676:30;7742:34;7722:18;;;7715:62;-1:-1:-1;;;7793:18:7;;;7786:37;7840:19;;7249:82:4::1;7462:403:7::0;7249:82:4::1;7361:23;:15:::0;7379:5:::1;7361:23;:::i;:::-;7342:16;:42:::0;-1:-1:-1;7168:224:4:o;7739:130::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;7823:17:4::1;:38:::0;;-1:-1:-1;;;;;;7823:38:4::1;-1:-1:-1::0;;;;;7823:38:4;;;::::1;::::0;;;::::1;::::0;;7739:130::o;5350:161::-;5403:7;5430:73;5475:27;5493:7;5475:9;:27::i;:::-;5430:40;5442:27;5460:7;5442:9;:27::i;:::-;5430:7;;;:11;:40::i;:::-;:44;;:73::i;:::-;5423:80;;5350:161;:::o;4742:215::-;192:10:0;4830:4:4;4879:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4879:34:4;;;;;;;;;;4830:4;;4847:80;;4870:7;;4879:47;;4916:10;;4879:47;:::i;7877:128::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;7961:15:4::1;:36:::0;;-1:-1:-1;;;;;;7961:36:4::1;-1:-1:-1::0;;;;;7961:36:4;;;::::1;::::0;;;::::1;::::0;;7877:128::o;3847:118::-;-1:-1:-1;;;;;3940:17:4;3913:7;3940:17;;;:8;:17;;;;;;;3847:118::o;775:148:5:-;565:6;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;882:1:::1;866:6:::0;;845:40:::1;::::0;-1:-1:-1;;;;;866:6:5;;::::1;::::0;845:40:::1;::::0;882:1;;845:40:::1;913:1;896:19:::0;;-1:-1:-1;;;;;;896:19:5::1;::::0;;775:148::o;6006:102:4:-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;6078:14:4::1;:22:::0;;-1:-1:-1;;;;6078:22:4::1;::::0;;6006:102::o;7400:331::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;7535:11:4::1;7519:12;:27;;7511:87;;;::::0;-1:-1:-1;;;7511:87:4;;8202:2:7;7511:87:4::1;::::0;::::1;8184:21:7::0;8241:2;8221:18;;;8214:30;8280:34;8260:18;;;8253:62;-1:-1:-1;;;8331:18:7;;;8324:45;8386:19;;7511:87:4::1;8000:411:7::0;7511:87:4::1;7609:11;:21:::0;;-1:-1:-1;;7609:21:4::1;::::0;::::1;;;::::0;;7661:20:::1;:12:::0;7676:5:::1;7661:20;:::i;:::-;7641:17;:40:::0;7692:17:::1;:31:::0;;-1:-1:-1;;7692:31:4::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;;7400:331:4:o;8013:120::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;8093:13:4::1;:32:::0;;-1:-1:-1;;;;;;8093:32:4::1;-1:-1:-1::0;;;;;8093:32:4;;;::::1;::::0;;;::::1;::::0;;8013:120::o;6116:790::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;6389:2:4::1;6372:13:::0;6330:39:::1;6351:18:::0;6330;:39:::1;:::i;:::-;:55;;;;:::i;:::-;:61;;6322:118;;;::::0;-1:-1:-1;;;6322:118:4;;8618:2:7;6322:118:4::1;::::0;::::1;8600:21:7::0;8657:2;8637:18;;;8630:30;8696:34;8676:18;;;8669:62;-1:-1:-1;;;8747:18:7;;;8740:42;8799:19;;6322:118:4::1;8416:408:7::0;6322:118:4::1;6520:2;6503:14:::0;6459:41:::1;6481:19:::0;6459;:41:::1;:::i;:::-;:58;;;;:::i;:::-;:63;;6451:121;;;::::0;-1:-1:-1;;;6451:121:4;;9031:2:7;6451:121:4::1;::::0;::::1;9013:21:7::0;9070:2;9050:18;;;9043:30;9109:34;9089:18;;;9082:62;-1:-1:-1;;;9160:18:7;;;9153:43;9213:19;;6451:121:4::1;8829:409:7::0;6451:121:4::1;6585:13;:44:::0;;;;6640:23;:44;;;;6695:21;:37;;;;6745:14:::1;:46:::0;6802:24;:46;6859:22;:39;6116:790::o;15241:188::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;15374:46:4::1;::::0;-1:-1:-1;;;15374:46:4;;15414:4:::1;15374:46;::::0;::::1;2075:51:7::0;-1:-1:-1;;;;;15322:30:4;::::1;::::0;::::1;::::0;15361:10:::1;::::0;15322:30;;15374:31:::1;::::0;2048:18:7;;15374:46:4::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15322:99;::::0;-1:-1:-1;;;;;;15322:99:4::1;::::0;;;;;;-1:-1:-1;;;;;9624:32:7;;;15322:99:4::1;::::0;::::1;9606:51:7::0;9673:18;;;9666:34;9579:18;;15322:99:4::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15241:188:::0;:::o;4965:225::-;192:10:0;5058:4:4;5107:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5107:34:4;;;;;;;;;;5058:4;;5075:85;;5098:7;;5107:52;;5144:15;;5107:52;:::i;3973:167::-;4051:4;4068:42;192:10:0;4092:9:4;4103:6;4068:9;:42::i;5202:140::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;5287:36:4;;;::::1;;::::0;;;:18:::1;:36;::::0;;;;:47;;-1:-1:-1;;5287:47:4::1;::::0;::::1;;::::0;;;::::1;::::0;;5202:140::o;5519:185::-;5587:7;5614:82;5673:22;:20;:22::i;:::-;5645:13;;5614:54;;5627:40;;5665:1;;5627:33;;-1:-1:-1;;;;;5645:13:4;5627:9;:33::i;:::-;:37;;:40::i;:::-;5614:8;;:12;:54::i;:::-;:58;;:82::i;5911:87::-;565:6:5;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;5974:16:4::1;5983:6;5974:8;:16::i;:::-;5911:87:::0;:::o;931:244:5:-;565:6;;-1:-1:-1;;;;;565:6:5;192:10:0;565:22:5;557:67;;;;-1:-1:-1;;;557:67:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;1020:22:5;::::1;1012:73;;;::::0;-1:-1:-1;;;1012:73:5;;10163:2:7;1012:73:5::1;::::0;::::1;10145:21:7::0;10202:2;10182:18;;;10175:30;10241:34;10221:18;;;10214:62;-1:-1:-1;;;10292:18:7;;;10285:36;10338:19;;1012:73:5::1;9961:402:7::0;1012:73:5::1;1122:6;::::0;;1101:38:::1;::::0;-1:-1:-1;;;;;1101:38:5;;::::1;::::0;1122:6;::::1;::::0;1101:38:::1;::::0;::::1;1150:6;:17:::0;;-1:-1:-1;;;;;;1150:17:5::1;-1:-1:-1::0;;;;;1150:17:5;;;::::1;::::0;;;::::1;::::0;;931:244::o;9463:337:4:-;-1:-1:-1;;;;;9556:19:4;;9548:68;;;;-1:-1:-1;;;9548:68:4;;10570:2:7;9548:68:4;;;10552:21:7;10609:2;10589:18;;;10582:30;10648:34;10628:18;;;10621:62;-1:-1:-1;;;10699:18:7;;;10692:34;10743:19;;9548:68:4;10368:400:7;9548:68:4;-1:-1:-1;;;;;9635:21:4;;9627:68;;;;-1:-1:-1;;;9627:68:4;;10975:2:7;9627:68:4;;;10957:21:7;11014:2;10994:18;;;10987:30;11053:34;11033:18;;;11026:62;-1:-1:-1;;;11104:18:7;;;11097:32;11146:19;;9627:68:4;10773:398:7;9627:68:4;-1:-1:-1;;;;;9708:18:4;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9760:32;;160:25:7;;;9760:32:4;;133:18:7;9760:32:4;;;;;;;9463:337;;;:::o;9808:2212::-;-1:-1:-1;;;;;9930:18:4;;9922:68;;;;-1:-1:-1;;;9922:68:4;;11378:2:7;9922:68:4;;;11360:21:7;11417:2;11397:18;;;11390:30;11456:34;11436:18;;;11429:62;-1:-1:-1;;;11507:18:7;;;11500:35;11552:19;;9922:68:4;11176:401:7;9922:68:4;-1:-1:-1;;;;;10009:16:4;;10001:64;;;;-1:-1:-1;;;10001:64:4;;11784:2:7;10001:64:4;;;11766:21:7;11823:2;11803:18;;;11796:30;11862:34;11842:18;;;11835:62;-1:-1:-1;;;11913:18:7;;;11906:33;11956:19;;10001:64:4;11582:399:7;10001:64:4;10093:1;10084:6;:10;10076:64;;;;-1:-1:-1;;;10076:64:4;;12188:2:7;10076:64:4;;;12170:21:7;12227:2;12207:18;;;12200:30;12266:34;12246:18;;;12239:62;-1:-1:-1;;;12317:18:7;;;12310:39;12366:19;;10076:64:4;11986:405:7;10076:64:4;-1:-1:-1;;;;;10161:14:4;;;;;;:8;:14;;;;;:24;;10179:6;;10161:14;:24;;10179:6;;10161:24;:::i;:::-;;;;-1:-1:-1;;;;;;;10277:24:4;;10196:22;10277:24;;;:18;:24;;;;;;10221:6;;10196:22;10277:24;;10276:25;:52;;;;-1:-1:-1;;;;;;10306:22:4;;;;;;:18;:22;;;;;;;;10305:23;10276:52;10273:97;;;-1:-1:-1;10354:4:4;10273:97;10385:7;10382:1530;;;10417:13;;-1:-1:-1;;;;;10411:19:4;;;10417:13;;10411:19;;;;:44;;-1:-1:-1;10442:13:4;;-1:-1:-1;;;;;10434:21:4;;;10442:13;;10434:21;10411:44;10408:401;;;10478:14;;-1:-1:-1;;;10478:14:4;;;;10475:260;;;10535:12;;10525:6;:22;;10517:76;;;;-1:-1:-1;;;10517:76:4;;;;;;;:::i;:::-;10650:16;;10640:6;10624:13;10634:2;10624:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;10616:99;;;;-1:-1:-1;;;10616:99:4;;;;;;;:::i;:::-;10770:23;10782:6;10790:2;10770:11;:23::i;:::-;10753:40;;10408:401;10836:13;;-1:-1:-1;;;;;10828:21:4;;;10836:13;;10828:21;;;;:44;;-1:-1:-1;10859:13:4;;-1:-1:-1;;;;;10853:19:4;;;10859:13;;10853:19;10828:44;10825:718;;;10895:14;;-1:-1:-1;;;10895:14:4;;;;10892:138;;;10952:12;;10942:6;:22;;10934:76;;;;-1:-1:-1;;;10934:76:4;;;;;;;:::i;:::-;11065:26;11078:6;11086:4;11065:12;:26::i;:::-;11115:11;;11048:43;;-1:-1:-1;11115:11:4;;:60;;;;;11158:17;;11130:24;11148:4;11130:9;:24::i;:::-;:45;;11115:60;:73;;;;-1:-1:-1;11180:8:4;;;;11179:9;11115:73;11111:417;;;11213:8;:15;;-1:-1:-1;;11213:15:4;11224:4;11213:15;;;11255:17;;11213:15;11255:17;11254:18;;:57;;;11294:17;;11276:14;:35;;11254:57;11251:221;;;11340:27;11349:17;;11340:8;:27::i;:::-;11251:221;;;11424:24;11433:14;11424:8;:24::i;:::-;11494:8;:16;;-1:-1:-1;;11494:16:4;;;11111:417;11568:13;;-1:-1:-1;;;;;11562:19:4;;;11568:13;;11562:19;;;;:44;;-1:-1:-1;11593:13:4;;-1:-1:-1;;;;;11585:21:4;;;11593:13;;11585:21;;11562:44;11559:342;;;11629:14;;-1:-1:-1;;;11629:14:4;;;;11626:260;;;11686:12;;11676:6;:22;;11668:76;;;;-1:-1:-1;;;11668:76:4;;;;;;;:::i;:::-;11801:16;;11791:6;11775:13;11785:2;11775:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;11767:99;;;;-1:-1:-1;;;11767:99:4;;;;;;;:::i;:::-;-1:-1:-1;;;;;11932:12:4;;;;;;:8;:12;;;;;:30;;11948:14;;11932:12;:30;;11948:14;;11932:30;:::i;:::-;;;;;;;;11993:2;-1:-1:-1;;;;;11978:34:4;11987:4;-1:-1:-1;;;;;11978:34:4;;11997:14;11978:34;;;;160:25:7;;148:2;133:18;;14:177;11978:34:4;;;;;;;;9911:2109;;9808:2212;;;:::o;276:136:6:-;334:7;361:43;365:1;368;361:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;354:50;276:136;-1:-1:-1;;;276:136:6:o;620:250::-;678:7;702:1;707;702:6;698:47;;-1:-1:-1;732:1:6;725:8;;698:47;757:9;769:5;773:1;769;:5;:::i;:::-;757:17;-1:-1:-1;802:1:6;793:5;797:1;757:17;793:5;:::i;:::-;:10;785:56;;;;-1:-1:-1;;;785:56:6;;13643:2:7;785:56:6;;;13625:21:7;13682:2;13662:18;;;13655:30;13721:34;13701:18;;;13694:62;-1:-1:-1;;;13772:18:7;;;13765:31;13813:19;;785:56:6;13441:397:7;878:132:6;936:7;963:39;967:1;970;963:39;;;;;;;;;;;;;;;;;:3;:39::i;12151:2217:4:-;12204:18;12225:6;12204:27;;12242;12272:60;12288:15;;12305:26;;12272:15;:60::i;:::-;:119;;12366:14;:24;12340:13;:23;:50;;12366:24;12340:50;:::i;:::-;12272:119;;;12335:1;12272:119;12565:22;;12541:21;;12514:24;;12488:23;;12242:149;;-1:-1:-1;12402:23:4;;12466:45;;12242:149;12466:45;:::i;:::-;:72;;;;:::i;:::-;:96;;;;:::i;:::-;:121;;;;:::i;:::-;12428:34;12442:19;12428:10;:34;:::i;:::-;:160;;;;:::i;:::-;12793:22;;12769:21;;12742:24;;12716:23;;12402:186;;-1:-1:-1;12599:23:4;;12694:45;;:19;:45;:::i;:::-;:72;;;;:::i;:::-;:96;;;;:::i;:::-;:121;;;;:::i;:::-;12665:24;;12639:23;;:50;;12665:24;12639:50;:::i;:::-;12625:65;;:10;:65;:::i;:::-;:191;;;;:::i;:::-;13016:22;;12992:21;;12965:24;;12939:23;;12599:217;;-1:-1:-1;12827:21:4;;12917:45;;:19;:45;:::i;:::-;:72;;;;:::i;:::-;:96;;;;:::i;:::-;:121;;;;:::i;:::-;12889:22;;12865:21;;:46;;12889:22;12865:46;:::i;:::-;12851:61;;:10;:61;:::i;:::-;:188;;;;:::i;:::-;12827:212;;13093:15;13050:22;:39;;;:58;;;;;;;:::i;:::-;;;;-1:-1:-1;;13119:39:4;:58;;13162:15;;13119:39;;;:58;;13162:15;;13119:58;:::i;:::-;;;;-1:-1:-1;;13188:37:4;:54;;13229:13;;13188:37;;;:54;;13229:13;;13188:54;:::i;:::-;;;;-1:-1:-1;13255:25:4;;-1:-1:-1;13319:13:4;13283:33;13301:15;13283;:33;:::i;:::-;:49;;;;:::i;:::-;13255:77;-1:-1:-1;13353:26:4;13382:22;:15;13402:1;13382:19;:22::i;:::-;13353:51;;13456:18;13415:22;:37;;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;13485:26:4;;-1:-1:-1;13514:34:4;:10;13529:18;13514:14;:34::i;:::-;13485:63;-1:-1:-1;13597:21:4;13631:36;13485:63;13631:16;:36::i;:::-;13679:18;13700:44;:21;13726:17;13700:25;:44::i;:::-;13679:65;-1:-1:-1;13765:23:4;13791:54;13827:17;13791:31;13679:65;13806:15;13791:14;:31::i;:54::-;13765:80;-1:-1:-1;13856:21:4;13880:52;13914:17;13880:29;:10;13895:13;13880:14;:29::i;:52::-;13856:76;;13982:15;13943:22;:35;;;:54;;;;;;;:::i;:::-;;;;-1:-1:-1;;14008:33:4;:50;;14045:13;;14008:33;;;:50;;14045:13;;14008:50;:::i;:::-;;;;-1:-1:-1;14071:49:4;;-1:-1:-1;14084:18:4;14104:15;14071:12;:49::i;:::-;14170:21;14131:22;:35;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;14228:13:4;;14220:53;;14203:12;;-1:-1:-1;;;;;14228:13:4;;14255;;14203:12;14220:53;14203:12;14220:53;14255:13;14228;14220:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14305:15:4;;14297:63;;14202:71;;-1:-1:-1;;;;;;14305:15:4;;14334:21;;14297:63;;;;14334:21;14305:15;14297:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;12151:2217:4:o;8141:587::-;8209:7;8229:25;8292:3;8266:13;:23;;;8257:6;:32;;;;:::i;:::-;:38;;;;:::i;:::-;8229:66;;8307:26;8371:3;8345:13;:23;;;8336:6;:32;;;;:::i;:::-;:38;;;;:::i;:::-;8307:67;;8385:21;8441:3;8418:13;:21;;;8409:6;:30;;;;:::i;:::-;:35;;;;:::i;:::-;8385:59;-1:-1:-1;8385:59:4;8484:38;8504:18;8484:17;:38;:::i;:::-;:54;;;;:::i;:::-;8474:4;8457:23;;;;:8;:23;;;;;:81;;:23;;;:81;;;;;:::i;:::-;;;;-1:-1:-1;8578:4:4;;-1:-1:-1;;;;;;8554:86:4;;;8626:13;8585:38;8606:17;8585:18;:38;:::i;:::-;:54;;;;:::i;:::-;8554:86;;160:25:7;;;148:2;133:18;8554:86:4;;;;;;;8706:13;8686:18;8659:25;8667:17;8659:6;:25;:::i;:::-;:45;;;;:::i;:::-;:60;;;;:::i;:::-;8651:69;8141:587;-1:-1:-1;;;;;;8141:587:4:o;420:192:6:-;506:7;542:12;534:6;;;;526:29;;;;-1:-1:-1;;;526:29:6;;;;;;;;:::i;:::-;-1:-1:-1;566:9:6;578:5;582:1;578;:5;:::i;:::-;566:17;420:192;-1:-1:-1;;;;;420:192:6:o;1018:278::-;1104:7;1139:12;1132:5;1124:28;;;;-1:-1:-1;;;1124:28:6;;;;;;;;:::i;:::-;-1:-1:-1;1163:9:6;1175:5;1179:1;1175;:5;:::i;14376:475:4:-;14466:16;;;14480:1;14466:16;;;;;;;;14442:21;;14466:16;;;;;;;;;;-1:-1:-1;14466:16:4;14442:40;;14511:4;14493;14498:1;14493:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14493:23:4;;;:7;;;;;;;;;;:23;;;;14537:15;;:22;;;-1:-1:-1;;;14537:22:4;;;;:15;;;;;:20;;:22;;;;;14493:7;;14537:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14527:4;14532:1;14527:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14527:32:4;;;:7;;;;;;;;;:32;14604:15;;14572:62;;14589:4;;14604:15;14622:11;14572:8;:62::i;:::-;14647:15;;:196;;-1:-1:-1;;;14647:196:4;;-1:-1:-1;;;;;14647:15:4;;;;:66;;:196;;14728:11;;14647:15;;14770:4;;14797;;14817:15;;14647:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14431:420;14376:475;:::o;14859:374::-;14972:15;;14940:62;;14957:4;;-1:-1:-1;;;;;14972:15:4;14990:11;14940:8;:62::i;:::-;15015:15;;15167:17;;15015:210;;-1:-1:-1;;;15015:210:4;;15089:4;15015:210;;;15899:34:7;15949:18;;;15942:34;;;15015:15:4;15992:18:7;;;15985:34;;;16035:18;;;16028:34;-1:-1:-1;;;;;15167:17:4;;;16078:19:7;;;16071:44;15199:15:4;16131:19:7;;;16124:35;15015:15:4;;;:31;;15055:9;;15833:19:7;;15015:210:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14859:374;;:::o;196:548:7:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;1002:131::-;-1:-1:-1;;;;;1077:31:7;;1067:42;;1057:70;;1123:1;1120;1113:12;1138:315;1206:6;1214;1267:2;1255:9;1246:7;1242:23;1238:32;1235:52;;;1283:1;1280;1273:12;1235:52;1322:9;1309:23;1341:31;1366:5;1341:31;:::i;:::-;1391:5;1443:2;1428:18;;;;1415:32;;-1:-1:-1;;;1138:315:7:o;1650:248::-;1718:6;1726;1779:2;1767:9;1758:7;1754:23;1750:32;1747:52;;;1795:1;1792;1785:12;1747:52;-1:-1:-1;;1818:23:7;;;1888:2;1873:18;;;1860:32;;-1:-1:-1;1650:248:7:o;2137:180::-;2196:6;2249:2;2237:9;2228:7;2224:23;2220:32;2217:52;;;2265:1;2262;2255:12;2217:52;-1:-1:-1;2288:23:7;;2137:180;-1:-1:-1;2137:180:7:o;2322:456::-;2399:6;2407;2415;2468:2;2456:9;2447:7;2443:23;2439:32;2436:52;;;2484:1;2481;2474:12;2436:52;2523:9;2510:23;2542:31;2567:5;2542:31;:::i;:::-;2592:5;-1:-1:-1;2649:2:7;2634:18;;2621:32;2662:33;2621:32;2662:33;:::i;:::-;2322:456;;2714:7;;-1:-1:-1;;;2768:2:7;2753:18;;;;2740:32;;2322:456::o;2991:247::-;3050:6;3103:2;3091:9;3082:7;3078:23;3074:32;3071:52;;;3119:1;3116;3109:12;3071:52;3158:9;3145:23;3177:31;3202:5;3177:31;:::i;3756:118::-;3842:5;3835:13;3828:21;3821:5;3818:32;3808:60;;3864:1;3861;3854:12;3879:444;3950:6;3958;3966;4019:2;4007:9;3998:7;3994:23;3990:32;3987:52;;;4035:1;4032;4025:12;3987:52;4074:9;4061:23;4093:28;4115:5;4093:28;:::i;:::-;4140:5;-1:-1:-1;4192:2:7;4177:18;;4164:32;;-1:-1:-1;4248:2:7;4233:18;;4220:32;4261:30;4220:32;4261:30;:::i;:::-;4310:7;4300:17;;;3879:444;;;;;:::o;4328:523::-;4432:6;4440;4448;4456;4464;4472;4525:3;4513:9;4504:7;4500:23;4496:33;4493:53;;;4542:1;4539;4532:12;4493:53;-1:-1:-1;;4565:23:7;;;4635:2;4620:18;;4607:32;;-1:-1:-1;4686:2:7;4671:18;;4658:32;;4737:2;4722:18;;4709:32;;-1:-1:-1;4788:3:7;4773:19;;4760:33;;-1:-1:-1;4840:3:7;4825:19;4812:33;;-1:-1:-1;4328:523:7;-1:-1:-1;4328:523:7:o;4856:382::-;4921:6;4929;4982:2;4970:9;4961:7;4957:23;4953:32;4950:52;;;4998:1;4995;4988:12;4950:52;5037:9;5024:23;5056:31;5081:5;5056:31;:::i;:::-;5106:5;-1:-1:-1;5163:2:7;5148:18;;5135:32;5176:30;5135:32;5176:30;:::i;:::-;5225:7;5215:17;;;4856:382;;;;;:::o;5855:388::-;5923:6;5931;5984:2;5972:9;5963:7;5959:23;5955:32;5952:52;;;6000:1;5997;5990:12;5952:52;6039:9;6026:23;6058:31;6083:5;6058:31;:::i;:::-;6108:5;-1:-1:-1;6165:2:7;6150:18;;6137:32;6178:33;6137:32;6178:33;:::i;6248:356::-;6450:2;6432:21;;;6469:18;;;6462:30;6528:34;6523:2;6508:18;;6501:62;6595:2;6580:18;;6248:356::o;7024:127::-;7085:10;7080:3;7076:20;7073:1;7066:31;7116:4;7113:1;7106:15;7140:4;7137:1;7130:15;7156:168;7229:9;;;7260;;7277:15;;;7271:22;;7257:37;7247:71;;7298:18;;:::i;7329:128::-;7396:9;;;7417:11;;;7414:37;;;7431:18;;:::i;7870:125::-;7935:9;;;7956:10;;;7953:36;;;7969:18;;:::i;9243:184::-;9313:6;9366:2;9354:9;9345:7;9341:23;9337:32;9334:52;;;9382:1;9379;9372:12;9334:52;-1:-1:-1;9405:16:7;;9243:184;-1:-1:-1;9243:184:7:o;9711:245::-;9778:6;9831:2;9819:9;9810:7;9806:23;9802:32;9799:52;;;9847:1;9844;9837:12;9799:52;9879:9;9873:16;9898:28;9920:5;9898:28;:::i;12396:405::-;12598:2;12580:21;;;12637:2;12617:18;;;12610:30;12676:34;12671:2;12656:18;;12649:62;-1:-1:-1;;;12742:2:7;12727:18;;12720:39;12791:3;12776:19;;12396:405::o;12806:408::-;13008:2;12990:21;;;13047:2;13027:18;;;13020:30;13086:34;13081:2;13066:18;;13059:62;-1:-1:-1;;;13152:2:7;13137:18;;13130:42;13204:3;13189:19;;12806:408::o;13219:217::-;13259:1;13285;13275:132;;13329:10;13324:3;13320:20;13317:1;13310:31;13364:4;13361:1;13354:15;13392:4;13389:1;13382:15;13275:132;-1:-1:-1;13421:9:7;;13219:217::o;14185:127::-;14246:10;14241:3;14237:20;14234:1;14227:31;14277:4;14274:1;14267:15;14301:4;14298:1;14291:15;14317:251;14387:6;14440:2;14428:9;14419:7;14415:23;14411:32;14408:52;;;14456:1;14453;14446:12;14408:52;14488:9;14482:16;14507:31;14532:5;14507:31;:::i;14573:980::-;14835:4;14883:3;14872:9;14868:19;14914:6;14903:9;14896:25;14940:2;14978:6;14973:2;14962:9;14958:18;14951:34;15021:3;15016:2;15005:9;15001:18;14994:31;15045:6;15080;15074:13;15111:6;15103;15096:22;15149:3;15138:9;15134:19;15127:26;;15188:2;15180:6;15176:15;15162:29;;15209:1;15219:195;15233:6;15230:1;15227:13;15219:195;;;15298:13;;-1:-1:-1;;;;;15294:39:7;15282:52;;15389:15;;;;15354:12;;;;15330:1;15248:9;15219:195;;;-1:-1:-1;;;;;;;15470:32:7;;;;15465:2;15450:18;;15443:60;-1:-1:-1;;;15534:3:7;15519:19;15512:35;15431:3;14573:980;-1:-1:-1;;;14573:980:7:o;16170:306::-;16258:6;16266;16274;16327:2;16315:9;16306:7;16302:23;16298:32;16295:52;;;16343:1;16340;16333:12;16295:52;16372:9;16366:16;16356:26;;16422:2;16411:9;16407:18;16401:25;16391:35;;16466:2;16455:9;16451:18;16445:25;16435:35;;16170:306;;;;;:::o
Swarm Source
ipfs://2228418c1ed5a106ab6119ac18aa15b32be2b4f1f786a66fe2882dcb5762cf40
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.