ERC-20
Overview
Max Total Supply
1,000,000 TRUMPY
Holders
216
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0 TRUMPYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TRUMPY
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-19 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { 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); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - 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) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _createInitialSupply(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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); } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() external 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; } } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); 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; function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract TRUMPY is ERC20, Ownable { IDexRouter public dexRouter; address public lpPair; address marketingWallet; bool private swapping; uint256 public swapTokensAtAmount; uint256 public sellTotalFees; uint256 public sellMarketingFee; uint256 public buyTotalFees; uint256 public buyMarketingFee; uint256 public tokensForMarketing; uint256 public maxBuy; uint256 public maxSell; uint256 public maxWallet; bool public limitsInEffect = true; bool public tradingOpen = false; bool public swapEnabled = false; uint256 public tradingOpenBlock = 0; uint256 public blockForPenaltyEnd; mapping (address => bool) public blacklisted; mapping (address => bool) public automatedMarketMakerPairs; mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) public _isExcludedMaxTransactionAmount; event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event EnabledTrading(); event UpdatedmaxBuy(uint256 newAmount); event UpdatedmaxSell(uint256 newAmount); event UpdatedmaxWallet(uint256 newAmount); event RemovedLimits(); event ExcludeFromFees(address indexed account, bool isExcluded); event OwnerForcedSwapBack(uint256 timestamp); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); event UpdatedMarketingAddress(address indexed newWallet); event MaxTransactionExclusion(address _address, bool excluded); constructor() ERC20("TRUMPY", " TRUMPY") { address newOwner = msg.sender; buyMarketingFee = 5; buyTotalFees = buyMarketingFee; sellMarketingFee = 5; sellTotalFees = sellMarketingFee; IDexRouter _dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); dexRouter = _dexRouter; lpPair = IDexFactory(_dexRouter.factory()).createPair(address(this), _dexRouter.WETH()); _excludeFromMaxTransaction(address(lpPair), true); _setAutomatedMarketMakerPair(address(lpPair), true); uint256 totalSupply = 1000000 * 1e18; maxWallet = totalSupply * 5 / 100; swapTokensAtAmount = totalSupply * 5 / 10000; maxBuy = totalSupply * 5 / 100; maxSell = totalSupply * 5 / 100; excludeFromFees(newOwner, true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); _excludeFromMaxTransaction(newOwner, true); _excludeFromMaxTransaction(address(this), true); _excludeFromMaxTransaction(address(0xdead), true); marketingWallet = address(newOwner); _createInitialSupply(newOwner, totalSupply); transferOwnership(newOwner); } receive() external payable {} function startTrading() external onlyOwner { require(!tradingOpen, "Cannot reenable trading"); tradingOpen = true; swapEnabled = true; tradingOpenBlock = block.number; blockForPenaltyEnd = tradingOpenBlock ; emit EnabledTrading(); } function removeLimits() external onlyOwner { limitsInEffect = false; emit RemovedLimits(); } function manageBotAddress(address wallet, bool flag) external onlyOwner { blacklisted[wallet] = flag; } function bulkManageBotAddresses(address[] calldata wallets, bool flag) external onlyOwner { for(uint256 i = 0; i < wallets.length; i++){ blacklisted[wallets[i]] = flag; } } function changeSwapTokensAmount(uint256 newAmount) external onlyOwner { require(newAmount >= totalSupply() * 1 / 100000, "Swap amount cannot be lower than 0.001% total supply."); require(newAmount <= totalSupply() * 1 / 1000, "Swap amount cannot be higher than 0.1% total supply."); swapTokensAtAmount = newAmount; } function _excludeFromMaxTransaction(address updAds, bool isExcluded) private { _isExcludedMaxTransactionAmount[updAds] = isExcluded; emit MaxTransactionExclusion(updAds, isExcluded); } function excludeFromMaxTransaction(address updAds, bool isEx) external onlyOwner { if(!isEx){ require(updAds != lpPair, "Cannot remove uniswap pair from max txn"); } _isExcludedMaxTransactionAmount[updAds] = isEx; } function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner { require(pair != lpPair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); emit SetAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; _excludeFromMaxTransaction(pair, value); emit SetAutomatedMarketMakerPair(pair, value); } function changeBuyTax(uint256 _marketingFee) external onlyOwner { buyMarketingFee = _marketingFee; buyTotalFees = buyMarketingFee ; require(buyTotalFees <= 100, "Must keep fees at 100% or less"); } function changeSellTax(uint256 _marketingFee) external onlyOwner { sellMarketingFee = _marketingFee; sellTotalFees = sellMarketingFee; require(sellTotalFees <= 100, "Must keep fees at 100% or less"); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "amount must be greater than 0"); if(!tradingOpen){ require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if(blockForPenaltyEnd > 0){ require(!blacklisted[from] || to == owner() || to == address(0xdead), "Bots cannot transfer tokens in or out except to owner or dead address."); } if(limitsInEffect){ if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]){ //when buy if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxBuy, "Buy transfer amount exceeds the max buy."); require(amount + balanceOf(to) <= maxWallet, "Cannot Exceed max wallet"); } //when sell else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxSell, "Sell transfer amount exceeds the max sell."); } else if (!_isExcludedMaxTransactionAmount[to]){ require(amount + balanceOf(to) <= maxWallet, "Cannot Exceed max wallet"); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if(canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } bool takeFee = true; // if any account belongs to _isExcludedFromFee account then remove the fee if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if(takeFee){ // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0){ fees = amount * sellTotalFees / 100; tokensForMarketing += fees * sellMarketingFee / sellTotalFees; } // on buy else if(automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount * buyTotalFees / 100; tokensForMarketing += fees * buyMarketingFee / buyTotalFees; } if(fees > 0){ super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(dexRouter), tokenAmount); // add the liquidity dexRouter.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable address(0xdead), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForMarketing; if(contractBalance == 0 || totalTokensToSwap == 0) {return;} if(contractBalance > swapTokensAtAmount * 20){ contractBalance = swapTokensAtAmount * 20; } bool success; swapTokensForEth(contractBalance); tokensForMarketing = 0; (success,) = address(marketingWallet).call{value: address(this).balance}(""); } function setMarketingWallet(address _marketingWallet) external onlyOwner { require(_marketingWallet != address(0), "_marketingWallet address cannot be 0"); marketingWallet = payable(_marketingWallet); } function forceEthToMarketing() external onlyOwner { swapping = true; swapBack(); swapping = false; emit OwnerForcedSwapBack(block.timestamp); } }
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":[],"name":"EnabledTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OwnerForcedSwapBack","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedMarketingAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedmaxBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedmaxSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedmaxWallet","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockForPenaltyEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"bulkManageBotAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"changeBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"changeSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"changeSwapTokensAmount","outputs":[],"stateMutability":"nonpayable","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":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"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":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceEthToMarketing","outputs":[],"stateMutability":"nonpayable","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"manageBotAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpenBlock","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526012805462ffffff191660011790555f60135534801562000023575f80fd5b50604051806040016040528060068152602001655452554d505960d01b81525060405180604001604052806007815260200166205452554d505960c81b8152508160039081620000749190620007a5565b506004620000838282620007a5565b5050505f62000097620003ad60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f905f8051602062002d31833981519152908290a3506005600d819055600c819055600b819055600a55600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051339291829163c45a0155916004818101926020929091908290030181865afa1580156200014e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200017491906200086d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e691906200086d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000231573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025791906200086d565b600780546001600160a01b0319166001600160a01b0392909216918217905562000283906001620003b1565b6007546200029c906001600160a01b0316600162000413565b69d3c21bcecceda10000006064620002b6826005620008b0565b620002c29190620008d0565b601155612710620002d5826005620008b0565b620002e19190620008d0565b6009556064620002f3826005620008b0565b620002ff9190620008d0565b600f55606462000311826005620008b0565b6200031d9190620008d0565b6010556200032d8360016200047d565b6200033a3060016200047d565b6200034961dead60016200047d565b62000356836001620003b1565b62000363306001620003b1565b6200037261dead6001620003b1565b600880546001600160a01b0319166001600160a01b03851617905562000399838262000529565b620003a4836200060b565b50505062000906565b3390565b6001600160a01b0382165f81815260186020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6001600160a01b0382165f908152601660205260409020805460ff1916821515179055620004428282620003b1565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab905f90a35050565b6005546001600160a01b03163314620004cb5760405162461bcd60e51b815260206004820181905260248201525f8051602062002d1183398151915260448201526064015b60405180910390fd5b6001600160a01b0382165f81815260176020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005815760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004c2565b8060025f828254620005949190620008f0565b90915550506001600160a01b0382165f9081526020819052604081208054839290620005c2908490620008f0565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03163314620006555760405162461bcd60e51b815260206004820181905260248201525f8051602062002d118339815191526044820152606401620004c2565b6001600160a01b038116620006bc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004c2565b6005546040516001600160a01b038084169216905f8051602062002d31833981519152905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200072e57607f821691505b6020821081036200074d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620007a0575f81815260208120601f850160051c810160208610156200077b5750805b601f850160051c820191505b818110156200079c5782815560010162000787565b5050505b505050565b81516001600160401b03811115620007c157620007c162000705565b620007d981620007d2845462000719565b8462000753565b602080601f8311600181146200080f575f8415620007f75750858301515b5f19600386901b1c1916600185901b1785556200079c565b5f85815260208120601f198616915b828110156200083f578886015182559484019460019091019084016200081e565b50858210156200085d57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f602082840312156200087e575f80fd5b81516001600160a01b038116811462000895575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620008ca57620008ca6200089c565b92915050565b5f82620008eb57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620008ca57620008ca6200089c565b6123fd80620009145f395ff3fe60806040526004361061026d575f3560e01c8063715018a61161014a578063b2a9c0c0116100be578063dd62ed3e11610078578063dd62ed3e1461070e578063debae15e14610752578063e2f4560514610771578063f2fde38b14610786578063f8b45b05146107a5578063ffb54a99146107ba575f80fd5b8063b2a9c0c01461064a578063b62496f514610669578063b8eb354614610697578063c0246668146106ac578063d85ba063146106cb578063dbac26e9146106e0575f80fd5b8063921369131161010f57806392136913146105af57806395d89b41146105c45780639a7a23d6146105d8578063a457c2d7146105f7578063a62068ce14610616578063a9059cbb1461062b575f80fd5b8063715018a614610536578063751039fc1461054a5780637571336a1461055e5780637bce5a041461057d5780638da5cb5b14610592575f80fd5b8063293230b8116101e15780635d098b38116101a65780635d098b381461047b5780635f09d9491461049a5780636a486a8e146104b95780636ddd1713146104ce57806370a08231146104ed57806370db69d614610521575f80fd5b8063293230b8146103f5578063313ce567146104095780633950935114610424578063452ed4f1146104435780634a62bb6514610462575f80fd5b80630e23500e116102325780630e23500e1461033d57806310d5de531461036057806318160ddd1461038e5780631f3fed8f146103a257806323b872dd146103b757806324c16b7f146103d6575f80fd5b806306fdde03146102785780630758d924146102a25780630899c7c3146102d9578063095ea7b3146102fa5780630dca268614610329575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028c6107d8565b6040516102999190611fb1565b60405180910390f35b3480156102ad575f80fd5b506006546102c1906001600160a01b031681565b6040516001600160a01b039091168152602001610299565b3480156102e4575f80fd5b506102f86102f3366004612024565b610868565b005b348015610305575f80fd5b50610319610314366004612057565b6108c5565b6040519015158152602001610299565b348015610334575f80fd5b506102f86108db565b348015610348575f80fd5b5061035260135481565b604051908152602001610299565b34801561036b575f80fd5b5061031961037a366004612081565b60186020525f908152604090205460ff1681565b348015610399575f80fd5b50600254610352565b3480156103ad575f80fd5b50610352600e5481565b3480156103c2575f80fd5b506103196103d13660046120a3565b610962565b3480156103e1575f80fd5b506102f86103f03660046120e1565b610a0a565b348015610400575f80fd5b506102f8610a92565b348015610414575f80fd5b5060405160128152602001610299565b34801561042f575f80fd5b5061031961043e366004612057565b610b58565b34801561044e575f80fd5b506007546102c1906001600160a01b031681565b34801561046d575f80fd5b506012546103199060ff1681565b348015610486575f80fd5b506102f8610495366004612081565b610b93565b3480156104a5575f80fd5b506102f86104b43660046120f8565b610c41565b3480156104c4575f80fd5b50610352600a5481565b3480156104d9575f80fd5b506012546103199062010000900460ff1681565b3480156104f8575f80fd5b50610352610507366004612081565b6001600160a01b03165f9081526020819052604090205490565b34801561052c575f80fd5b50610352600f5481565b348015610541575f80fd5b506102f8610cdf565b348015610555575f80fd5b506102f8610d52565b348015610569575f80fd5b506102f8610578366004612024565b610db0565b348015610588575f80fd5b50610352600d5481565b34801561059d575f80fd5b506005546001600160a01b03166102c1565b3480156105ba575f80fd5b50610352600b5481565b3480156105cf575f80fd5b5061028c610e77565b3480156105e3575f80fd5b506102f86105f2366004612024565b610e86565b348015610602575f80fd5b50610319610611366004612057565b610f79565b348015610621575f80fd5b5061035260145481565b348015610636575f80fd5b50610319610645366004612057565b611011565b348015610655575f80fd5b506102f86106643660046120e1565b61101d565b348015610674575f80fd5b50610319610683366004612081565b60166020525f908152604090205460ff1681565b3480156106a2575f80fd5b5061035260105481565b3480156106b7575f80fd5b506102f86106c6366004612024565b611168565b3480156106d6575f80fd5b50610352600c5481565b3480156106eb575f80fd5b506103196106fa366004612081565b60156020525f908152604090205460ff1681565b348015610719575f80fd5b50610352610728366004612175565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561075d575f80fd5b506102f861076c3660046120e1565b6111f0565b34801561077c575f80fd5b5061035260095481565b348015610791575f80fd5b506102f86107a0366004612081565b611275565b3480156107b0575f80fd5b5061035260115481565b3480156107c5575f80fd5b5060125461031990610100900460ff1681565b6060600380546107e7906121ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610813906121ac565b801561085e5780601f106108355761010080835404028352916020019161085e565b820191905f5260205f20905b81548152906001019060200180831161084157829003601f168201915b5050505050905090565b6005546001600160a01b0316331461089b5760405162461bcd60e51b8152600401610892906121e4565b60405180910390fd5b6001600160a01b03919091165f908152601560205260409020805460ff1916911515919091179055565b5f6108d133848461135f565b5060015b92915050565b6005546001600160a01b031633146109055760405162461bcd60e51b8152600401610892906121e4565b6008805460ff60a01b1916600160a01b179055610920611482565b6008805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b5f61096e848484611535565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156109f25760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610892565b6109ff853385840361135f565b506001949350505050565b6005546001600160a01b03163314610a345760405162461bcd60e51b8152600401610892906121e4565b600d819055600c8190556064811115610a8f5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610892565b50565b6005546001600160a01b03163314610abc5760405162461bcd60e51b8152600401610892906121e4565b601254610100900460ff1615610b145760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610892565b6012805462ffff001916620101001790554360138190556014556040517fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb7905f90a1565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916108d1918590610b8e90869061222d565b61135f565b6005546001600160a01b03163314610bbd5760405162461bcd60e51b8152600401610892906121e4565b6001600160a01b038116610c1f5760405162461bcd60e51b8152602060048201526024808201527f5f6d61726b6574696e6757616c6c657420616464726573732063616e6e6f74206044820152630626520360e41b6064820152608401610892565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610c6b5760405162461bcd60e51b8152600401610892906121e4565b5f5b82811015610cd9578160155f868685818110610c8b57610c8b612240565b9050602002016020810190610ca09190612081565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610cd181612254565b915050610c6d565b50505050565b6005546001600160a01b03163314610d095760405162461bcd60e51b8152600401610892906121e4565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d7c5760405162461bcd60e51b8152600401610892906121e4565b6012805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a1565b6005546001600160a01b03163314610dda5760405162461bcd60e51b8152600401610892906121e4565b80610e4d576007546001600160a01b0390811690831603610e4d5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610892565b6001600160a01b03919091165f908152601860205260409020805460ff1916911515919091179055565b6060600480546107e7906121ac565b6005546001600160a01b03163314610eb05760405162461bcd60e51b8152600401610892906121e4565b6007546001600160a01b0390811690831603610f345760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610892565b610f3e8282611c87565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab905f90a35050565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610ffa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610892565b611007338585840361135f565b5060019392505050565b5f6108d1338484611535565b6005546001600160a01b031633146110475760405162461bcd60e51b8152600401610892906121e4565b620186a061105460025490565b61105f90600161226c565b6110699190612283565b8110156110d65760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610892565b6103e86110e260025490565b6110ed90600161226c565b6110f79190612283565b8111156111635760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610892565b600955565b6005546001600160a01b031633146111925760405162461bcd60e51b8152600401610892906121e4565b6001600160a01b0382165f81815260176020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b0316331461121a5760405162461bcd60e51b8152600401610892906121e4565b600b819055600a8190556064811115610a8f5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610892565b6005546001600160a01b0316331461129f5760405162461bcd60e51b8152600401610892906121e4565b6001600160a01b0381166113045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610892565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166113c15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610892565b6001600160a01b0382166114225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610892565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b305f90815260208190526040902054600e5481158061149f575080155b156114a8575050565b6009546114b690601461226c565b8211156114ce576009546114cb90601461226c565b91505b5f6114d883611cb4565b5f600e8190556008546040516001600160a01b039091169147919081818185875af1925050503d805f8114611528576040519150601f19603f3d011682016040523d82523d5f602084013e61152d565b606091505b505050505050565b6001600160a01b03831661155b5760405162461bcd60e51b8152600401610892906122a2565b6001600160a01b0382166115815760405162461bcd60e51b8152600401610892906122e7565b5f81116115d05760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610892565b601254610100900460ff16611661576001600160a01b0383165f9081526017602052604090205460ff168061161c57506001600160a01b0382165f9081526017602052604090205460ff165b6116615760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610892565b60145415611733576001600160a01b0383165f9081526015602052604090205460ff16158061169d57506005546001600160a01b038381169116145b806116b257506001600160a01b03821661dead145b6117335760405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f722064656164206164606482015265323932b9b99760d11b608482015260a401610892565b60125460ff1615611a32576005546001600160a01b0384811691161480159061176a57506005546001600160a01b03838116911614155b801561177e57506001600160a01b03821615155b801561179557506001600160a01b03821661dead14155b80156117b957506001600160a01b0383165f9081526017602052604090205460ff16155b80156117dd57506001600160a01b0382165f9081526017602052604090205460ff16155b15611a32576001600160a01b0383165f9081526016602052604090205460ff16801561182157506001600160a01b0382165f9081526018602052604090205460ff16155b156118fc57600f548111156118895760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610892565b6011546001600160a01b0383165f908152602081905260409020546118ae908361222d565b11156118f75760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610892565b611a32565b6001600160a01b0382165f9081526016602052604090205460ff16801561193b57506001600160a01b0383165f9081526018602052604090205460ff16155b156119a5576010548111156118f75760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610892565b6001600160a01b0382165f9081526018602052604090205460ff16611a32576011546001600160a01b0383165f908152602081905260409020546119e9908361222d565b1115611a325760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610892565b305f9081526020819052604090205460095481108015908190611a5d575060125462010000900460ff165b8015611a735750600854600160a01b900460ff16155b8015611a9757506001600160a01b0385165f9081526016602052604090205460ff16155b8015611abb57506001600160a01b0385165f9081526017602052604090205460ff16155b8015611adf57506001600160a01b0384165f9081526017602052604090205460ff16155b15611b0d576008805460ff60a01b1916600160a01b179055611aff611482565b6008805460ff60a01b191690555b6001600160a01b0385165f9081526017602052604090205460019060ff1680611b4d57506001600160a01b0385165f9081526017602052604090205460ff165b15611b5557505f5b5f8115611c73576001600160a01b0386165f9081526016602052604090205460ff168015611b8457505f600a54115b15611bdb576064600a5486611b99919061226c565b611ba39190612283565b9050600a54600b5482611bb6919061226c565b611bc09190612283565b600e5f828254611bd0919061222d565b90915550611c559050565b6001600160a01b0387165f9081526016602052604090205460ff168015611c0357505f600c54115b15611c55576064600c5486611c18919061226c565b611c229190612283565b9050600c54600d5482611c35919061226c565b611c3f9190612283565b600e5f828254611c4f919061222d565b90915550505b8015611c6657611c66873083611dfc565b611c70818661232a565b94505b611c7e878787611dfc565b50505050505050565b6001600160a01b0382165f908152601660205260409020805460ff1916821515179055610f3e8282611f4f565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611ce757611ce7612240565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d62919061233d565b81600181518110611d7557611d75612240565b6001600160a01b039283166020918202929092010152600654611d9b913091168461135f565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611dd39085905f90869030904290600401612358565b5f604051808303815f87803b158015611dea575f80fd5b505af115801561152d573d5f803e3d5ffd5b6001600160a01b038316611e225760405162461bcd60e51b8152600401610892906122a2565b6001600160a01b038216611e485760405162461bcd60e51b8152600401610892906122e7565b6001600160a01b0383165f9081526020819052604090205481811015611ebf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610892565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611ef590849061222d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f4191815260200190565b60405180910390a350505050565b6001600160a01b0382165f81815260186020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b5f6020808352835180828501525f5b81811015611fdc57858101830151858201604001528201611fc0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a8f575f80fd5b8035801515811461201f575f80fd5b919050565b5f8060408385031215612035575f80fd5b823561204081611ffc565b915061204e60208401612010565b90509250929050565b5f8060408385031215612068575f80fd5b823561207381611ffc565b946020939093013593505050565b5f60208284031215612091575f80fd5b813561209c81611ffc565b9392505050565b5f805f606084860312156120b5575f80fd5b83356120c081611ffc565b925060208401356120d081611ffc565b929592945050506040919091013590565b5f602082840312156120f1575f80fd5b5035919050565b5f805f6040848603121561210a575f80fd5b833567ffffffffffffffff80821115612121575f80fd5b818601915086601f830112612134575f80fd5b813581811115612142575f80fd5b8760208260051b8501011115612156575f80fd5b60209283019550935061216c9186019050612010565b90509250925092565b5f8060408385031215612186575f80fd5b823561219181611ffc565b915060208301356121a181611ffc565b809150509250929050565b600181811c908216806121c057607f821691505b6020821081036121de57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156108d5576108d5612219565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161226557612265612219565b5060010190565b80820281158282048414176108d5576108d5612219565b5f8261229d57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156108d5576108d5612219565b5f6020828403121561234d575f80fd5b815161209c81611ffc565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156123a65784516001600160a01b031683529383019391830191600101612381565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d60ff99c77b88d19df55d27771c9b5e7b667a9d257e14e9df6ca619cdcbc6fe364736f6c634300081400334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
Deployed Bytecode
0x60806040526004361061026d575f3560e01c8063715018a61161014a578063b2a9c0c0116100be578063dd62ed3e11610078578063dd62ed3e1461070e578063debae15e14610752578063e2f4560514610771578063f2fde38b14610786578063f8b45b05146107a5578063ffb54a99146107ba575f80fd5b8063b2a9c0c01461064a578063b62496f514610669578063b8eb354614610697578063c0246668146106ac578063d85ba063146106cb578063dbac26e9146106e0575f80fd5b8063921369131161010f57806392136913146105af57806395d89b41146105c45780639a7a23d6146105d8578063a457c2d7146105f7578063a62068ce14610616578063a9059cbb1461062b575f80fd5b8063715018a614610536578063751039fc1461054a5780637571336a1461055e5780637bce5a041461057d5780638da5cb5b14610592575f80fd5b8063293230b8116101e15780635d098b38116101a65780635d098b381461047b5780635f09d9491461049a5780636a486a8e146104b95780636ddd1713146104ce57806370a08231146104ed57806370db69d614610521575f80fd5b8063293230b8146103f5578063313ce567146104095780633950935114610424578063452ed4f1146104435780634a62bb6514610462575f80fd5b80630e23500e116102325780630e23500e1461033d57806310d5de531461036057806318160ddd1461038e5780631f3fed8f146103a257806323b872dd146103b757806324c16b7f146103d6575f80fd5b806306fdde03146102785780630758d924146102a25780630899c7c3146102d9578063095ea7b3146102fa5780630dca268614610329575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028c6107d8565b6040516102999190611fb1565b60405180910390f35b3480156102ad575f80fd5b506006546102c1906001600160a01b031681565b6040516001600160a01b039091168152602001610299565b3480156102e4575f80fd5b506102f86102f3366004612024565b610868565b005b348015610305575f80fd5b50610319610314366004612057565b6108c5565b6040519015158152602001610299565b348015610334575f80fd5b506102f86108db565b348015610348575f80fd5b5061035260135481565b604051908152602001610299565b34801561036b575f80fd5b5061031961037a366004612081565b60186020525f908152604090205460ff1681565b348015610399575f80fd5b50600254610352565b3480156103ad575f80fd5b50610352600e5481565b3480156103c2575f80fd5b506103196103d13660046120a3565b610962565b3480156103e1575f80fd5b506102f86103f03660046120e1565b610a0a565b348015610400575f80fd5b506102f8610a92565b348015610414575f80fd5b5060405160128152602001610299565b34801561042f575f80fd5b5061031961043e366004612057565b610b58565b34801561044e575f80fd5b506007546102c1906001600160a01b031681565b34801561046d575f80fd5b506012546103199060ff1681565b348015610486575f80fd5b506102f8610495366004612081565b610b93565b3480156104a5575f80fd5b506102f86104b43660046120f8565b610c41565b3480156104c4575f80fd5b50610352600a5481565b3480156104d9575f80fd5b506012546103199062010000900460ff1681565b3480156104f8575f80fd5b50610352610507366004612081565b6001600160a01b03165f9081526020819052604090205490565b34801561052c575f80fd5b50610352600f5481565b348015610541575f80fd5b506102f8610cdf565b348015610555575f80fd5b506102f8610d52565b348015610569575f80fd5b506102f8610578366004612024565b610db0565b348015610588575f80fd5b50610352600d5481565b34801561059d575f80fd5b506005546001600160a01b03166102c1565b3480156105ba575f80fd5b50610352600b5481565b3480156105cf575f80fd5b5061028c610e77565b3480156105e3575f80fd5b506102f86105f2366004612024565b610e86565b348015610602575f80fd5b50610319610611366004612057565b610f79565b348015610621575f80fd5b5061035260145481565b348015610636575f80fd5b50610319610645366004612057565b611011565b348015610655575f80fd5b506102f86106643660046120e1565b61101d565b348015610674575f80fd5b50610319610683366004612081565b60166020525f908152604090205460ff1681565b3480156106a2575f80fd5b5061035260105481565b3480156106b7575f80fd5b506102f86106c6366004612024565b611168565b3480156106d6575f80fd5b50610352600c5481565b3480156106eb575f80fd5b506103196106fa366004612081565b60156020525f908152604090205460ff1681565b348015610719575f80fd5b50610352610728366004612175565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561075d575f80fd5b506102f861076c3660046120e1565b6111f0565b34801561077c575f80fd5b5061035260095481565b348015610791575f80fd5b506102f86107a0366004612081565b611275565b3480156107b0575f80fd5b5061035260115481565b3480156107c5575f80fd5b5060125461031990610100900460ff1681565b6060600380546107e7906121ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610813906121ac565b801561085e5780601f106108355761010080835404028352916020019161085e565b820191905f5260205f20905b81548152906001019060200180831161084157829003601f168201915b5050505050905090565b6005546001600160a01b0316331461089b5760405162461bcd60e51b8152600401610892906121e4565b60405180910390fd5b6001600160a01b03919091165f908152601560205260409020805460ff1916911515919091179055565b5f6108d133848461135f565b5060015b92915050565b6005546001600160a01b031633146109055760405162461bcd60e51b8152600401610892906121e4565b6008805460ff60a01b1916600160a01b179055610920611482565b6008805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b5f61096e848484611535565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156109f25760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610892565b6109ff853385840361135f565b506001949350505050565b6005546001600160a01b03163314610a345760405162461bcd60e51b8152600401610892906121e4565b600d819055600c8190556064811115610a8f5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610892565b50565b6005546001600160a01b03163314610abc5760405162461bcd60e51b8152600401610892906121e4565b601254610100900460ff1615610b145760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610892565b6012805462ffff001916620101001790554360138190556014556040517fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb7905f90a1565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916108d1918590610b8e90869061222d565b61135f565b6005546001600160a01b03163314610bbd5760405162461bcd60e51b8152600401610892906121e4565b6001600160a01b038116610c1f5760405162461bcd60e51b8152602060048201526024808201527f5f6d61726b6574696e6757616c6c657420616464726573732063616e6e6f74206044820152630626520360e41b6064820152608401610892565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610c6b5760405162461bcd60e51b8152600401610892906121e4565b5f5b82811015610cd9578160155f868685818110610c8b57610c8b612240565b9050602002016020810190610ca09190612081565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610cd181612254565b915050610c6d565b50505050565b6005546001600160a01b03163314610d095760405162461bcd60e51b8152600401610892906121e4565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610d7c5760405162461bcd60e51b8152600401610892906121e4565b6012805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a1565b6005546001600160a01b03163314610dda5760405162461bcd60e51b8152600401610892906121e4565b80610e4d576007546001600160a01b0390811690831603610e4d5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610892565b6001600160a01b03919091165f908152601860205260409020805460ff1916911515919091179055565b6060600480546107e7906121ac565b6005546001600160a01b03163314610eb05760405162461bcd60e51b8152600401610892906121e4565b6007546001600160a01b0390811690831603610f345760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610892565b610f3e8282611c87565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab905f90a35050565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610ffa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610892565b611007338585840361135f565b5060019392505050565b5f6108d1338484611535565b6005546001600160a01b031633146110475760405162461bcd60e51b8152600401610892906121e4565b620186a061105460025490565b61105f90600161226c565b6110699190612283565b8110156110d65760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610892565b6103e86110e260025490565b6110ed90600161226c565b6110f79190612283565b8111156111635760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610892565b600955565b6005546001600160a01b031633146111925760405162461bcd60e51b8152600401610892906121e4565b6001600160a01b0382165f81815260176020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b0316331461121a5760405162461bcd60e51b8152600401610892906121e4565b600b819055600a8190556064811115610a8f5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610892565b6005546001600160a01b0316331461129f5760405162461bcd60e51b8152600401610892906121e4565b6001600160a01b0381166113045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610892565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166113c15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610892565b6001600160a01b0382166114225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610892565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b305f90815260208190526040902054600e5481158061149f575080155b156114a8575050565b6009546114b690601461226c565b8211156114ce576009546114cb90601461226c565b91505b5f6114d883611cb4565b5f600e8190556008546040516001600160a01b039091169147919081818185875af1925050503d805f8114611528576040519150601f19603f3d011682016040523d82523d5f602084013e61152d565b606091505b505050505050565b6001600160a01b03831661155b5760405162461bcd60e51b8152600401610892906122a2565b6001600160a01b0382166115815760405162461bcd60e51b8152600401610892906122e7565b5f81116115d05760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610892565b601254610100900460ff16611661576001600160a01b0383165f9081526017602052604090205460ff168061161c57506001600160a01b0382165f9081526017602052604090205460ff165b6116615760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610892565b60145415611733576001600160a01b0383165f9081526015602052604090205460ff16158061169d57506005546001600160a01b038381169116145b806116b257506001600160a01b03821661dead145b6117335760405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f722064656164206164606482015265323932b9b99760d11b608482015260a401610892565b60125460ff1615611a32576005546001600160a01b0384811691161480159061176a57506005546001600160a01b03838116911614155b801561177e57506001600160a01b03821615155b801561179557506001600160a01b03821661dead14155b80156117b957506001600160a01b0383165f9081526017602052604090205460ff16155b80156117dd57506001600160a01b0382165f9081526017602052604090205460ff16155b15611a32576001600160a01b0383165f9081526016602052604090205460ff16801561182157506001600160a01b0382165f9081526018602052604090205460ff16155b156118fc57600f548111156118895760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610892565b6011546001600160a01b0383165f908152602081905260409020546118ae908361222d565b11156118f75760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610892565b611a32565b6001600160a01b0382165f9081526016602052604090205460ff16801561193b57506001600160a01b0383165f9081526018602052604090205460ff16155b156119a5576010548111156118f75760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610892565b6001600160a01b0382165f9081526018602052604090205460ff16611a32576011546001600160a01b0383165f908152602081905260409020546119e9908361222d565b1115611a325760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610892565b305f9081526020819052604090205460095481108015908190611a5d575060125462010000900460ff165b8015611a735750600854600160a01b900460ff16155b8015611a9757506001600160a01b0385165f9081526016602052604090205460ff16155b8015611abb57506001600160a01b0385165f9081526017602052604090205460ff16155b8015611adf57506001600160a01b0384165f9081526017602052604090205460ff16155b15611b0d576008805460ff60a01b1916600160a01b179055611aff611482565b6008805460ff60a01b191690555b6001600160a01b0385165f9081526017602052604090205460019060ff1680611b4d57506001600160a01b0385165f9081526017602052604090205460ff165b15611b5557505f5b5f8115611c73576001600160a01b0386165f9081526016602052604090205460ff168015611b8457505f600a54115b15611bdb576064600a5486611b99919061226c565b611ba39190612283565b9050600a54600b5482611bb6919061226c565b611bc09190612283565b600e5f828254611bd0919061222d565b90915550611c559050565b6001600160a01b0387165f9081526016602052604090205460ff168015611c0357505f600c54115b15611c55576064600c5486611c18919061226c565b611c229190612283565b9050600c54600d5482611c35919061226c565b611c3f9190612283565b600e5f828254611c4f919061222d565b90915550505b8015611c6657611c66873083611dfc565b611c70818661232a565b94505b611c7e878787611dfc565b50505050505050565b6001600160a01b0382165f908152601660205260409020805460ff1916821515179055610f3e8282611f4f565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611ce757611ce7612240565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d62919061233d565b81600181518110611d7557611d75612240565b6001600160a01b039283166020918202929092010152600654611d9b913091168461135f565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611dd39085905f90869030904290600401612358565b5f604051808303815f87803b158015611dea575f80fd5b505af115801561152d573d5f803e3d5ffd5b6001600160a01b038316611e225760405162461bcd60e51b8152600401610892906122a2565b6001600160a01b038216611e485760405162461bcd60e51b8152600401610892906122e7565b6001600160a01b0383165f9081526020819052604090205481811015611ebf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610892565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611ef590849061222d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f4191815260200190565b60405180910390a350505050565b6001600160a01b0382165f81815260186020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b5f6020808352835180828501525f5b81811015611fdc57858101830151858201604001528201611fc0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a8f575f80fd5b8035801515811461201f575f80fd5b919050565b5f8060408385031215612035575f80fd5b823561204081611ffc565b915061204e60208401612010565b90509250929050565b5f8060408385031215612068575f80fd5b823561207381611ffc565b946020939093013593505050565b5f60208284031215612091575f80fd5b813561209c81611ffc565b9392505050565b5f805f606084860312156120b5575f80fd5b83356120c081611ffc565b925060208401356120d081611ffc565b929592945050506040919091013590565b5f602082840312156120f1575f80fd5b5035919050565b5f805f6040848603121561210a575f80fd5b833567ffffffffffffffff80821115612121575f80fd5b818601915086601f830112612134575f80fd5b813581811115612142575f80fd5b8760208260051b8501011115612156575f80fd5b60209283019550935061216c9186019050612010565b90509250925092565b5f8060408385031215612186575f80fd5b823561219181611ffc565b915060208301356121a181611ffc565b809150509250929050565b600181811c908216806121c057607f821691505b6020821081036121de57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156108d5576108d5612219565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161226557612265612219565b5060010190565b80820281158282048414176108d5576108d5612219565b5f8261229d57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156108d5576108d5612219565b5f6020828403121561234d575f80fd5b815161209c81611ffc565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156123a65784516001600160a01b031683529383019391830191600101612381565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d60ff99c77b88d19df55d27771c9b5e7b667a9d257e14e9df6ca619cdcbc6fe364736f6c63430008140033
Deployed Bytecode Sourcemap
8115:10873:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2004:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8158:27;;;;;;;;;;-1:-1:-1;8158:27:0;;;;-1:-1:-1;;;;;8158:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;8158:27:0;567:221:1;11434:117:0;;;;;;;;;;-1:-1:-1;11434:117:0;;;;;:::i;:::-;;:::i;:::-;;2918:169;;;;;;;;;;-1:-1:-1;2918:169:0;;;;;:::i;:::-;;:::i;:::-;;;1899:14:1;;1892:22;1874:41;;1862:2;1847:18;2918:169:0;1734:187:1;18799:184:0;;;;;;;;;;;;;:::i;8706:35::-;;;;;;;;;;;;;;;;;;;2072:25:1;;;2060:2;2045:18;8706:35:0;1926:177:1;8965:64:0;;;;;;;;;;-1:-1:-1;8965:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2325:108;;;;;;;;;;-1:-1:-1;2413:12:0;;2325:108;;8462:33;;;;;;;;;;;;;;;;3095:492;;;;;;;;;;-1:-1:-1;3095:492:0;;;;;:::i;:::-;;:::i;13167:229::-;;;;;;;;;;-1:-1:-1;13167:229:0;;;;;:::i;:::-;;:::i;11012:291::-;;;;;;;;;;;;;:::i;2224:93::-;;;;;;;;;;-1:-1:-1;2224:93:0;;2307:2;3148:36:1;;3136:2;3121:18;2224:93:0;3006:184:1;3595:215:0;;;;;;;;;;-1:-1:-1;3595:215:0;;;;;:::i;:::-;;:::i;8192:21::-;;;;;;;;;;-1:-1:-1;8192:21:0;;;;-1:-1:-1;;;;;8192:21:0;;;8590:33;;;;;;;;;;-1:-1:-1;8590:33:0;;;;;;;;18568:225;;;;;;;;;;-1:-1:-1;18568:225:0;;;;;:::i;:::-;;:::i;11559:208::-;;;;;;;;;;-1:-1:-1;11559:208:0;;;;;:::i;:::-;;:::i;8318:28::-;;;;;;;;;;;;;;;;8668:31;;;;;;;;;;-1:-1:-1;8668:31:0;;;;;;;;;;;2441:127;;;;;;;;;;-1:-1:-1;2441:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2542:18:0;2515:7;2542:18;;;;;;;;;;;;2441:127;8502:21;;;;;;;;;;;;;;;;6639:150;;;;;;;;;;;;;:::i;11311:115::-;;;;;;;;;;;;;:::i;12348:260::-;;;;;;;;;;-1:-1:-1;12348:260:0;;;;;:::i;:::-;;:::i;8425:30::-;;;;;;;;;;;;;;;;6425:79;;;;;;;;;;-1:-1:-1;6490:6:0;;-1:-1:-1;;;;;6490:6:0;6425:79;;8353:31;;;;;;;;;;;;;;;;2112:104;;;;;;;;;;;;;:::i;12616:295::-;;;;;;;;;;-1:-1:-1;12616:295:0;;;;;:::i;:::-;;:::i;3818:413::-;;;;;;;;;;-1:-1:-1;3818:413:0;;;;;:::i;:::-;;:::i;8749:33::-;;;;;;;;;;;;;;;;2576:175;;;;;;;;;;-1:-1:-1;2576:175:0;;;;;:::i;:::-;;:::i;11775:348::-;;;;;;;;;;-1:-1:-1;11775:348:0;;;;;:::i;:::-;;:::i;8840:58::-;;;;;;;;;;-1:-1:-1;8840:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8530:22;;;;;;;;;;;;;;;;13645:182;;;;;;;;;;-1:-1:-1;13645:182:0;;;;;:::i;:::-;;:::i;8391:27::-;;;;;;;;;;;;;;;;8789:44;;;;;;;;;;-1:-1:-1;8789:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2759:151;;;;;;;;;;-1:-1:-1;2759:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;2875:18:0;;;2848:7;2875:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2759:151;13404:233;;;;;;;;;;-1:-1:-1;13404:233:0;;;;;:::i;:::-;;:::i;8278:33::-;;;;;;;;;;;;;;;;6797:244;;;;;;;;;;-1:-1:-1;6797:244:0;;;;;:::i;:::-;;:::i;8559:24::-;;;;;;;;;;;;;;;;8630:31;;;;;;;;;;-1:-1:-1;8630:31:0;;;;;;;;;;;2004:100;2058:13;2091:5;2084:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2004:100;:::o;11434:117::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11517:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:26;;-1:-1:-1;;11517:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11434:117::o;2918:169::-;3001:4;3018:39;175:10;3041:7;3050:6;3018:8;:39::i;:::-;-1:-1:-1;3075:4:0;2918:169;;;;;:::o;18799:184::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;18860:8:::1;:15:::0;;-1:-1:-1;;;;18860:15:0::1;-1:-1:-1::0;;;18860:15:0::1;::::0;;18886:10:::1;:8;:10::i;:::-;18907:8;:16:::0;;-1:-1:-1;;;;18907:16:0::1;::::0;;18939:36:::1;::::0;18959:15:::1;2072:25:1::0;;18939:36:0::1;::::0;2060:2:1;2045:18;18939:36:0::1;;;;;;;18799:184::o:0;3095:492::-;3235:4;3252:36;3262:6;3270:9;3281:6;3252:9;:36::i;:::-;-1:-1:-1;;;;;3328:19:0;;3301:24;3328:19;;;:11;:19;;;;;;;;175:10;3328:33;;;;;;;;3380:26;;;;3372:79;;;;-1:-1:-1;;;3372:79:0;;5438:2:1;3372:79:0;;;5420:21:1;5477:2;5457:18;;;5450:30;5516:34;5496:18;;;5489:62;-1:-1:-1;;;5567:18:1;;;5560:38;5615:19;;3372:79:0;5236:404:1;3372:79:0;3487:57;3496:6;175:10;3537:6;3518:16;:25;3487:8;:57::i;:::-;-1:-1:-1;3575:4:0;;3095:492;-1:-1:-1;;;;3095:492:0:o;13167:229::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;13242:15:::1;:31:::0;;;13284:12:::1;:30:::0;;;13350:3:::1;13334:19:::0;::::1;;13326:62;;;::::0;-1:-1:-1;;;13326:62:0;;5847:2:1;13326:62:0::1;::::0;::::1;5829:21:1::0;5886:2;5866:18;;;5859:30;5925:32;5905:18;;;5898:60;5975:18;;13326:62:0::1;5645:354:1::0;13326:62:0::1;13167:229:::0;:::o;11012:291::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;11075:11:::1;::::0;::::1;::::0;::::1;;;11074:12;11066:48;;;::::0;-1:-1:-1;;;11066:48:0;;6206:2:1;11066:48:0::1;::::0;::::1;6188:21:1::0;6245:2;6225:18;;;6218:30;6284:25;6264:18;;;6257:53;6327:18;;11066:48:0::1;6004:347:1::0;11066:48:0::1;11125:11;:18:::0;;-1:-1:-1;;11154:18:0;;;;;11202:12:::1;11183:16;:31:::0;;;11225:18:::1;:37:::0;11279:16:::1;::::0;::::1;::::0;-1:-1:-1;;11279:16:0::1;11012:291::o:0;3595:215::-;175:10;3683:4;3732:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3732:34:0;;;;;;;;;;3683:4;;3700:80;;3723:7;;3732:47;;3769:10;;3732:47;:::i;:::-;3700:8;:80::i;18568:225::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18660:30:0;::::1;18652:79;;;::::0;-1:-1:-1;;;18652:79:0;;6820:2:1;18652:79:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;6898:34;6878:18;;;6871:62;-1:-1:-1;;;6949:18:1;;;6942:34;6993:19;;18652:79:0::1;6618:400:1::0;18652:79:0::1;18742:15;:43:::0;;-1:-1:-1;;;;;;18742:43:0::1;-1:-1:-1::0;;;;;18742:43:0;;;::::1;::::0;;;::::1;::::0;;18568:225::o;11559:208::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;11664:9:::1;11660:100;11679:18:::0;;::::1;11660:100;;;11744:4;11718:11;:23;11730:7;;11738:1;11730:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11718:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11718:23:0;:30;;-1:-1:-1;;11718:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11699:3;::::1;::::0;::::1;:::i;:::-;;;;11660:100;;;;11559:208:::0;;;:::o;6639:150::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;6732:6:::1;::::0;6711:40:::1;::::0;6748:1:::1;::::0;-1:-1:-1;;;;;6732:6:0::1;::::0;6711:40:::1;::::0;6748:1;;6711:40:::1;6762:6;:19:::0;;-1:-1:-1;;;;;;6762:19:0::1;::::0;;6639:150::o;11311:115::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;11365:14:::1;:22:::0;;-1:-1:-1;;11365:22:0::1;::::0;;11403:15:::1;::::0;::::1;::::0;11382:5:::1;::::0;11403:15:::1;11311:115::o:0;12348:260::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;12444:4:::1;12440:104;;12482:6;::::0;-1:-1:-1;;;;;12482:6:0;;::::1;12472:16:::0;;::::1;::::0;12464:68:::1;;;::::0;-1:-1:-1;;;12464:68:0;;7497:2:1;12464:68:0::1;::::0;::::1;7479:21:1::0;7536:2;7516:18;;;7509:30;7575:34;7555:18;;;7548:62;-1:-1:-1;;;7626:18:1;;;7619:37;7673:19;;12464:68:0::1;7295:403:1::0;12464:68:0::1;-1:-1:-1::0;;;;;12554:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;12554:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12348:260::o;2112:104::-;2168:13;2201:7;2194:14;;;;;:::i;12616:295::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;12725:6:::1;::::0;-1:-1:-1;;;;;12725:6:0;;::::1;12717:14:::0;;::::1;::::0;12709:84:::1;;;::::0;-1:-1:-1;;;12709:84:0;;7905:2:1;12709:84:0::1;::::0;::::1;7887:21:1::0;7944:2;7924:18;;;7917:30;7983:34;7963:18;;;7956:62;8054:27;8034:18;;;8027:55;8099:19;;12709:84:0::1;7703:421:1::0;12709:84:0::1;12806:41;12835:4;12841:5;12806:28;:41::i;:::-;12863:40;::::0;;::::1;;::::0;-1:-1:-1;;;;;12863:40:0;::::1;::::0;::::1;::::0;;;::::1;12616:295:::0;;:::o;3818:413::-;175:10;3911:4;3955:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3955:34:0;;;;;;;;;;4008:35;;;;4000:85;;;;-1:-1:-1;;;4000:85:0;;8331:2:1;4000:85:0;;;8313:21:1;8370:2;8350:18;;;8343:30;8409:34;8389:18;;;8382:62;-1:-1:-1;;;8460:18:1;;;8453:35;8505:19;;4000:85:0;8129:401:1;4000:85:0;4121:67;175:10;4144:7;4172:15;4153:16;:34;4121:8;:67::i;:::-;-1:-1:-1;4219:4:0;;3818:413;-1:-1:-1;;;3818:413:0:o;2576:175::-;2662:4;2679:42;175:10;2703:9;2714:6;2679:9;:42::i;11775:348::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;11897:6:::1;11877:13;2413:12:::0;;;2325:108;11877:13:::1;:17;::::0;11893:1:::1;11877:17;:::i;:::-;:26;;;;:::i;:::-;11864:9;:39;;11856:105;;;::::0;-1:-1:-1;;;11856:105:0;;9132:2:1;11856:105:0::1;::::0;::::1;9114:21:1::0;9171:2;9151:18;;;9144:30;9210:34;9190:18;;;9183:62;-1:-1:-1;;;9261:18:1;;;9254:51;9322:19;;11856:105:0::1;8930:417:1::0;11856:105:0::1;12013:4;11993:13;2413:12:::0;;;2325:108;11993:13:::1;:17;::::0;12009:1:::1;11993:17;:::i;:::-;:24;;;;:::i;:::-;11980:9;:37;;11972:102;;;::::0;-1:-1:-1;;;11972:102:0;;9554:2:1;11972:102:0::1;::::0;::::1;9536:21:1::0;9593:2;9573:18;;;9566:30;9632:34;9612:18;;;9605:62;-1:-1:-1;;;9683:18:1;;;9676:50;9743:19;;11972:102:0::1;9352:416:1::0;11972:102:0::1;12085:18;:30:::0;11775:348::o;13645:182::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13730:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;13730:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;13785:34;;1874:41:1;;;13785:34:0::1;::::0;1847:18:1;13785:34:0::1;;;;;;;13645:182:::0;;:::o;13404:233::-;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;13480:16:::1;:32:::0;;;13523:13:::1;:32:::0;;;13591:3:::1;13574:20:::0;::::1;;13566:63;;;::::0;-1:-1:-1;;;13566:63:0;;5847:2:1;13566:63:0::1;::::0;::::1;5829:21:1::0;5886:2;5866:18;;;5859:30;5925:32;5905:18;;;5898:60;5975:18;;13566:63:0::1;5645:354:1::0;6797:244:0;6552:6;;-1:-1:-1;;;;;6552:6:0;175:10;6552:22;6544:67;;;;-1:-1:-1;;;6544:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6886:22:0;::::1;6878:73;;;::::0;-1:-1:-1;;;6878:73:0;;9975:2:1;6878:73:0::1;::::0;::::1;9957:21:1::0;10014:2;9994:18;;;9987:30;10053:34;10033:18;;;10026:62;-1:-1:-1;;;10104:18:1;;;10097:36;10150:19;;6878:73:0::1;9773:402:1::0;6878:73:0::1;6988:6;::::0;6967:38:::1;::::0;-1:-1:-1;;;;;6967:38:0;;::::1;::::0;6988:6:::1;::::0;6967:38:::1;::::0;6988:6:::1;::::0;6967:38:::1;7016:6;:17:::0;;-1:-1:-1;;;;;;7016:17:0::1;-1:-1:-1::0;;;;;7016:17:0;;;::::1;::::0;;;::::1;::::0;;6797:244::o;5718:380::-;-1:-1:-1;;;;;5854:19:0;;5846:68;;;;-1:-1:-1;;;5846:68:0;;10382:2:1;5846:68:0;;;10364:21:1;10421:2;10401:18;;;10394:30;10460:34;10440:18;;;10433:62;-1:-1:-1;;;10511:18:1;;;10504:34;10555:19;;5846:68:0;10180:400:1;5846:68:0;-1:-1:-1;;;;;5933:21:0;;5925:68;;;;-1:-1:-1;;;5925:68:0;;10787:2:1;5925:68:0;;;10769:21:1;10826:2;10806:18;;;10799:30;10865:34;10845:18;;;10838:62;-1:-1:-1;;;10916:18:1;;;10909:32;10958:19;;5925:68:0;10585:398:1;5925:68:0;-1:-1:-1;;;;;6006:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6058:32;;2072:25:1;;;6058:32:0;;2045:18:1;6058:32:0;;;;;;;5718:380;;;:::o;18010:548::-;18095:4;18051:23;2542:18;;;;;;;;;;;18140;;18174:20;;;:46;;-1:-1:-1;18198:22:0;;18174:46;18171:60;;;18223:7;;18010:548::o;18171:60::-;18264:18;;:23;;18285:2;18264:23;:::i;:::-;18246:15;:41;18243:113;;;18321:18;;:23;;18342:2;18321:23;:::i;:::-;18303:41;;18243:113;18368:12;18393:33;18410:15;18393:16;:33::i;:::-;18460:1;18439:18;:22;;;18495:15;;18487:63;;-1:-1:-1;;;;;18495:15:0;;;;18524:21;;18487:63;;18460:1;18487:63;18524:21;18495:15;18487:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18010:548:0:o;13835:3069::-;-1:-1:-1;;;;;13935:18:0;;13927:68;;;;-1:-1:-1;;;13927:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14014:16:0;;14006:64;;;;-1:-1:-1;;;14006:64:0;;;;;;;:::i;:::-;14098:1;14089:6;:10;14081:52;;;;-1:-1:-1;;;14081:52:0;;12210:2:1;14081:52:0;;;12192:21:1;12249:2;12229:18;;;12222:30;12288:31;12268:18;;;12261:59;12337:18;;14081:52:0;12008:353:1;14081:52:0;14150:11;;;;;;;14146:130;;-1:-1:-1;;;;;14185:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;14214:23:0;;;;;;:19;:23;;;;;;;;14185:52;14177:87;;;;-1:-1:-1;;;14177:87:0;;12568:2:1;14177:87:0;;;12550:21:1;12607:2;12587:18;;;12580:30;-1:-1:-1;;;12626:18:1;;;12619:52;12688:18;;14177:87:0;12366:346:1;14177:87:0;14291:18;;:22;14288:196;;-1:-1:-1;;;;;14338:17:0;;;;;;:11;:17;;;;;;;;14337:18;;:35;;-1:-1:-1;6490:6:0;;-1:-1:-1;;;;;14359:13:0;;;6490:6;;14359:13;14337:35;:60;;;-1:-1:-1;;;;;;14376:21:0;;14390:6;14376:21;14337:60;14329:143;;;;-1:-1:-1;;;14329:143:0;;12919:2:1;14329:143:0;;;12901:21:1;12958:2;12938:18;;;12931:30;12997:34;12977:18;;;12970:62;13068:34;13048:18;;;13041:62;-1:-1:-1;;;13119:19:1;;;13112:37;13166:19;;14329:143:0;12717:474:1;14329:143:0;14499:14;;;;14496:967;;;6490:6;;-1:-1:-1;;;;;14533:15:0;;;6490:6;;14533:15;;;;:32;;-1:-1:-1;6490:6:0;;-1:-1:-1;;;;;14552:13:0;;;6490:6;;14552:13;;14533:32;:52;;;;-1:-1:-1;;;;;;14569:16:0;;;;14533:52;:77;;;;-1:-1:-1;;;;;;14589:21:0;;14603:6;14589:21;;14533:77;:107;;;;-1:-1:-1;;;;;;14615:25:0;;;;;;:19;:25;;;;;;;;14614:26;14533:107;:135;;;;-1:-1:-1;;;;;;14645:23:0;;;;;;:19;:23;;;;;;;;14644:24;14533:135;14529:923;;;-1:-1:-1;;;;;14722:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;14758:35:0;;;;;;:31;:35;;;;;;;;14757:36;14722:71;14718:719;;;14840:6;;14830;:16;;14822:69;;;;-1:-1:-1;;;14822:69:0;;13398:2:1;14822:69:0;;;13380:21:1;13437:2;13417:18;;;13410:30;13476:34;13456:18;;;13449:62;-1:-1:-1;;;13527:18:1;;;13520:38;13575:19;;14822:69:0;13196:404:1;14822:69:0;14952:9;;-1:-1:-1;;;;;2542:18:0;;2515:7;2542:18;;;;;;;;;;;14926:22;;:6;:22;:::i;:::-;:35;;14918:72;;;;-1:-1:-1;;;14918:72:0;;13807:2:1;14918:72:0;;;13789:21:1;13846:2;13826:18;;;13819:30;-1:-1:-1;;;13865:18:1;;;13858:54;13929:18;;14918:72:0;13605:348:1;14918:72:0;14718:719;;;-1:-1:-1;;;;;15066:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;15100:37:0;;;;;;:31;:37;;;;;;;;15099:38;15066:71;15062:375;;;15184:7;;15174:6;:17;;15166:72;;;;-1:-1:-1;;;15166:72:0;;14160:2:1;15166:72:0;;;14142:21:1;14199:2;14179:18;;;14172:30;14238:34;14218:18;;;14211:62;-1:-1:-1;;;14289:18:1;;;14282:40;14339:19;;15166:72:0;13958:406:1;15062:375:0;-1:-1:-1;;;;;15286:35:0;;;;;;:31;:35;;;;;;;;15281:156;;15379:9;;-1:-1:-1;;;;;2542:18:0;;2515:7;2542:18;;;;;;;;;;;15353:22;;:6;:22;:::i;:::-;:35;;15345:72;;;;-1:-1:-1;;;15345:72:0;;13807:2:1;15345:72:0;;;13789:21:1;13846:2;13826:18;;;13819:30;-1:-1:-1;;;13865:18:1;;;13858:54;13929:18;;15345:72:0;13605:348:1;15345:72:0;15524:4;15475:28;2542:18;;;;;;;;;;;15582;;15558:42;;;;;;;15616:22;;-1:-1:-1;15627:11:0;;;;;;;15616:22;:35;;;;-1:-1:-1;15643:8:0;;-1:-1:-1;;;15643:8:0;;;;15642:9;15616:35;:71;;;;-1:-1:-1;;;;;;15656:31:0;;;;;;:25;:31;;;;;;;;15655:32;15616:71;:101;;;;-1:-1:-1;;;;;;15692:25:0;;;;;;:19;:25;;;;;;;;15691:26;15616:101;:129;;;;-1:-1:-1;;;;;;15722:23:0;;;;;;:19;:23;;;;;;;;15721:24;15616:129;15613:236;;;15762:8;:15;;-1:-1:-1;;;;15762:15:0;-1:-1:-1;;;15762:15:0;;;15794:10;:8;:10::i;:::-;15821:8;:16;;-1:-1:-1;;;;15821:16:0;;;15613:236;-1:-1:-1;;;;;15979:25:0;;15861:12;15979:25;;;:19;:25;;;;;;15876:4;;15979:25;;;:52;;-1:-1:-1;;;;;;16008:23:0;;;;;;:19;:23;;;;;;;;15979:52;15976:99;;;-1:-1:-1;16058:5:0;15976:99;16087:12;16191:7;16188:663;;;-1:-1:-1;;;;;16256:29:0;;;;;;:25;:29;;;;;;;;:50;;;;;16305:1;16289:13;;:17;16256:50;16252:452;;;16358:3;16342:13;;16333:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;16326:35;;16428:13;;16409:16;;16402:4;:23;;;;:::i;:::-;:39;;;;:::i;:::-;16380:18;;:61;;;;;;;:::i;:::-;;;;-1:-1:-1;16252:452:0;;-1:-1:-1;16252:452:0;;-1:-1:-1;;;;;16504:31:0;;;;;;:25;:31;;;;;;;;:51;;;;;16554:1;16539:12;;:16;16504:51;16501:203;;;16607:3;16592:12;;16583:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;16576:34;;16676:12;;16658:15;;16651:4;:22;;;;:::i;:::-;:37;;;;:::i;:::-;16629:18;;:59;;;;;;;:::i;:::-;;;;-1:-1:-1;;16501:203:0;16723:8;;16720:89;;16751:42;16767:4;16781;16788;16751:15;:42::i;:::-;16825:14;16835:4;16825:14;;:::i;:::-;;;16188:663;16863:33;16879:4;16885:2;16889:6;16863:15;:33::i;:::-;13914:2990;;;;13835:3069;;;:::o;12919:240::-;-1:-1:-1;;;;;13002:31:0;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;13002:39:0;;;;;;;13054;13002:31;:39;13054:26;:39::i;16912:573::-;17064:16;;;17078:1;17064:16;;;;;;;;17040:21;;17064:16;;;;;;;;;;-1:-1:-1;17064:16:0;17040:40;;17109:4;17091;17096:1;17091:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17091:23:0;;;:7;;;;;;;;;;:23;;;;17135:9;;:16;;;-1:-1:-1;;;17135:16:0;;;;:9;;;;;:14;;:16;;;;;17091:7;;17135:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17125:4;17130:1;17125:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17125:26:0;;;:7;;;;;;;;;:26;17196:9;;17164:56;;17181:4;;17196:9;17208:11;17164:8;:56::i;:::-;17259:9;;:218;;-1:-1:-1;;;17259:218:0;;-1:-1:-1;;;;;17259:9:0;;;;:60;;:218;;17334:11;;17259:9;;17404:4;;17431;;17451:15;;17259:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4239:614;-1:-1:-1;;;;;4379:20:0;;4371:70;;;;-1:-1:-1;;;4371:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4460:23:0;;4452:71;;;;-1:-1:-1;;;4452:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4560:17:0;;4536:21;4560:17;;;;;;;;;;;4596:23;;;;4588:74;;;;-1:-1:-1;;;4588:74:0;;16077:2:1;4588:74:0;;;16059:21:1;16116:2;16096:18;;;16089:30;16155:34;16135:18;;;16128:62;-1:-1:-1;;;16206:18:1;;;16199:36;16252:19;;4588:74:0;15875:402:1;4588:74:0;-1:-1:-1;;;;;4698:17:0;;;:9;:17;;;;;;;;;;;4718:22;;;4698:42;;4762:20;;;;;;;;:30;;4734:6;;4698:9;4762:30;;4734:6;;4762:30;:::i;:::-;;;;;;;;4827:9;-1:-1:-1;;;;;4810:35:0;4819:6;-1:-1:-1;;;;;4810:35:0;;4838:6;4810:35;;;;2072:25:1;;2060:2;2045:18;;1926:177;4810:35:0;;;;;;;;4360:493;4239:614;;;:::o;12131:207::-;-1:-1:-1;;;;;12219:39:0;;;;;;:31;:39;;;;;;;;;:52;;-1:-1:-1;;12219:52:0;;;;;;;;;;12287:43;;16450:51:1;;;16517:18;;;16510:50;12287:43:0;;16423:18:1;12287:43:0;;;;;;;12131:207;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;793:131::-;-1:-1:-1;;;;;868:31:1;;858:42;;848:70;;914:1;911;904:12;929:160;994:20;;1050:13;;1043:21;1033:32;;1023:60;;1079:1;1076;1069:12;1023:60;929:160;;;:::o;1094:315::-;1159:6;1167;1220:2;1208:9;1199:7;1195:23;1191:32;1188:52;;;1236:1;1233;1226:12;1188:52;1275:9;1262:23;1294:31;1319:5;1294:31;:::i;:::-;1344:5;-1:-1:-1;1368:35:1;1399:2;1384:18;;1368:35;:::i;:::-;1358:45;;1094:315;;;;;:::o;1414:::-;1482:6;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;1719:2;1704:18;;;;1691:32;;-1:-1:-1;;;1414:315:1:o;2108:247::-;2167:6;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2275:9;2262:23;2294:31;2319:5;2294:31;:::i;:::-;2344:5;2108:247;-1:-1:-1;;;2108:247:1:o;2360:456::-;2437:6;2445;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2360:456;;2752:7;;-1:-1:-1;;;2806:2:1;2791:18;;;;2778:32;;2360:456::o;2821:180::-;2880:6;2933:2;2921:9;2912:7;2908:23;2904:32;2901:52;;;2949:1;2946;2939:12;2901:52;-1:-1:-1;2972:23:1;;2821:180;-1:-1:-1;2821:180:1:o;3403:689::-;3495:6;3503;3511;3564:2;3552:9;3543:7;3539:23;3535:32;3532:52;;;3580:1;3577;3570:12;3532:52;3620:9;3607:23;3649:18;3690:2;3682:6;3679:14;3676:34;;;3706:1;3703;3696:12;3676:34;3744:6;3733:9;3729:22;3719:32;;3789:7;3782:4;3778:2;3774:13;3770:27;3760:55;;3811:1;3808;3801:12;3760:55;3851:2;3838:16;3877:2;3869:6;3866:14;3863:34;;;3893:1;3890;3883:12;3863:34;3948:7;3941:4;3931:6;3928:1;3924:14;3920:2;3916:23;3912:34;3909:47;3906:67;;;3969:1;3966;3959:12;3906:67;4000:4;3992:13;;;;-1:-1:-1;4024:6:1;-1:-1:-1;4049:37:1;;4065:20;;;-1:-1:-1;4049:37:1;:::i;:::-;4039:47;;3403:689;;;;;:::o;4097:388::-;4165:6;4173;4226:2;4214:9;4205:7;4201:23;4197:32;4194:52;;;4242:1;4239;4232:12;4194:52;4281:9;4268:23;4300:31;4325:5;4300:31;:::i;:::-;4350:5;-1:-1:-1;4407:2:1;4392:18;;4379:32;4420:33;4379:32;4420:33;:::i;:::-;4472:7;4462:17;;;4097:388;;;;;:::o;4490:380::-;4569:1;4565:12;;;;4612;;;4633:61;;4687:4;4679:6;4675:17;4665:27;;4633:61;4740:2;4732:6;4729:14;4709:18;4706:38;4703:161;;4786:10;4781:3;4777:20;4774:1;4767:31;4821:4;4818:1;4811:15;4849:4;4846:1;4839:15;4703:161;;4490:380;;;:::o;4875:356::-;5077:2;5059:21;;;5096:18;;;5089:30;5155:34;5150:2;5135:18;;5128:62;5222:2;5207:18;;4875:356::o;6356:127::-;6417:10;6412:3;6408:20;6405:1;6398:31;6448:4;6445:1;6438:15;6472:4;6469:1;6462:15;6488:125;6553:9;;;6574:10;;;6571:36;;;6587:18;;:::i;7023:127::-;7084:10;7079:3;7075:20;7072:1;7065:31;7115:4;7112:1;7105:15;7139:4;7136:1;7129:15;7155:135;7194:3;7215:17;;;7212:43;;7235:18;;:::i;:::-;-1:-1:-1;7282:1:1;7271:13;;7155:135::o;8535:168::-;8608:9;;;8639;;8656:15;;;8650:22;;8636:37;8626:71;;8677:18;;:::i;8708:217::-;8748:1;8774;8764:132;;8818:10;8813:3;8809:20;8806:1;8799:31;8853:4;8850:1;8843:15;8881:4;8878:1;8871:15;8764:132;-1:-1:-1;8910:9:1;;8708:217::o;11198:401::-;11400:2;11382:21;;;11439:2;11419:18;;;11412:30;11478:34;11473:2;11458:18;;11451:62;-1:-1:-1;;;11544:2:1;11529:18;;11522:35;11589:3;11574:19;;11198:401::o;11604:399::-;11806:2;11788:21;;;11845:2;11825:18;;;11818:30;11884:34;11879:2;11864:18;;11857:62;-1:-1:-1;;;11950:2:1;11935:18;;11928:33;11993:3;11978:19;;11604:399::o;14369:128::-;14436:9;;;14457:11;;;14454:37;;;14471:18;;:::i;14634:251::-;14704:6;14757:2;14745:9;14736:7;14732:23;14728:32;14725:52;;;14773:1;14770;14763:12;14725:52;14805:9;14799:16;14824:31;14849:5;14824:31;:::i;14890:980::-;15152:4;15200:3;15189:9;15185:19;15231:6;15220:9;15213:25;15257:2;15295:6;15290:2;15279:9;15275:18;15268:34;15338:3;15333:2;15322:9;15318:18;15311:31;15362:6;15397;15391:13;15428:6;15420;15413:22;15466:3;15455:9;15451:19;15444:26;;15505:2;15497:6;15493:15;15479:29;;15526:1;15536:195;15550:6;15547:1;15544:13;15536:195;;;15615:13;;-1:-1:-1;;;;;15611:39:1;15599:52;;15706:15;;;;15671:12;;;;15647:1;15565:9;15536:195;;;-1:-1:-1;;;;;;;15787:32:1;;;;15782:2;15767:18;;15760:60;-1:-1:-1;;;15851:3:1;15836:19;15829:35;15748:3;14890:980;-1:-1:-1;;;14890:980:1:o
Swarm Source
ipfs://d60ff99c77b88d19df55d27771c9b5e7b667a9d257e14e9df6ca619cdcbc6fe3
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.