Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 DIA
Holders
251
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
693,354.083993353554961058 DIAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DIA
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-15 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } 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 IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract DIA is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "Decentralized Intelligence Agency"; string private _symbol = "DIA"; uint8 private _decimals = 18; address payable public marketingWallet = payable(0x06BB26f64FEA72bf0C6DE157546fB2015eD598F7); address payable public DeveloperWallet = payable(0x06BB26f64FEA72bf0C6DE157546fB2015eD598F7); address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; mapping (address => bool) public blacklist; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; uint256 public _buyLiquidityFee = 0; uint256 public _buyMarketingFee = 25; uint256 public _buyDeveloperFee = 0; uint256 public _sellLiquidityFee = 0; uint256 public _sellMarketingFee = 35; uint256 public _sellDeveloperFee = 0; uint256 public _totalTaxIfBuying; uint256 public _totalTaxIfSelling; uint256 private _totalSupply = 1000000 * 10**_decimals; uint256 public minimumTokensBeforeSwap = _totalSupply.mul(1).div(100); uint256 public _maxTxAmount = _totalSupply.mul(1).div(100); uint256 public _walletMax = _totalSupply.mul(1).div(100); IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; bool public EnableTransactionLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0); isExcludedFromFee[owner()] = true; isExcludedFromFee[marketingWallet] = true; isExcludedFromFee[DeveloperWallet] = true; isExcludedFromFee[address(this)] = true; isWalletLimitExempt[owner()] = true; isWalletLimitExempt[marketingWallet] = true; isWalletLimitExempt[DeveloperWallet] = true; isWalletLimitExempt[address(uniswapPair)] = true; isWalletLimitExempt[address(this)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[marketingWallet] = true; isTxLimitExempt[DeveloperWallet] = true; isTxLimitExempt[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee); isMarketPair[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function setIsExcludedFromFee(address account, bool newValue) public onlyOwner { isExcludedFromFee[account] = newValue; } function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function setIsWalletLimitExempt(address holder, bool exempt) external onlyOwner { isWalletLimitExempt[holder] = exempt; } function enableTxLimit(bool _status) external onlyOwner { EnableTransactionLimit = _status; } function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() { _maxTxAmount = maxTxAmount; } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setWalletLimit(uint256 newLimit) external onlyOwner { _walletMax = newLimit; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function setMarketingWalletAddress(address newAddress) external onlyOwner() { marketingWallet = payable(newAddress); } function setDeveloperWalletAddress(address newAddress) external onlyOwner() { DeveloperWallet = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress)); } function setBlacklist(address _adr, bool _status) external onlyOwner { blacklist[_adr] = _status; } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapPair = newPairAddress; uniswapV2Router = _uniswapV2Router; isMarketPair[address(uniswapPair)] = true; } function setBuyTaxes(uint _Liquidity, uint _Marketing , uint _Developer) public onlyOwner { _buyLiquidityFee = _Liquidity; _buyMarketingFee = _Marketing; _buyDeveloperFee = _Developer; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee); } function setSellTaxes(uint _Liquidity, uint _Marketing , uint _Developer) public onlyOwner { _sellLiquidityFee = _Liquidity; _sellMarketingFee = _Marketing; _sellDeveloperFee = _Developer; _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!blacklist[sender] && !blacklist[recipient], "Bot Enemy address Restricted!"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTransactionLimit) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) { require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Amount Exceed From Max Wallet Limit!!"); } _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function rescueStuckedToken(address _token, uint _amount) external onlyOwner { IERC20(_token).transfer(msg.sender,_amount); } function rescueFunds() external onlyOwner { (bool os,) = payable(msg.sender).call{value: address(this).balance}(""); require(os); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 totalShares = _totalTaxIfBuying.add(_totalTaxIfSelling); uint256 liquidityShare = _buyLiquidityFee.add(_sellLiquidityFee); uint256 MarketingShare = _buyMarketingFee.add(_sellMarketingFee); // uint256 DeveloperShare = _buyDeveloperFee.add(_sellDeveloperFee); uint256 tokenForLp = tAmount.mul(liquidityShare).div(totalShares).div(2); uint256 tokenForSwap = tAmount.sub(tokenForLp); uint256 initialBalance = address(this).balance; swapTokensForEth(tokenForSwap); uint256 recievedBalance = address(this).balance.sub(initialBalance); uint256 totalETHFee = totalShares.sub(liquidityShare.div(2)); uint256 amountETHLiquidity = recievedBalance.mul(liquidityShare).div(totalETHFee).div(2); uint256 amountETHMarketing = recievedBalance.mul(MarketingShare).div(totalETHFee); uint256 amountETHDeveloper = recievedBalance.sub(amountETHLiquidity).sub(amountETHMarketing); if(amountETHMarketing > 0) { payable(marketingWallet).transfer(amountETHMarketing); } if(amountETHDeveloper > 0) { payable(DeveloperWallet).transfer(amountETHDeveloper); } if(amountETHLiquidity > 0 && tokenForLp > 0) { addLiquidity(tokenForLp, amountETHLiquidity); } } 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] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } /* AirDrop Function*/ function airdrop(address[] calldata _address,uint[] calldata _tokens) external onlyOwner { address account = msg.sender; require(_address.length == _tokens.length,"Error: Mismatch Length"); uint tokenCount; for(uint i = 0; i < _tokens.length; i++) { tokenCount += _tokens[i]; } require(balanceOf(account) >= tokenCount,"Error: Insufficient Error!!"); _balances[account] = _balances[account].sub(tokenCount); for(uint j = 0; j < _address.length; j++) { _balances[_address[j]] = _balances[_address[j]].add(_tokens[j]); emit Transfer(account, _address[j], _tokens[j]); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DeveloperWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_tokens","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueStuckedToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_Liquidity","type":"uint256"},{"internalType":"uint256","name":"_Marketing","type":"uint256"},{"internalType":"uint256","name":"_Developer","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setDeveloperWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_Liquidity","type":"uint256"},{"internalType":"uint256","name":"_Marketing","type":"uint256"},{"internalType":"uint256","name":"_Developer","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
610120604052602160c081815290620039d560e03980516200002a91600191602090910190620007ff565b506040805180820190915260038082526244494160e81b60209092019182526200005791600291620007ff565b50600380547406bb26f64fea72bf0c6de157546fb2015ed598f7126001600160a81b0319909116179055600480546001600160a01b0319167306bb26f64fea72bf0c6de157546fb2015ed598f71790556ddead000000000000000000000000608052600060a0819052600c8190556019600d55600e819055600f8190556023601055601155620000ea6012600a620009a9565b620000f990620f424062000a68565b6014556200013360646200011f60016014546200068260201b62001bd71790919060201c565b6200071660201b62001c561790919060201c565b6015556200015960646200011f60016014546200068260201b62001bd71790919060201c565b6016556200017f60646200011f60016014546200068260201b62001bd71790919060201c565b6017556019805463ffffffff60a81b1916630101000160a81b179055348015620001a857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023d57600080fd5b505afa15801562000252573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002789190620008a5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c157600080fd5b505afa158015620002d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fc9190620008a5565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200034557600080fd5b505af11580156200035a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003809190620008a5565b601980546001600160a01b039283166001600160a01b0319918216179091556018805492841692909116821790553060009081526006602090815260408083209383529290529081206000199055600190600790620003e76000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560035461010090048216815260079093528183208054851660019081179091556004549091168352818320805485168217905530835290822080549093168117909255600a906200046e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600354610100900482168152600a9093528183208054851660019081179091556004548216845282842080548616821790556019549091168352818320805485168217905530835290822080549093168117909255600b90620005076000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600354610100900482168152600b84528281208054861660019081179091556004549092168152828120805486168317905530815291909120805490931617909155600e54600d54600c54620005ae936200059a929062001c9862000760821b17901c565b6200076060201b62001c981790919060201c565b601281905550620005d96011546200059a601054600f546200076060201b62001c981790919060201c565b6013556019546001600160a01b03166000908152600860205260408120805460ff1916600117905560145490600590620006103390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6014546040516200067391815260200190565b60405180910390a35062000add565b600082620006935750600062000710565b6000620006a1838562000a68565b905082620006b085836200093f565b146200070d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200070d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620007c360201b60201c565b6000806200076f838562000924565b9050838110156200070d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000704565b60008183620007e75760405162461bcd60e51b8152600401620007049190620008ce565b506000620007f684866200093f565b95945050505050565b8280546200080d9062000a8a565b90600052602060002090601f0160209004810192826200083157600085556200087c565b82601f106200084c57805160ff19168380011785556200087c565b828001600101855582156200087c579182015b828111156200087c5782518255916020019190600101906200085f565b506200088a9291506200088e565b5090565b5b808211156200088a57600081556001016200088f565b600060208284031215620008b7578081fd5b81516001600160a01b03811681146200070d578182fd5b6000602080835283518082850152825b81811015620008fc57858101830151858201604001528201620008de565b818111156200090e5783604083870101525b50601f01601f1916929092016040019392505050565b600082198211156200093a576200093a62000ac7565b500190565b6000826200095b57634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115620009a157816000190482111562000985576200098562000ac7565b808516156200099357918102915b93841c939080029062000965565b509250929050565b60006200070d60ff841683600082620009c55750600162000710565b81620009d45750600062000710565b8160018114620009ed5760028114620009f85762000a18565b600191505062000710565b60ff84111562000a0c5762000a0c62000ac7565b50506001821b62000710565b5060208310610133831016604e8410600b841016171562000a3d575081810a62000710565b62000a49838362000960565b806000190482111562000a605762000a6062000ac7565b029392505050565b600081600019048311821515161562000a855762000a8562000ac7565b500290565b600181811c9082168062000a9f57607f821691505b6020821081141562000ac157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c60a05160601c612ebe62000b17600039600081816104110152610e660152600081816105820152610ea10152612ebe6000f3fe6080604052600436106103a65760003560e01c8063844d591c116101e7578063da00097d1161010d578063f1d5f517116100a0578063f872858a1161006f578063f872858a14610b18578063f8f6329014610b39578063f9f92be414610b59578063fb4b8e6c14610b8957600080fd5b8063f1d5f51714610a98578063f2fde38b14610ab8578063f455444614610ad8578063f84ba65d14610af857600080fd5b8063ec28438a116100dc578063ec28438a14610a22578063ee828db314610a42578063ef422a1814610a62578063f0cd1dac14610a8257600080fd5b8063da00097d14610990578063dc44b6a0146109b1578063dd62ed3e146109c7578063e6b2603b14610a0d57600080fd5b8063a5d69d1f11610185578063c816841b11610154578063c816841b14610914578063c860795214610934578063c867d60b1461094a578063d2d7ad831461097a57600080fd5b8063a5d69d1f1461089e578063a9059cbb146108be578063c49b9a80146108de578063c5d24189146108fe57600080fd5b80638b42507f116101c15780638b42507f1461081b5780638da5cb5b1461084b57806395d89b4114610869578063a457c2d71461087e57600080fd5b8063844d591c146107c457806385261485146107e457806388790a681461080557600080fd5b806339509351116102cc5780635881f3ef1161026a57806375f0a8741161023957806375f0a8741461075d5780637d1db4a514610782578063807c2d9c1461079857806382eefb43146107ae57600080fd5b80635881f3ef146106d257806367243482146106f257806370a0823114610712578063715018a61461074857600080fd5b80634a74bb02116102a65780634a74bb021461064b5780634cb80fd51461066c5780635194f9bf1461068c5780635342acb4146106a257600080fd5b806339509351146105db5780633b97084a146105fb5780633ecad2711461061b57600080fd5b80631870517a116103445780632563ae83116103135780632563ae831461055057806327c8f835146105705780632b112e49146105a4578063313ce567146105b957600080fd5b80631870517a146104da5780632198cf6c146104fa57806323555d571461051a57806323b872dd1461053057600080fd5b8063095ea7b311610380578063095ea7b31461044b578063153b0d1e1461047b5780631694505e1461049b57806318160ddd146104bb57600080fd5b806306fdde03146103b257806308733214146103dd5780630930907b146103ff57600080fd5b366103ad57005b600080fd5b3480156103be57600080fd5b506103c7610ba9565b6040516103d49190612c39565b60405180910390f35b3480156103e957600080fd5b506103fd6103f8366004612b9e565b610c3b565b005b34801561040b57600080fd5b506104337f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103d4565b34801561045757600080fd5b5061046b610466366004612aba565b610c99565b60405190151581526020016103d4565b34801561048757600080fd5b506103fd610496366004612a8d565b610cb0565b3480156104a757600080fd5b50601854610433906001600160a01b031681565b3480156104c757600080fd5b506014545b6040519081526020016103d4565b3480156104e657600080fd5b506103fd6104f5366004612b9e565b610d05565b34801561050657600080fd5b506103fd610515366004612a8d565b610d54565b34801561052657600080fd5b506104cc600e5481565b34801561053c57600080fd5b5061046b61054b366004612a4d565b610da9565b34801561055c57600080fd5b506103fd61056b366004612b4e565b610e14565b34801561057c57600080fd5b506104337f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b057600080fd5b506104cc610e5c565b3480156105c557600080fd5b5060035460405160ff90911681526020016103d4565b3480156105e757600080fd5b5061046b6105f6366004612aba565b610eef565b34801561060757600080fd5b506103fd610616366004612b86565b610f25565b34801561062757600080fd5b5061046b6106363660046129dd565b60086020526000908152604090205460ff1681565b34801561065757600080fd5b5060195461046b90600160a81b900460ff1681565b34801561067857600080fd5b506103fd6106873660046129dd565b610f54565b34801561069857600080fd5b506104cc60115481565b3480156106ae57600080fd5b5061046b6106bd3660046129dd565b60076020526000908152604090205460ff1681565b3480156106de57600080fd5b506104336106ed3660046129dd565b610fa6565b3480156106fe57600080fd5b506103fd61070d366004612ae5565b61131a565b34801561071e57600080fd5b506104cc61072d3660046129dd565b6001600160a01b031660009081526005602052604090205490565b34801561075457600080fd5b506103fd61161c565b34801561076957600080fd5b506003546104339061010090046001600160a01b031681565b34801561078e57600080fd5b506104cc60165481565b3480156107a457600080fd5b506104cc60175481565b3480156107ba57600080fd5b506104cc60135481565b3480156107d057600080fd5b506103fd6107df366004612a8d565b611696565b3480156107f057600080fd5b5060195461046b90600160c01b900460ff1681565b34801561081157600080fd5b506104cc600f5481565b34801561082757600080fd5b5061046b6108363660046129dd565b600b6020526000908152604090205460ff1681565b34801561085757600080fd5b506000546001600160a01b0316610433565b34801561087557600080fd5b506103c76116eb565b34801561088a57600080fd5b5061046b610899366004612aba565b6116fa565b3480156108aa57600080fd5b506103fd6108b9366004612b4e565b611749565b3480156108ca57600080fd5b5061046b6108d9366004612aba565b611791565b3480156108ea57600080fd5b506103fd6108f9366004612b4e565b61179e565b34801561090a57600080fd5b506104cc600d5481565b34801561092057600080fd5b50601954610433906001600160a01b031681565b34801561094057600080fd5b506104cc60105481565b34801561095657600080fd5b5061046b6109653660046129dd565b600a6020526000908152604090205460ff1681565b34801561098657600080fd5b506104cc60155481565b34801561099c57600080fd5b5060195461046b90600160b01b900460ff1681565b3480156109bd57600080fd5b506104cc600c5481565b3480156109d357600080fd5b506104cc6109e2366004612a15565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610a1957600080fd5b506103fd611820565b348015610a2e57600080fd5b506103fd610a3d366004612b86565b6118a2565b348015610a4e57600080fd5b506103fd610a5d366004612b4e565b6118d1565b348015610a6e57600080fd5b506103fd610a7d366004612a8d565b611919565b348015610a8e57600080fd5b506104cc60125481565b348015610aa457600080fd5b506103fd610ab3366004612b86565b61196e565b348015610ac457600080fd5b506103fd610ad33660046129dd565b61199d565b348015610ae457600080fd5b506103fd610af3366004612aba565b611a87565b348015610b0457600080fd5b506103fd610b13366004612a8d565b611b36565b348015610b2457600080fd5b5060195461046b90600160b81b900460ff1681565b348015610b4557600080fd5b50600454610433906001600160a01b031681565b348015610b6557600080fd5b5061046b610b743660046129dd565b60096020526000908152604090205460ff1681565b348015610b9557600080fd5b506103fd610ba43660046129dd565b611b8b565b606060018054610bb890612d8c565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490612d8c565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b5050505050905090565b6000546001600160a01b03163314610c6e5760405162461bcd60e51b8152600401610c6590612c8c565b60405180910390fd5b600f83905560108290556011819055610c9181610c8b8585611c98565b90611c98565b601355505050565b6000610ca6338484611cf7565b5060015b92915050565b6000546001600160a01b03163314610cda5760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d2f5760405162461bcd60e51b8152600401610c6590612c8c565b600c839055600d829055600e819055610d4c81610c8b8585611c98565b601255505050565b6000546001600160a01b03163314610d7e5760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610db6848484611e1b565b50610e098433610e0485604051806060016040528060288152602001612e1c602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906122cc565b611cf7565b5060015b9392505050565b6000546001600160a01b03163314610e3e5760405162461bcd60e51b8152600401610c6590612c8c565b60198054911515600160b81b0260ff60b81b19909216919091179055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260056020526040812054610eea90610ee4610edb7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526005602052604090205490565b60145490612306565b90612306565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610ca6918590610e049086611c98565b6000546001600160a01b03163314610f4f5760405162461bcd60e51b8152600401610c6590612c8c565b601555565b6000546001600160a01b03163314610f7e5760405162461bcd60e51b8152600401610c6590612c8c565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600080546001600160a01b03163314610fd15760405162461bcd60e51b8152600401610c6590612c8c565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104791906129f9565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561108f57600080fd5b505afa1580156110a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c791906129f9565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b15801561110d57600080fd5b505afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906129f9565b91506001600160a01b0382166112c957806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561118e57600080fd5b505afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c691906129f9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124691906129f9565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561128e57600080fd5b505af11580156112a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c691906129f9565b91505b601980546001600160a01b038085166001600160a01b03199283168117909355601880549490911693909116929092179091556000908152600860205260409020805460ff19166001179055919050565b6000546001600160a01b031633146113445760405162461bcd60e51b8152600401610c6590612c8c565b3383821461138d5760405162461bcd60e51b815260206004820152601660248201527508ae4e4dee474409ad2e6dac2e8c6d04098cadccee8d60531b6044820152606401610c65565b6000805b838110156113df578484828181106113b957634e487b7160e01b600052603260045260246000fd5b90506020020135826113cb9190612d1e565b9150806113d781612dc7565b915050611391565b5080611400836001600160a01b031660009081526005602052604090205490565b101561144e5760405162461bcd60e51b815260206004820152601b60248201527f4572726f723a20496e73756666696369656e74204572726f72212100000000006044820152606401610c65565b6001600160a01b0382166000908152600560205260409020546114719082612306565b6001600160a01b0383166000908152600560205260408120919091555b85811015611613576115198585838181106114b957634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a868181106114e457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906114f991906129dd565b6001600160a01b0316815260208101919091526040016000205490611c98565b6005600089898581811061153d57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061155291906129dd565b6001600160a01b0316815260208101919091526040016000205586868281811061158c57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906115a191906129dd565b6001600160a01b0316836001600160a01b0316600080516020612e448339815191528787858181106115e357634e487b7160e01b600052603260045260246000fd5b905060200201356040516115f991815260200190565b60405180910390a38061160b81612dc7565b91505061148e565b50505050505050565b6000546001600160a01b031633146116465760405162461bcd60e51b8152600401610c6590612c8c565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146116c05760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b606060028054610bb890612d8c565b6000610ca63384610e0485604051806060016040528060258152602001612e64602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906122cc565b6000546001600160a01b031633146117735760405162461bcd60e51b8152600401610c6590612c8c565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000610e09338484611e1b565b6000546001600160a01b031633146117c85760405162461bcd60e51b8152600401610c6590612c8c565b60198054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061181590831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461184a5760405162461bcd60e51b8152600401610c6590612c8c565b604051600090339047908381818185875af1925050503d806000811461188c576040519150601f19603f3d011682016040523d82523d6000602084013e611891565b606091505b505090508061189f57600080fd5b50565b6000546001600160a01b031633146118cc5760405162461bcd60e51b8152600401610c6590612c8c565b601655565b6000546001600160a01b031633146118fb5760405162461bcd60e51b8152600401610c6590612c8c565b60198054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146119435760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146119985760405162461bcd60e51b8152600401610c6590612c8c565b601755565b6000546001600160a01b031633146119c75760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b038116611a2c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c65565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611ab15760405162461bcd60e51b8152600401610c6590612c8c565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b319190612b6a565b505050565b6000546001600160a01b03163314611b605760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611bb55760405162461bcd60e51b8152600401610c6590612c8c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600082611be657506000610caa565b6000611bf28385612d56565b905082611bff8583612d36565b14610e0d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c65565b6000610e0d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612348565b600080611ca58385612d1e565b905083811015610e0d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c65565b6001600160a01b038316611d595760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c65565b6001600160a01b038216611dba5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c65565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416611e815760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c65565b6001600160a01b038316611ee35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c65565b6001600160a01b03841660009081526009602052604090205460ff16158015611f2557506001600160a01b03831660009081526009602052604090205460ff16155b611f715760405162461bcd60e51b815260206004820152601d60248201527f426f7420456e656d7920616464726573732052657374726963746564210000006044820152606401610c65565b601954600160a01b900460ff1615611f9557611f8e848484612376565b9050610e0d565b6001600160a01b0384166000908152600b602052604090205460ff16158015611fd757506001600160a01b0383166000908152600b602052604090205460ff16155b8015611fec5750601954600160c01b900460ff165b15612054576016548211156120545760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c65565b30600090815260056020526040902054601554811080159081906120825750601954600160a01b900460ff16155b80156120a757506001600160a01b03861660009081526008602052604090205460ff16155b80156120bc5750601954600160a81b900460ff165b156120e257601954600160b01b900460ff16156120d95760155491505b6120e28261244a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546121349186906122cc565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061218157506001600160a01b03861660009081526007602052604090205460ff165b612195576121908787876125fd565b612197565b845b601954909150600160b81b900460ff1680156121cc57506001600160a01b0386166000908152600a602052604090205460ff16155b15612253576017546121f782610c8b896001600160a01b031660009081526005602052604090205490565b11156122535760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610c65565b6001600160a01b0386166000908152600560205260409020546122769082611c98565b6001600160a01b038088166000818152600560205260409081902093909355915190891690600080516020612e44833981519152906122b89085815260200190565b60405180910390a360019350505050610e0d565b600081848411156122f05760405162461bcd60e51b8152600401610c659190612c39565b5060006122fd8486612d75565b95945050505050565b6000610e0d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122cc565b600081836123695760405162461bcd60e51b8152600401610c659190612c39565b5060006122fd8486612d36565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546123c79184906122cc565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546123f69083611c98565b6001600160a01b038085166000818152600560205260409081902093909355915190861690600080516020612e44833981519152906124389086815260200190565b60405180910390a35060019392505050565b6019805460ff60a01b1916600160a01b1790556013546012546000916124709190611c98565b9050600061248b600f54600c54611c9890919063ffffffff16565b905060006124a6601054600d54611c9890919063ffffffff16565b905060006124c160026124bb86818988611bd7565b90611c56565b905060006124cf8683612306565b9050476124db826126f1565b60006124e74783612306565b905060006125006124f9886002611c56565b8990612306565b9050600061251560026124bb8481878d611bd7565b90506000612527836124bb868b611bd7565b9050600061253982610ee48786612306565b90508115612581576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f1935050505015801561257f573d6000803e3d6000fd5b505b80156125c3576004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156125c1573d6000803e3d6000fd5b505b6000831180156125d35750600088115b156125e2576125e288846128af565b50506019805460ff60a01b1916905550505050505050505050565b6001600160a01b038316600090815260086020526040812054819060ff16156126415761263a60646124bb60125486611bd790919063ffffffff16565b905061267f565b6001600160a01b03841660009081526008602052604090205460ff161561267f5761267c60646124bb60135486611bd790919063ffffffff16565b90505b80156126e7573060009081526005602052604090205461269f9082611c98565b30600081815260056020526040908190209290925590516001600160a01b03871690600080516020612e44833981519152906126de9085815260200190565b60405180910390a35b6122fd8382612306565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061273457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561278857600080fd5b505afa15801561279c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c091906129f9565b816001815181106127e157634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526018546128079130911684611cf7565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790612840908590600090869030904290600401612ce2565b600060405180830381600087803b15801561285a57600080fd5b505af115801561286e573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516128a3929190612cc1565b60405180910390a15050565b6018546128c79030906001600160a01b031684611cf7565b6018546001600160a01b031663f305d7198230856000806128f06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061298c9190612bc9565b5050505050565b60008083601f8401126129a4578182fd5b50813567ffffffffffffffff8111156129bb578182fd5b6020830191508360208260051b85010111156129d657600080fd5b9250929050565b6000602082840312156129ee578081fd5b8135610e0d81612df8565b600060208284031215612a0a578081fd5b8151610e0d81612df8565b60008060408385031215612a27578081fd5b8235612a3281612df8565b91506020830135612a4281612df8565b809150509250929050565b600080600060608486031215612a61578081fd5b8335612a6c81612df8565b92506020840135612a7c81612df8565b929592945050506040919091013590565b60008060408385031215612a9f578182fd5b8235612aaa81612df8565b91506020830135612a4281612e0d565b60008060408385031215612acc578182fd5b8235612ad781612df8565b946020939093013593505050565b60008060008060408587031215612afa578081fd5b843567ffffffffffffffff80821115612b11578283fd5b612b1d88838901612993565b90965094506020870135915080821115612b35578283fd5b50612b4287828801612993565b95989497509550505050565b600060208284031215612b5f578081fd5b8135610e0d81612e0d565b600060208284031215612b7b578081fd5b8151610e0d81612e0d565b600060208284031215612b97578081fd5b5035919050565b600080600060608486031215612bb2578283fd5b505081359360208301359350604090920135919050565b600080600060608486031215612bdd578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b83811015612c2e5781516001600160a01b031687529582019590820190600101612c09565b509495945050505050565b6000602080835283518082850152825b81811015612c6557858101830151858201604001528201612c49565b81811115612c765783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000612cda6040830184612bf6565b949350505050565b85815284602082015260a060408201526000612d0160a0830186612bf6565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612d3157612d31612de2565b500190565b600082612d5157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612d7057612d70612de2565b500290565b600082821015612d8757612d87612de2565b500390565b600181811c90821680612da057607f821691505b60208210811415612dc157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612ddb57612ddb612de2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461189f57600080fd5b801515811461189f57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ba34ca59c908ce1b1c1472caa28cc64351afa8953ef4d84ef4567d3f12243a2d64736f6c63430008040033446563656e7472616c697a656420496e74656c6c6967656e6365204167656e6379
Deployed Bytecode
0x6080604052600436106103a65760003560e01c8063844d591c116101e7578063da00097d1161010d578063f1d5f517116100a0578063f872858a1161006f578063f872858a14610b18578063f8f6329014610b39578063f9f92be414610b59578063fb4b8e6c14610b8957600080fd5b8063f1d5f51714610a98578063f2fde38b14610ab8578063f455444614610ad8578063f84ba65d14610af857600080fd5b8063ec28438a116100dc578063ec28438a14610a22578063ee828db314610a42578063ef422a1814610a62578063f0cd1dac14610a8257600080fd5b8063da00097d14610990578063dc44b6a0146109b1578063dd62ed3e146109c7578063e6b2603b14610a0d57600080fd5b8063a5d69d1f11610185578063c816841b11610154578063c816841b14610914578063c860795214610934578063c867d60b1461094a578063d2d7ad831461097a57600080fd5b8063a5d69d1f1461089e578063a9059cbb146108be578063c49b9a80146108de578063c5d24189146108fe57600080fd5b80638b42507f116101c15780638b42507f1461081b5780638da5cb5b1461084b57806395d89b4114610869578063a457c2d71461087e57600080fd5b8063844d591c146107c457806385261485146107e457806388790a681461080557600080fd5b806339509351116102cc5780635881f3ef1161026a57806375f0a8741161023957806375f0a8741461075d5780637d1db4a514610782578063807c2d9c1461079857806382eefb43146107ae57600080fd5b80635881f3ef146106d257806367243482146106f257806370a0823114610712578063715018a61461074857600080fd5b80634a74bb02116102a65780634a74bb021461064b5780634cb80fd51461066c5780635194f9bf1461068c5780635342acb4146106a257600080fd5b806339509351146105db5780633b97084a146105fb5780633ecad2711461061b57600080fd5b80631870517a116103445780632563ae83116103135780632563ae831461055057806327c8f835146105705780632b112e49146105a4578063313ce567146105b957600080fd5b80631870517a146104da5780632198cf6c146104fa57806323555d571461051a57806323b872dd1461053057600080fd5b8063095ea7b311610380578063095ea7b31461044b578063153b0d1e1461047b5780631694505e1461049b57806318160ddd146104bb57600080fd5b806306fdde03146103b257806308733214146103dd5780630930907b146103ff57600080fd5b366103ad57005b600080fd5b3480156103be57600080fd5b506103c7610ba9565b6040516103d49190612c39565b60405180910390f35b3480156103e957600080fd5b506103fd6103f8366004612b9e565b610c3b565b005b34801561040b57600080fd5b506104337f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103d4565b34801561045757600080fd5b5061046b610466366004612aba565b610c99565b60405190151581526020016103d4565b34801561048757600080fd5b506103fd610496366004612a8d565b610cb0565b3480156104a757600080fd5b50601854610433906001600160a01b031681565b3480156104c757600080fd5b506014545b6040519081526020016103d4565b3480156104e657600080fd5b506103fd6104f5366004612b9e565b610d05565b34801561050657600080fd5b506103fd610515366004612a8d565b610d54565b34801561052657600080fd5b506104cc600e5481565b34801561053c57600080fd5b5061046b61054b366004612a4d565b610da9565b34801561055c57600080fd5b506103fd61056b366004612b4e565b610e14565b34801561057c57600080fd5b506104337f000000000000000000000000000000000000000000000000000000000000dead81565b3480156105b057600080fd5b506104cc610e5c565b3480156105c557600080fd5b5060035460405160ff90911681526020016103d4565b3480156105e757600080fd5b5061046b6105f6366004612aba565b610eef565b34801561060757600080fd5b506103fd610616366004612b86565b610f25565b34801561062757600080fd5b5061046b6106363660046129dd565b60086020526000908152604090205460ff1681565b34801561065757600080fd5b5060195461046b90600160a81b900460ff1681565b34801561067857600080fd5b506103fd6106873660046129dd565b610f54565b34801561069857600080fd5b506104cc60115481565b3480156106ae57600080fd5b5061046b6106bd3660046129dd565b60076020526000908152604090205460ff1681565b3480156106de57600080fd5b506104336106ed3660046129dd565b610fa6565b3480156106fe57600080fd5b506103fd61070d366004612ae5565b61131a565b34801561071e57600080fd5b506104cc61072d3660046129dd565b6001600160a01b031660009081526005602052604090205490565b34801561075457600080fd5b506103fd61161c565b34801561076957600080fd5b506003546104339061010090046001600160a01b031681565b34801561078e57600080fd5b506104cc60165481565b3480156107a457600080fd5b506104cc60175481565b3480156107ba57600080fd5b506104cc60135481565b3480156107d057600080fd5b506103fd6107df366004612a8d565b611696565b3480156107f057600080fd5b5060195461046b90600160c01b900460ff1681565b34801561081157600080fd5b506104cc600f5481565b34801561082757600080fd5b5061046b6108363660046129dd565b600b6020526000908152604090205460ff1681565b34801561085757600080fd5b506000546001600160a01b0316610433565b34801561087557600080fd5b506103c76116eb565b34801561088a57600080fd5b5061046b610899366004612aba565b6116fa565b3480156108aa57600080fd5b506103fd6108b9366004612b4e565b611749565b3480156108ca57600080fd5b5061046b6108d9366004612aba565b611791565b3480156108ea57600080fd5b506103fd6108f9366004612b4e565b61179e565b34801561090a57600080fd5b506104cc600d5481565b34801561092057600080fd5b50601954610433906001600160a01b031681565b34801561094057600080fd5b506104cc60105481565b34801561095657600080fd5b5061046b6109653660046129dd565b600a6020526000908152604090205460ff1681565b34801561098657600080fd5b506104cc60155481565b34801561099c57600080fd5b5060195461046b90600160b01b900460ff1681565b3480156109bd57600080fd5b506104cc600c5481565b3480156109d357600080fd5b506104cc6109e2366004612a15565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610a1957600080fd5b506103fd611820565b348015610a2e57600080fd5b506103fd610a3d366004612b86565b6118a2565b348015610a4e57600080fd5b506103fd610a5d366004612b4e565b6118d1565b348015610a6e57600080fd5b506103fd610a7d366004612a8d565b611919565b348015610a8e57600080fd5b506104cc60125481565b348015610aa457600080fd5b506103fd610ab3366004612b86565b61196e565b348015610ac457600080fd5b506103fd610ad33660046129dd565b61199d565b348015610ae457600080fd5b506103fd610af3366004612aba565b611a87565b348015610b0457600080fd5b506103fd610b13366004612a8d565b611b36565b348015610b2457600080fd5b5060195461046b90600160b81b900460ff1681565b348015610b4557600080fd5b50600454610433906001600160a01b031681565b348015610b6557600080fd5b5061046b610b743660046129dd565b60096020526000908152604090205460ff1681565b348015610b9557600080fd5b506103fd610ba43660046129dd565b611b8b565b606060018054610bb890612d8c565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490612d8c565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b5050505050905090565b6000546001600160a01b03163314610c6e5760405162461bcd60e51b8152600401610c6590612c8c565b60405180910390fd5b600f83905560108290556011819055610c9181610c8b8585611c98565b90611c98565b601355505050565b6000610ca6338484611cf7565b5060015b92915050565b6000546001600160a01b03163314610cda5760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d2f5760405162461bcd60e51b8152600401610c6590612c8c565b600c839055600d829055600e819055610d4c81610c8b8585611c98565b601255505050565b6000546001600160a01b03163314610d7e5760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610db6848484611e1b565b50610e098433610e0485604051806060016040528060288152602001612e1c602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906122cc565b611cf7565b5060015b9392505050565b6000546001600160a01b03163314610e3e5760405162461bcd60e51b8152600401610c6590612c8c565b60198054911515600160b81b0260ff60b81b19909216919091179055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260056020526040812054610eea90610ee4610edb7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526005602052604090205490565b60145490612306565b90612306565b905090565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610ca6918590610e049086611c98565b6000546001600160a01b03163314610f4f5760405162461bcd60e51b8152600401610c6590612c8c565b601555565b6000546001600160a01b03163314610f7e5760405162461bcd60e51b8152600401610c6590612c8c565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600080546001600160a01b03163314610fd15760405162461bcd60e51b8152600401610c6590612c8c565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104791906129f9565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561108f57600080fd5b505afa1580156110a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c791906129f9565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b15801561110d57600080fd5b505afa158015611121573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114591906129f9565b91506001600160a01b0382166112c957806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561118e57600080fd5b505afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c691906129f9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124691906129f9565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561128e57600080fd5b505af11580156112a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c691906129f9565b91505b601980546001600160a01b038085166001600160a01b03199283168117909355601880549490911693909116929092179091556000908152600860205260409020805460ff19166001179055919050565b6000546001600160a01b031633146113445760405162461bcd60e51b8152600401610c6590612c8c565b3383821461138d5760405162461bcd60e51b815260206004820152601660248201527508ae4e4dee474409ad2e6dac2e8c6d04098cadccee8d60531b6044820152606401610c65565b6000805b838110156113df578484828181106113b957634e487b7160e01b600052603260045260246000fd5b90506020020135826113cb9190612d1e565b9150806113d781612dc7565b915050611391565b5080611400836001600160a01b031660009081526005602052604090205490565b101561144e5760405162461bcd60e51b815260206004820152601b60248201527f4572726f723a20496e73756666696369656e74204572726f72212100000000006044820152606401610c65565b6001600160a01b0382166000908152600560205260409020546114719082612306565b6001600160a01b0383166000908152600560205260408120919091555b85811015611613576115198585838181106114b957634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a868181106114e457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906114f991906129dd565b6001600160a01b0316815260208101919091526040016000205490611c98565b6005600089898581811061153d57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061155291906129dd565b6001600160a01b0316815260208101919091526040016000205586868281811061158c57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906115a191906129dd565b6001600160a01b0316836001600160a01b0316600080516020612e448339815191528787858181106115e357634e487b7160e01b600052603260045260246000fd5b905060200201356040516115f991815260200190565b60405180910390a38061160b81612dc7565b91505061148e565b50505050505050565b6000546001600160a01b031633146116465760405162461bcd60e51b8152600401610c6590612c8c565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146116c05760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b606060028054610bb890612d8c565b6000610ca63384610e0485604051806060016040528060258152602001612e64602591393360009081526006602090815260408083206001600160a01b038d16845290915290205491906122cc565b6000546001600160a01b031633146117735760405162461bcd60e51b8152600401610c6590612c8c565b60198054911515600160b01b0260ff60b01b19909216919091179055565b6000610e09338484611e1b565b6000546001600160a01b031633146117c85760405162461bcd60e51b8152600401610c6590612c8c565b60198054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061181590831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461184a5760405162461bcd60e51b8152600401610c6590612c8c565b604051600090339047908381818185875af1925050503d806000811461188c576040519150601f19603f3d011682016040523d82523d6000602084013e611891565b606091505b505090508061189f57600080fd5b50565b6000546001600160a01b031633146118cc5760405162461bcd60e51b8152600401610c6590612c8c565b601655565b6000546001600160a01b031633146118fb5760405162461bcd60e51b8152600401610c6590612c8c565b60198054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146119435760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146119985760405162461bcd60e51b8152600401610c6590612c8c565b601755565b6000546001600160a01b031633146119c75760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b038116611a2c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c65565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611ab15760405162461bcd60e51b8152600401610c6590612c8c565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b319190612b6a565b505050565b6000546001600160a01b03163314611b605760405162461bcd60e51b8152600401610c6590612c8c565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314611bb55760405162461bcd60e51b8152600401610c6590612c8c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600082611be657506000610caa565b6000611bf28385612d56565b905082611bff8583612d36565b14610e0d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c65565b6000610e0d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612348565b600080611ca58385612d1e565b905083811015610e0d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c65565b6001600160a01b038316611d595760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c65565b6001600160a01b038216611dba5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c65565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416611e815760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c65565b6001600160a01b038316611ee35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c65565b6001600160a01b03841660009081526009602052604090205460ff16158015611f2557506001600160a01b03831660009081526009602052604090205460ff16155b611f715760405162461bcd60e51b815260206004820152601d60248201527f426f7420456e656d7920616464726573732052657374726963746564210000006044820152606401610c65565b601954600160a01b900460ff1615611f9557611f8e848484612376565b9050610e0d565b6001600160a01b0384166000908152600b602052604090205460ff16158015611fd757506001600160a01b0383166000908152600b602052604090205460ff16155b8015611fec5750601954600160c01b900460ff165b15612054576016548211156120545760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610c65565b30600090815260056020526040902054601554811080159081906120825750601954600160a01b900460ff16155b80156120a757506001600160a01b03861660009081526008602052604090205460ff16155b80156120bc5750601954600160a81b900460ff165b156120e257601954600160b01b900460ff16156120d95760155491505b6120e28261244a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600590915291909120546121349186906122cc565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff168061218157506001600160a01b03861660009081526007602052604090205460ff165b612195576121908787876125fd565b612197565b845b601954909150600160b81b900460ff1680156121cc57506001600160a01b0386166000908152600a602052604090205460ff16155b15612253576017546121f782610c8b896001600160a01b031660009081526005602052604090205490565b11156122535760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610c65565b6001600160a01b0386166000908152600560205260409020546122769082611c98565b6001600160a01b038088166000818152600560205260409081902093909355915190891690600080516020612e44833981519152906122b89085815260200190565b60405180910390a360019350505050610e0d565b600081848411156122f05760405162461bcd60e51b8152600401610c659190612c39565b5060006122fd8486612d75565b95945050505050565b6000610e0d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506122cc565b600081836123695760405162461bcd60e51b8152600401610c659190612c39565b5060006122fd8486612d36565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546123c79184906122cc565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546123f69083611c98565b6001600160a01b038085166000818152600560205260409081902093909355915190861690600080516020612e44833981519152906124389086815260200190565b60405180910390a35060019392505050565b6019805460ff60a01b1916600160a01b1790556013546012546000916124709190611c98565b9050600061248b600f54600c54611c9890919063ffffffff16565b905060006124a6601054600d54611c9890919063ffffffff16565b905060006124c160026124bb86818988611bd7565b90611c56565b905060006124cf8683612306565b9050476124db826126f1565b60006124e74783612306565b905060006125006124f9886002611c56565b8990612306565b9050600061251560026124bb8481878d611bd7565b90506000612527836124bb868b611bd7565b9050600061253982610ee48786612306565b90508115612581576003546040516101009091046001600160a01b0316906108fc8415029084906000818181858888f1935050505015801561257f573d6000803e3d6000fd5b505b80156125c3576004546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156125c1573d6000803e3d6000fd5b505b6000831180156125d35750600088115b156125e2576125e288846128af565b50506019805460ff60a01b1916905550505050505050505050565b6001600160a01b038316600090815260086020526040812054819060ff16156126415761263a60646124bb60125486611bd790919063ffffffff16565b905061267f565b6001600160a01b03841660009081526008602052604090205460ff161561267f5761267c60646124bb60135486611bd790919063ffffffff16565b90505b80156126e7573060009081526005602052604090205461269f9082611c98565b30600081815260056020526040908190209290925590516001600160a01b03871690600080516020612e44833981519152906126de9085815260200190565b60405180910390a35b6122fd8382612306565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061273457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561278857600080fd5b505afa15801561279c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c091906129f9565b816001815181106127e157634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526018546128079130911684611cf7565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac94790612840908590600090869030904290600401612ce2565b600060405180830381600087803b15801561285a57600080fd5b505af115801561286e573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516128a3929190612cc1565b60405180910390a15050565b6018546128c79030906001600160a01b031684611cf7565b6018546001600160a01b031663f305d7198230856000806128f06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061298c9190612bc9565b5050505050565b60008083601f8401126129a4578182fd5b50813567ffffffffffffffff8111156129bb578182fd5b6020830191508360208260051b85010111156129d657600080fd5b9250929050565b6000602082840312156129ee578081fd5b8135610e0d81612df8565b600060208284031215612a0a578081fd5b8151610e0d81612df8565b60008060408385031215612a27578081fd5b8235612a3281612df8565b91506020830135612a4281612df8565b809150509250929050565b600080600060608486031215612a61578081fd5b8335612a6c81612df8565b92506020840135612a7c81612df8565b929592945050506040919091013590565b60008060408385031215612a9f578182fd5b8235612aaa81612df8565b91506020830135612a4281612e0d565b60008060408385031215612acc578182fd5b8235612ad781612df8565b946020939093013593505050565b60008060008060408587031215612afa578081fd5b843567ffffffffffffffff80821115612b11578283fd5b612b1d88838901612993565b90965094506020870135915080821115612b35578283fd5b50612b4287828801612993565b95989497509550505050565b600060208284031215612b5f578081fd5b8135610e0d81612e0d565b600060208284031215612b7b578081fd5b8151610e0d81612e0d565b600060208284031215612b97578081fd5b5035919050565b600080600060608486031215612bb2578283fd5b505081359360208301359350604090920135919050565b600080600060608486031215612bdd578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b83811015612c2e5781516001600160a01b031687529582019590820190600101612c09565b509495945050505050565b6000602080835283518082850152825b81811015612c6557858101830151858201604001528201612c49565b81811115612c765783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000612cda6040830184612bf6565b949350505050565b85815284602082015260a060408201526000612d0160a0830186612bf6565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612d3157612d31612de2565b500190565b600082612d5157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612d7057612d70612de2565b500290565b600082821015612d8757612d87612de2565b500390565b600181811c90821680612da057607f821691505b60208210811415612dc157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612ddb57612ddb612de2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461189f57600080fd5b801515811461189f57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ba34ca59c908ce1b1c1472caa28cc64351afa8953ef4d84ef4567d3f12243a2d64736f6c63430008040033
Deployed Bytecode Sourcemap
11433:16255:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15348:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20209:317;;;;;;;;;;-1:-1:-1;20209:317:0;;;;;:::i;:::-;;:::i;:::-;;11957:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5556:32:1;;;5538:51;;5526:2;5511:18;11957:81:0;5493:102:1;16514:161:0;;;;;;;;;;-1:-1:-1;16514:161:0;;;;;:::i;:::-;;:::i;:::-;;;7189:14:1;;7182:22;7164:41;;7152:2;7137:18;16514:161:0;7119:92:1;18947:113:0;;;;;;;;;;-1:-1:-1;18947:113:0;;;;;:::i;:::-;;:::i;13070:41::-;;;;;;;;;;-1:-1:-1;13070:41:0;;;;-1:-1:-1;;;;;13070:41:0;;;15625:100;;;;;;;;;;-1:-1:-1;15705:12:0;;15625:100;;;13229:25:1;;;13217:2;13202:18;15625:100:0;13184:76:1;19892:309:0;;;;;;;;;;-1:-1:-1;19892:309:0;;;;;:::i;:::-;;:::i;17447:135::-;;;;;;;;;;-1:-1:-1;17447:135:0;;;;;:::i;:::-;;:::i;12533:35::-;;;;;;;;;;;;;;;;20803:313;;;;;;;;;;-1:-1:-1;20803:313:0;;;;;:::i;:::-;;:::i;17824:113::-;;;;;;;;;;-1:-1:-1;17824:113:0;;;;;:::i;:::-;;:::i;11869:81::-;;;;;;;;;;;;;;;18783:156;;;;;;;;;;;;;:::i;15534:83::-;;;;;;;;;;-1:-1:-1;15600:9:0;;15534:83;;15600:9;;;;14331:36:1;;14319:2;14304:18;15534:83:0;14286:87:1;16011:218:0;;;;;;;;;;-1:-1:-1;16011:218:0;;;;;:::i;:::-;;:::i;18055:124::-;;;;;;;;;;-1:-1:-1;18055:124:0;;;;;:::i;:::-;;:::i;12231:45::-;;;;;;;;;;-1:-1:-1;12231:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13185:40;;;;;;;;;;-1:-1:-1;13185:40:0;;;;-1:-1:-1;;;13185:40:0;;;;;;18187:132;;;;;;;;;;-1:-1:-1;18187:132:0;;;;;:::i;:::-;;:::i;12668:36::-;;;;;;;;;;;;;;;;12174:50;;;;;;;;;;-1:-1:-1;12174:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19206:678;;;;;;;;;;-1:-1:-1;19206:678:0;;;;;:::i;:::-;;:::i;26980:697::-;;;;;;;;;;-1:-1:-1;26980:697:0;;;;;:::i;:::-;;:::i;15733:119::-;;;;;;;;;;-1:-1:-1;15733:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;15826:18:0;15799:7;15826:18;;;:9;:18;;;;;;;15733:119;3110:230;;;;;;;;;;;;;:::i;11665:92::-;;;;;;;;;;-1:-1:-1;11665:92:0;;;;;;;-1:-1:-1;;;;;11665:92:0;;;12935:59;;;;;;;;;;;;;;;;13001:58;;;;;;;;;;;;;;;;12752:33;;;;;;;;;;;;;;;;17028:129;;;;;;;;;;-1:-1:-1;17028:129:0;;;;;:::i;:::-;;:::i;13328:41::-;;;;;;;;;;-1:-1:-1;13328:41:0;;;;-1:-1:-1;;;13328:41:0;;;;;;12581:36;;;;;;;;;;;;;;;;12391:48;;;;;;;;;;-1:-1:-1;12391:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2885:79;;;;;;;;;;-1:-1:-1;2923:7:0;2950:6;-1:-1:-1;;;;;2950:6:0;2885:79;;15439:87;;;;;;;;;;;;;:::i;16237:269::-;;;;;;;;;;-1:-1:-1;16237:269:0;;;;;:::i;:::-;;:::i;18646:125::-;;;;;;;;;;-1:-1:-1;18646:125:0;;;;;:::i;:::-;;:::i;20628:167::-;;;;;;;;;;-1:-1:-1;20628:167:0;;;;;:::i;:::-;;:::i;18467:171::-;;;;;;;;;;-1:-1:-1;18467:171:0;;;;;:::i;:::-;;:::i;12490:36::-;;;;;;;;;;;;;;;;13118:26;;;;;;;;;;-1:-1:-1;13118:26:0;;;;-1:-1:-1;;;;;13118:26:0;;;12624:37;;;;;;;;;;;;;;;;12332:52;;;;;;;;;;-1:-1:-1;12332:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12857:69;;;;;;;;;;;;;;;;13232:45;;;;;;;;;;-1:-1:-1;13232:45:0;;;;-1:-1:-1;;;13232:45:0;;;;;;12448:35;;;;;;;;;;;;;;;;15860:143;;;;;;;;;;-1:-1:-1;15860:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;15968:18:0;;;15941:7;15968:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15860:143;23165:154;;;;;;;;;;;;;:::i;17705:111::-;;;;;;;;;;-1:-1:-1;17705:111:0;;;;;:::i;:::-;;:::i;17590:107::-;;;;;;;;;;-1:-1:-1;17590:107:0;;;;;:::i;:::-;;:::i;17165:135::-;;;;;;;;;;-1:-1:-1;17165:135:0;;;;;:::i;:::-;;:::i;12713:32::-;;;;;;;;;;;;;;;;17945:102;;;;;;;;;;-1:-1:-1;17945:102:0;;;;;:::i;:::-;;:::i;3348:244::-;;;;;;;;;;-1:-1:-1;3348:244:0;;;;;:::i;:::-;;:::i;23018:139::-;;;;;;;;;;-1:-1:-1;23018:139:0;;;;;:::i;:::-;;:::i;17308:127::-;;;;;;;;;;-1:-1:-1;17308:127:0;;;;;:::i;:::-;;:::i;13286:35::-;;;;;;;;;;-1:-1:-1;13286:35:0;;;;-1:-1:-1;;;13286:35:0;;;;;;11764:92;;;;;;;;;;-1:-1:-1;11764:92:0;;;;-1:-1:-1;;;;;11764:92:0;;;12283:42;;;;;;;;;;-1:-1:-1;12283:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18327:132;;;;;;;;;;-1:-1:-1;18327:132:0;;;;;:::i;:::-;;:::i;15348:83::-;15385:13;15418:5;15411:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15348:83;:::o;20209:317::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;;;;;;;;;20311:17:::1;:30:::0;;;20352:17:::1;:30:::0;;;20393:17:::1;:30:::0;;;20455:63:::1;20413:10:::0;20455:40:::1;20331:10:::0;20372;20455:21:::1;:40::i;:::-;:44:::0;::::1;:63::i;:::-;20434:18;:84:::0;-1:-1:-1;;;20209:317:0:o;16514:161::-;16589:4;16606:39;191:10;16629:7;16638:6;16606:8;:39::i;:::-;-1:-1:-1;16663:4:0;16514:161;;;;;:::o;18947:113::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19027:15:0;;;::::1;;::::0;;;:9:::1;:15;::::0;;;;:25;;-1:-1:-1;;19027:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18947:113::o;19892:309::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;19993:16:::1;:29:::0;;;20033:16:::1;:29:::0;;;20073:16:::1;:29:::0;;;20133:60:::1;20092:10:::0;20133:38:::1;20012:10:::0;20052;20133:20:::1;:38::i;:60::-;20113:17;:80:::0;-1:-1:-1;;;19892:309:0:o;17447:135::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17538:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;17538:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17447:135::o;20803:313::-;20901:4;20918:36;20928:6;20936:9;20947:6;20918:9;:36::i;:::-;-1:-1:-1;20965:121:0;20974:6;191:10;20996:89;21034:6;20996:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20996:19:0;;;;;;:11;:19;;;;;;;;191:10;20996:33;;;;;;;;;;:37;:89::i;:::-;20965:8;:121::i;:::-;-1:-1:-1;21104:4:0;20803:313;;;;;;:::o;17824:113::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;17902:16:::1;:27:::0;;;::::1;;-1:-1:-1::0;;;17902:27:0::1;-1:-1:-1::0;;;;17902:27:0;;::::1;::::0;;;::::1;::::0;;17824:113::o;18783:156::-;-1:-1:-1;;;;;18918:11:0;15826:18;18836:7;15826:18;;;:9;:18;;;;;;18863:68;;:40;18880:22;18890:11;-1:-1:-1;;;;;15826:18:0;15799:7;15826:18;;;:9;:18;;;;;;;15733:119;18880:22;18863:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;18856:75;;18783:156;:::o;16011:218::-;191:10;16099:4;16148:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16148:34:0;;;;;;;;;;16099:4;;16116:83;;16139:7;;16148:50;;16187:10;16148:38;:50::i;18055:124::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;18137:23:::1;:34:::0;18055:124::o;18187:132::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;18274:15:::1;:37:::0;;-1:-1:-1;;;;;18274:37:0;;::::1;;;-1:-1:-1::0;;;;;;18274:37:0;;::::1;::::0;;;::::1;::::0;;18187:132::o;19206:678::-;19286:22;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;19323:35:::1;19380:16;19323:74;;19446:16;-1:-1:-1::0;;;;;19446:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19428:53:0::1;;19490:4;19497:16;-1:-1:-1::0;;;;;19497:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19428:93;::::0;-1:-1:-1;;;;;;19428:93:0::1;::::0;;;;;;-1:-1:-1;;;;;6054:15:1;;;19428:93:0::1;::::0;::::1;6036:34:1::0;6106:15;;6086:18;;;6079:43;5971:18;;19428:93:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19411:110:::0;-1:-1:-1;;;;;;19537:28:0;::::1;19534:201;;19627:16;-1:-1:-1::0;;;;;19627:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19609:74:0::1;;19692:4;19699:16;-1:-1:-1::0;;;;;19699:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19609:114;::::0;-1:-1:-1;;;;;;19609:114:0::1;::::0;;;;;;-1:-1:-1;;;;;6054:15:1;;;19609:114:0::1;::::0;::::1;6036:34:1::0;6106:15;;6086:18;;;6079:43;5971:18;;19609:114:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19592:131;;19534:201;19747:11;:28:::0;;-1:-1:-1;;;;;19747:28:0;;::::1;-1:-1:-1::0;;;;;;19747:28:0;;::::1;::::0;::::1;::::0;;;19787:15:::1;:34:::0;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;19747:11:::1;19835:34:::0;;;:12:::1;:34;::::0;;;;:41;;-1:-1:-1;;19835:41:0::1;19747:28:::0;19835:41:::1;::::0;;19761:14;19206:678;-1:-1:-1;19206:678:0:o;26980:697::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;27098:10:::1;27127:33:::0;;::::1;27119:67;;;::::0;-1:-1:-1;;;27119:67:0;;11762:2:1;27119:67:0::1;::::0;::::1;11744:21:1::0;11801:2;11781:18;;;11774:30;-1:-1:-1;;;11820:18:1;;;11813:52;11882:18;;27119:67:0::1;11734:172:1::0;27119:67:0::1;27197:15;::::0;27223:92:::1;27239:18:::0;;::::1;27223:92;;;27293:7;;27301:1;27293:10;;;;;-1:-1:-1::0;;;27293:10:0::1;;;;;;;;;;;;;;;27279:24;;;;;:::i;:::-;::::0;-1:-1:-1;27259:3:0;::::1;::::0;::::1;:::i;:::-;;;;27223:92;;;;27355:10;27333:18;27343:7;-1:-1:-1::0;;;;;15826:18:0;15799:7;15826:18;;;:9;:18;;;;;;;15733:119;27333:18:::1;:32;;27325:71;;;::::0;-1:-1:-1;;;27325:71:0;;8665:2:1;27325:71:0::1;::::0;::::1;8647:21:1::0;8704:2;8684:18;;;8677:30;8743:29;8723:18;;;8716:57;8790:18;;27325:71:0::1;8637:177:1::0;27325:71:0::1;-1:-1:-1::0;;;;;27428:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;:34:::1;::::0;27451:10;27428:22:::1;:34::i;:::-;-1:-1:-1::0;;;;;27407:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;:55;;;;27474:194:::1;27490:19:::0;;::::1;27474:194;;;27556:38;27583:7;;27591:1;27583:10;;;;;-1:-1:-1::0;;;27583:10:0::1;;;;;;;;;;;;;;;27556:9;:22;27566:8;;27575:1;27566:11;;;;;-1:-1:-1::0;;;27566:11:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;27556:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;27556:22:0;;;:26:::1;:38::i;:::-;27531:9;:22;27541:8;;27550:1;27541:11;;;;;-1:-1:-1::0;;;27541:11:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;27531:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;27531:22:0;:63;27632:8;;27641:1;27632:11;;::::1;;;-1:-1:-1::0;;;27632:11:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;27614:42:0::1;27623:7;-1:-1:-1::0;;;;;27614:42:0::1;-1:-1:-1::0;;;;;;;;;;;27645:7:0::1;;27653:1;27645:10;;;;;-1:-1:-1::0;;;27645:10:0::1;;;;;;;;;;;;;;;27614:42;;;;13229:25:1::0;;13217:2;13202:18;;13184:76;27614:42:0::1;;;;;;;;27511:3:::0;::::1;::::0;::::1;:::i;:::-;;;;27474:194;;;;3089:1;;26980:697:::0;;;;:::o;3110:230::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;3201:6:::1;::::0;;3180:81:::1;::::0;3217:42:::1;::::0;-1:-1:-1;;;;;3201:6:0;;::::1;::::0;3180:81:::1;::::0;::::1;3272:6;:60:::0;;-1:-1:-1;;;;;;3272:60:0::1;3289:42;3272:60;::::0;;3110:230::o;17028:129::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17117:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;17117:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17028:129::o;15439:87::-;15478:13;15511:7;15504:14;;;;;:::i;16237:269::-;16330:4;16347:129;191:10;16370:7;16379:96;16418:15;16379:96;;;;;;;;;;;;;;;;;191:10;16379:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16379:34:0;;;;;;;;;;;;:38;:96::i;18646:125::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;18727:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;18727:36:0::1;-1:-1:-1::0;;;;18727:36:0;;::::1;::::0;;;::::1;::::0;;18646:125::o;20628:167::-;20706:4;20723:42;191:10;20747:9;20758:6;20723:9;:42::i;18467:171::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;18544:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;18544:32:0::1;-1:-1:-1::0;;;;18544:32:0;;::::1;;::::0;;18592:38:::1;::::0;::::1;::::0;::::1;::::0;18568:8;7189:14:1;7182:22;7164:41;;7152:2;7137:18;;7119:92;18592:38:0::1;;;;;;;;18467:171:::0;:::o;23165:154::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;23231:58:::1;::::0;23219:7:::1;::::0;23239:10:::1;::::0;23263:21:::1;::::0;23219:7;23231:58;23219:7;23231:58;23263:21;23239:10;23231:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23218:71;;;23308:2;23300:11;;;::::0;::::1;;3089:1;23165:154::o:0;17705:111::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;17782:12:::1;:26:::0;17705:111::o;17590:107::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;17657:22:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;17657:32:0::1;-1:-1:-1::0;;;;17657:32:0;;::::1;::::0;;;::::1;::::0;;17590:107::o;17165:135::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17255:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;17255:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17165:135::o;17945:102::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;18017:10:::1;:22:::0;17945:102::o;3348:244::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3437:22:0;::::1;3429:73;;;::::0;-1:-1:-1;;;3429:73:0;;9021:2:1;3429:73:0::1;::::0;::::1;9003:21:1::0;9060:2;9040:18;;;9033:30;9099:34;9079:18;;;9072:62;-1:-1:-1;;;9150:18:1;;;9143:36;9196:19;;3429:73:0::1;8993:228:1::0;3429:73:0::1;3539:6;::::0;;3518:38:::1;::::0;-1:-1:-1;;;;;3518:38:0;;::::1;::::0;3539:6;::::1;::::0;3518:38:::1;::::0;::::1;3567:6;:17:::0;;-1:-1:-1;;;;;;3567:17:0::1;-1:-1:-1::0;;;;;3567:17:0;;;::::1;::::0;;;::::1;::::0;;3348:244::o;23018:139::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;23106:43:::1;::::0;-1:-1:-1;;;23106:43:0;;23130:10:::1;23106:43;::::0;::::1;6307:51:1::0;6374:18;;;6367:34;;;-1:-1:-1;;;;;23106:23:0;::::1;::::0;::::1;::::0;6280:18:1;;23106:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23018:139:::0;;:::o;17308:127::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17395:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;17395:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17308:127::o;18327:132::-;3019:6;;-1:-1:-1;;;;;3019:6:0;191:10;3019:22;3011:67;;;;-1:-1:-1;;;3011:67:0;;;;;;;:::i;:::-;18414:15:::1;:37:::0;;-1:-1:-1;;;;;;18414:37:0::1;-1:-1:-1::0;;;;;18414:37:0;;;::::1;::::0;;;::::1;::::0;;18327:132::o;1570:250::-;1628:7;1652:6;1648:47;;-1:-1:-1;1682:1:0;1675:8;;1648:47;1707:9;1719:5;1723:1;1719;:5;:::i;:::-;1707:17;-1:-1:-1;1752:1:0;1743:5;1747:1;1707:17;1743:5;:::i;:::-;:10;1735:56;;;;-1:-1:-1;;;1735:56:0;;11360:2:1;1735:56:0;;;11342:21:1;11399:2;11379:18;;;11372:30;11438:34;11418:18;;;11411:62;-1:-1:-1;;;11489:18:1;;;11482:31;11530:19;;1735:56:0;11332:223:1;1828:132:0;1886:7;1913:39;1917:1;1920;1913:39;;;;;;;;;;;;;;;;;:3;:39::i;1037:181::-;1095:7;;1127:5;1131:1;1127;:5;:::i;:::-;1115:17;;1156:1;1151;:6;;1143:46;;;;-1:-1:-1;;;1143:46:0;;9831:2:1;1143:46:0;;;9813:21:1;9870:2;9850:18;;;9843:30;9909:29;9889:18;;;9882:57;9956:18;;1143:46:0;9803:177:1;16683:337:0;-1:-1:-1;;;;;16776:19:0;;16768:68;;;;-1:-1:-1;;;16768:68:0;;12880:2:1;16768:68:0;;;12862:21:1;12919:2;12899:18;;;12892:30;12958:34;12938:18;;;12931:62;-1:-1:-1;;;13009:18:1;;;13002:34;13053:19;;16768:68:0;12852:226:1;16768:68:0;-1:-1:-1;;;;;16855:21:0;;16847:68;;;;-1:-1:-1;;;16847:68:0;;9428:2:1;16847:68:0;;;9410:21:1;9467:2;9447:18;;;9440:30;9506:34;9486:18;;;9479:62;-1:-1:-1;;;9557:18:1;;;9550:32;9599:19;;16847:68:0;9400:224:1;16847:68:0;-1:-1:-1;;;;;16928:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16980:32;;13229:25:1;;;16980:32:0;;13202:18:1;16980:32:0;;;;;;;16683:337;;;:::o;21124:1886::-;21211:4;-1:-1:-1;;;;;21238:20:0;;21230:70;;;;-1:-1:-1;;;21230:70:0;;12474:2:1;21230:70:0;;;12456:21:1;12513:2;12493:18;;;12486:30;12552:34;12532:18;;;12525:62;-1:-1:-1;;;12603:18:1;;;12596:35;12648:19;;21230:70:0;12446:227:1;21230:70:0;-1:-1:-1;;;;;21319:23:0;;21311:71;;;;-1:-1:-1;;;21311:71:0;;8261:2:1;21311:71:0;;;8243:21:1;8300:2;8280:18;;;8273:30;8339:34;8319:18;;;8312:62;-1:-1:-1;;;8390:18:1;;;8383:33;8433:19;;21311:71:0;8233:225:1;21311:71:0;-1:-1:-1;;;;;21402:17:0;;;;;;:9;:17;;;;;;;;21401:18;:43;;;;-1:-1:-1;;;;;;21424:20:0;;;;;;:9;:20;;;;;;;;21423:21;21401:43;21393:85;;;;-1:-1:-1;;;21393:85:0;;10593:2:1;21393:85:0;;;10575:21:1;10632:2;10612:18;;;10605:30;10671:31;10651:18;;;10644:59;10720:18;;21393:85:0;10565:179:1;21393:85:0;21494:16;;-1:-1:-1;;;21494:16:0;;;;21491:1502;;;21544:41;21559:6;21567:9;21578:6;21544:14;:41::i;:::-;21537:48;;;;21491:1502;-1:-1:-1;;;;;21643:23:0;;;;;;:15;:23;;;;;;;;21642:24;:55;;;;-1:-1:-1;;;;;;21671:26:0;;;;;;:15;:26;;;;;;;;21670:27;21642:55;:81;;;;-1:-1:-1;21701:22:0;;-1:-1:-1;;;21701:22:0;;;;21642:81;21639:196;;;21762:12;;21752:6;:22;;21744:75;;;;-1:-1:-1;;;21744:75:0;;10951:2:1;21744:75:0;;;10933:21:1;10990:2;10970:18;;;10963:30;11029:34;11009:18;;;11002:62;-1:-1:-1;;;11080:18:1;;;11073:38;11128:19;;21744:75:0;10923:230:1;21744:75:0;21900:4;21851:28;15826:18;;;:9;:18;;;;;;21976:23;;21952:47;;;;;;;22032:44;;-1:-1:-1;22060:16:0;;-1:-1:-1;;;22060:16:0;;;;22059:17;22032:44;:69;;;;-1:-1:-1;;;;;;22081:20:0;;;;;;:12;:20;;;;;;;;22080:21;22032:69;:94;;;;-1:-1:-1;22105:21:0;;-1:-1:-1;;;22105:21:0;;;;22032:94;22028:305;;;22164:25;;-1:-1:-1;;;22164:25:0;;;;22161:97;;;22235:23;;22212:46;;22161:97;22277:36;22292:20;22277:14;:36::i;:::-;22369:53;;;;;;;;;;;-1:-1:-1;;;22369:53:0;;;;;;;;-1:-1:-1;;;;;22369:17:0;;-1:-1:-1;22369:17:0;;;:9;:17;;;;;;;;:53;;22391:6;;22369:21;:53::i;:::-;-1:-1:-1;;;;;22349:17:0;;;;;;:9;:17;;;;;;;;:73;;;;22462:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;22491:28:0;;;;;;:17;:28;;;;;;;;22462:57;22461:148;;22575:34;22583:6;22591:9;22602:6;22575:7;:34::i;:::-;22461:148;;;22566:6;22461:148;22629:16;;22439:170;;-1:-1:-1;;;;22629:16:0;;;;:51;;;;-1:-1:-1;;;;;;22650:30:0;;;;;;:19;:30;;;;;;;;22649:31;22629:51;22626:191;;;22750:10;;22709:37;22734:11;22709:20;22719:9;-1:-1:-1;;;;;15826:18:0;15799:7;15826:18;;;:9;:18;;;;;;;15733:119;22709:37;:51;;22701:100;;;;-1:-1:-1;;;22701:100:0;;10187:2:1;22701:100:0;;;10169:21:1;10226:2;10206:18;;;10199:30;10265:34;10245:18;;;10238:62;-1:-1:-1;;;10316:18:1;;;10309:35;10361:19;;22701:100:0;10159:227:1;22701:100:0;-1:-1:-1;;;;;22856:20:0;;;;;;:9;:20;;;;;;:37;;22881:11;22856:24;:37::i;:::-;-1:-1:-1;;;;;22833:20:0;;;;;;;:9;:20;;;;;;;:60;;;;22915:40;;;;;;-1:-1:-1;;;;;;;;;;;22915:40:0;;;22943:11;13229:25:1;;13217:2;13202:18;;13184:76;22915:40:0;;;;;;;;22977:4;22970:11;;;;;;;1370:192;1456:7;1492:12;1484:6;;;;1476:29;;;;-1:-1:-1;;;1476:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1516:9:0;1528:5;1532:1;1528;:5;:::i;:::-;1516:17;1370:192;-1:-1:-1;;;;;1370:192:0:o;1226:136::-;1284:7;1311:43;1315:1;1318;1311:43;;;;;;;;;;;;;;;;;:3;:43::i;1968:278::-;2054:7;2089:12;2082:5;2074:28;;;;-1:-1:-1;;;2074:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2113:9:0;2125:5;2129:1;2125;:5;:::i;23327:330::-;23457:53;;;;;;;;;;;-1:-1:-1;;;23457:53:0;;;;;;;;-1:-1:-1;;;;;23457:17:0;;23420:4;23457:17;;;:9;:17;;;;;;;:53;;23479:6;;23457:21;:53::i;:::-;-1:-1:-1;;;;;23437:17:0;;;;;;;:9;:17;;;;;;:73;;;;23544:20;;;;;;;:32;;23569:6;23544:24;:32::i;:::-;-1:-1:-1;;;;;23521:20:0;;;;;;;:9;:20;;;;;;;:55;;;;23592:35;;;;;;-1:-1:-1;;;;;;;;;;;23592:35:0;;;23620:6;13229:25:1;;13217:2;13202:18;;13184:76;23592:35:0;;;;;;;;-1:-1:-1;23645:4:0;23327:330;;;;;:::o;23665:1449::-;13794:16;:23;;-1:-1:-1;;;;13794:23:0;-1:-1:-1;;;13794:23:0;;;23783:18:::1;::::0;23761:17:::1;::::0;13794:23;;23761:41:::1;::::0;:17;:21:::1;:41::i;:::-;23739:63;;23815:22;23840:39;23861:17;;23840:16;;:20;;:39;;;;:::i;:::-;23815:64;;23890:22;23915:39;23936:17;;23915:16;;:20;;:39;;;;:::i;:::-;23890:64:::0;-1:-1:-1;24053:18:0::1;24074:51;24123:1;24074:44;24106:11:::0;24074:44;:7;24086:14;24074:11:::1;:27::i;:::-;:31:::0;::::1;:44::i;:51::-;24053:72:::0;-1:-1:-1;24136:20:0::1;24159:23;:7:::0;24053:72;24159:11:::1;:23::i;:::-;24136:46:::0;-1:-1:-1;24221:21:0::1;24253:30;24136:46:::0;24253:16:::1;:30::i;:::-;24294:23;24321:41;:21;24347:14:::0;24321:25:::1;:41::i;:::-;24294:68:::0;-1:-1:-1;24375:19:0::1;24397:38;24413:21;:14:::0;24432:1:::1;24413:18;:21::i;:::-;24397:11:::0;;:15:::1;:38::i;:::-;24375:60:::0;-1:-1:-1;24448:26:0::1;24477:59;24534:1;24477:52;24375:60:::0;24477:52;:15;24497:14;24477:19:::1;:35::i;:59::-;24448:88:::0;-1:-1:-1;24547:26:0::1;24576:52;24616:11:::0;24576:35:::1;:15:::0;24596:14;24576:19:::1;:35::i;:52::-;24547:81:::0;-1:-1:-1;24639:26:0::1;24668:63;24547:81:::0;24668:39:::1;:15:::0;24688:18;24668:19:::1;:39::i;:63::-;24639:92:::0;-1:-1:-1;24747:22:0;;24744:107:::1;;24794:15;::::0;24786:53:::1;::::0;24794:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;24794:15:0::1;::::0;24786:53:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;24794:15;24786:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;24744:107;24866:22:::0;;24863:107:::1;;24913:15;::::0;24905:53:::1;::::0;-1:-1:-1;;;;;24913:15:0;;::::1;::::0;24905:53;::::1;;;::::0;24939:18;;24913:15:::1;24905:53:::0;24913:15;24905:53;24939:18;24913:15;24905:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;24863:107;25015:1;24994:18;:22;:40;;;;;25033:1;25020:10;:14;24994:40;24991:116;;;25051:44;25064:10;25076:18;25051:12;:44::i;:::-;-1:-1:-1::0;;13840:16:0;:24;;-1:-1:-1;;;;13840:24:0;;;-1:-1:-1;;;;;;;;;;23665:1449:0:o;26321:622::-;-1:-1:-1;;;;;26482:20:0;;26407:7;26482:20;;;:12;:20;;;;;;26407:7;;26482:20;;26479:223;;;26531:38;26565:3;26531:29;26542:17;;26531:6;:10;;:29;;;;:::i;:38::-;26519:50;;26479:223;;;-1:-1:-1;;;;;26599:23:0;;;;;;:12;:23;;;;;;;;26596:106;;;26651:39;26686:3;26651:30;26662:18;;26651:6;:10;;:30;;;;:::i;:39::-;26639:51;;26596:106;26725:13;;26722:173;;26800:4;26782:24;;;;:9;:24;;;;;;:39;;26811:9;26782:28;:39::i;:::-;26773:4;26755:24;;;;:9;:24;;;;;;;:66;;;;26841:42;;-1:-1:-1;;;;;26841:42:0;;;-1:-1:-1;;;;;;;;;;;26841:42:0;;;26873:9;13229:25:1;;13217:2;13202:18;;13184:76;26841:42:0;;;;;;;;26722:173;26914:21;:6;26925:9;26914:10;:21::i;25126:666::-;25276:16;;;25290:1;25276:16;;;;;;;;25252:21;;25276:16;;;;;;;;;;-1:-1:-1;25276:16:0;25252:40;;25321:4;25303;25308:1;25303:7;;;;;;-1:-1:-1;;;25303:7:0;;;;;;;;;-1:-1:-1;;;;;25303:23:0;;;:7;;;;;;;;;;:23;;;;25347:15;;:22;;;-1:-1:-1;;;25347:22:0;;;;:15;;;;;:20;;:22;;;;;25303:7;;25347:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25337:4;25342:1;25337:7;;;;;;-1:-1:-1;;;25337:7:0;;;;;;;;;-1:-1:-1;;;;;25337:32:0;;;:7;;;;;;;;;:32;25414:15;;25382:62;;25399:4;;25414:15;25432:11;25382:8;:62::i;:::-;25483:15;;:240;;-1:-1:-1;;;25483:240:0;;-1:-1:-1;;;;;25483:15:0;;;;:66;;:240;;25564:11;;25483:15;;25634:4;;25661;;25697:15;;25483:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25749:35;25766:11;25779:4;25749:35;;;;;;;:::i;:::-;;;;;;;;25126:666;;:::o;25800:513::-;25980:15;;25948:62;;25965:4;;-1:-1:-1;;;;;25980:15:0;25998:11;25948:8;:62::i;:::-;26053:15;;-1:-1:-1;;;;;26053:15:0;:31;26092:9;26125:4;26145:11;26053:15;;26257:7;2923;2950:6;-1:-1:-1;;;;;2950:6:0;;2885:79;26257:7;26053:252;;;;;;-1:-1:-1;;;;;;26053:252:0;;;-1:-1:-1;;;;;6771:15:1;;;26053:252:0;;;6753:34:1;6803:18;;;6796:34;;;;6846:18;;;6839:34;;;;6889:18;;;6882:34;6953:15;;;6932:19;;;6925:44;26279:15:0;6985:19:1;;;6978:35;6687:19;;26053:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;25800:513;;:::o;14:395:1:-;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:2;;166:8;156;149:26;108:2;-1:-1:-1;196:20:1;;239:18;228:30;;225:2;;;278:8;268;261:26;225:2;322:4;314:6;310:17;298:29;;382:3;375:4;365:6;362:1;358:14;350:6;346:27;342:38;339:47;336:2;;;399:1;396;389:12;336:2;98:311;;;;;:::o;414:257::-;473:6;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;591:9;578:23;610:31;635:5;610:31;:::i;676:261::-;746:6;799:2;787:9;778:7;774:23;770:32;767:2;;;820:6;812;805:22;767:2;857:9;851:16;876:31;901:5;876:31;:::i;942:398::-;1010:6;1018;1071:2;1059:9;1050:7;1046:23;1042:32;1039:2;;;1092:6;1084;1077:22;1039:2;1136:9;1123:23;1155:31;1180:5;1155:31;:::i;:::-;1205:5;-1:-1:-1;1262:2:1;1247:18;;1234:32;1275:33;1234:32;1275:33;:::i;:::-;1327:7;1317:17;;;1029:311;;;;;:::o;1345:466::-;1422:6;1430;1438;1491:2;1479:9;1470:7;1466:23;1462:32;1459:2;;;1512:6;1504;1497:22;1459:2;1556:9;1543:23;1575:31;1600:5;1575:31;:::i;:::-;1625:5;-1:-1:-1;1682:2:1;1667:18;;1654:32;1695:33;1654:32;1695:33;:::i;:::-;1449:362;;1747:7;;-1:-1:-1;;;1801:2:1;1786:18;;;;1773:32;;1449:362::o;1816:392::-;1881:6;1889;1942:2;1930:9;1921:7;1917:23;1913:32;1910:2;;;1963:6;1955;1948:22;1910:2;2007:9;1994:23;2026:31;2051:5;2026:31;:::i;:::-;2076:5;-1:-1:-1;2133:2:1;2118:18;;2105:32;2146:30;2105:32;2146:30;:::i;2213:325::-;2281:6;2289;2342:2;2330:9;2321:7;2317:23;2313:32;2310:2;;;2363:6;2355;2348:22;2310:2;2407:9;2394:23;2426:31;2451:5;2426:31;:::i;:::-;2476:5;2528:2;2513:18;;;;2500:32;;-1:-1:-1;;;2300:238:1:o;2543:803::-;2665:6;2673;2681;2689;2742:2;2730:9;2721:7;2717:23;2713:32;2710:2;;;2763:6;2755;2748:22;2710:2;2808:9;2795:23;2837:18;2878:2;2870:6;2867:14;2864:2;;;2899:6;2891;2884:22;2864:2;2943:70;3005:7;2996:6;2985:9;2981:22;2943:70;:::i;:::-;3032:8;;-1:-1:-1;2917:96:1;-1:-1:-1;3120:2:1;3105:18;;3092:32;;-1:-1:-1;3136:16:1;;;3133:2;;;3170:6;3162;3155:22;3133:2;;3214:72;3278:7;3267:8;3256:9;3252:24;3214:72;:::i;:::-;2700:646;;;;-1:-1:-1;3305:8:1;-1:-1:-1;;;;2700:646:1:o;3351:251::-;3407:6;3460:2;3448:9;3439:7;3435:23;3431:32;3428:2;;;3481:6;3473;3466:22;3428:2;3525:9;3512:23;3544:28;3566:5;3544:28;:::i;3607:255::-;3674:6;3727:2;3715:9;3706:7;3702:23;3698:32;3695:2;;;3748:6;3740;3733:22;3695:2;3785:9;3779:16;3804:28;3826:5;3804:28;:::i;3867:190::-;3926:6;3979:2;3967:9;3958:7;3954:23;3950:32;3947:2;;;4000:6;3992;3985:22;3947:2;-1:-1:-1;4028:23:1;;3937:120;-1:-1:-1;3937:120:1:o;4062:326::-;4139:6;4147;4155;4208:2;4196:9;4187:7;4183:23;4179:32;4176:2;;;4229:6;4221;4214:22;4176:2;-1:-1:-1;;4257:23:1;;;4327:2;4312:18;;4299:32;;-1:-1:-1;4378:2:1;4363:18;;;4350:32;;4166:222;-1:-1:-1;4166:222:1:o;4393:316::-;4481:6;4489;4497;4550:2;4538:9;4529:7;4525:23;4521:32;4518:2;;;4571:6;4563;4556:22;4518:2;4605:9;4599:16;4589:26;;4655:2;4644:9;4640:18;4634:25;4624:35;;4699:2;4688:9;4684:18;4678:25;4668:35;;4508:201;;;;;:::o;4714:463::-;4767:3;4805:5;4799:12;4832:6;4827:3;4820:19;4858:4;4887:2;4882:3;4878:12;4871:19;;4924:2;4917:5;4913:14;4945:3;4957:195;4971:6;4968:1;4965:13;4957:195;;;5036:13;;-1:-1:-1;;;;;5032:39:1;5020:52;;5092:12;;;;5127:15;;;;5068:1;4986:9;4957:195;;;-1:-1:-1;5168:3:1;;4775:402;-1:-1:-1;;;;;4775:402:1:o;7451:603::-;7563:4;7592:2;7621;7610:9;7603:21;7653:6;7647:13;7696:6;7691:2;7680:9;7676:18;7669:34;7721:4;7734:140;7748:6;7745:1;7742:13;7734:140;;;7843:14;;;7839:23;;7833:30;7809:17;;;7828:2;7805:26;7798:66;7763:10;;7734:140;;;7892:6;7889:1;7886:13;7883:2;;;7962:4;7957:2;7948:6;7937:9;7933:22;7929:31;7922:45;7883:2;-1:-1:-1;8038:2:1;8017:15;-1:-1:-1;;8013:29:1;7998:45;;;;8045:2;7994:54;;7572:482;-1:-1:-1;;;7572:482:1:o;11911:356::-;12113:2;12095:21;;;12132:18;;;12125:30;12191:34;12186:2;12171:18;;12164:62;12258:2;12243:18;;12085:182::o;13265:332::-;13472:6;13461:9;13454:25;13515:2;13510;13499:9;13495:18;13488:30;13435:4;13535:56;13587:2;13576:9;13572:18;13564:6;13535:56;:::i;:::-;13527:64;13444:153;-1:-1:-1;;;;13444:153:1:o;13602:582::-;13901:6;13890:9;13883:25;13944:6;13939:2;13928:9;13924:18;13917:34;13987:3;13982:2;13971:9;13967:18;13960:31;13864:4;14008:57;14060:3;14049:9;14045:19;14037:6;14008:57;:::i;:::-;-1:-1:-1;;;;;14101:32:1;;;;14096:2;14081:18;;14074:60;-1:-1:-1;14165:3:1;14150:19;14143:35;14000:65;13873:311;-1:-1:-1;;;13873:311:1:o;14378:128::-;14418:3;14449:1;14445:6;14442:1;14439:13;14436:2;;;14455:18;;:::i;:::-;-1:-1:-1;14491:9:1;;14426:80::o;14511:217::-;14551:1;14577;14567:2;;-1:-1:-1;;;14602:31:1;;14656:4;14653:1;14646:15;14684:4;14609:1;14674:15;14567:2;-1:-1:-1;14713:9:1;;14557:171::o;14733:168::-;14773:7;14839:1;14835;14831:6;14827:14;14824:1;14821:21;14816:1;14809:9;14802:17;14798:45;14795:2;;;14846:18;;:::i;:::-;-1:-1:-1;14886:9:1;;14785:116::o;14906:125::-;14946:4;14974:1;14971;14968:8;14965:2;;;14979:18;;:::i;:::-;-1:-1:-1;15016:9:1;;14955:76::o;15036:380::-;15115:1;15111:12;;;;15158;;;15179:2;;15233:4;15225:6;15221:17;15211:27;;15179:2;15286;15278:6;15275:14;15255:18;15252:38;15249:2;;;15332:10;15327:3;15323:20;15320:1;15313:31;15367:4;15364:1;15357:15;15395:4;15392:1;15385:15;15249:2;;15091:325;;;:::o;15421:135::-;15460:3;-1:-1:-1;;15481:17:1;;15478:2;;;15501:18;;:::i;:::-;-1:-1:-1;15548:1:1;15537:13;;15468:88::o;15561:127::-;15622:10;15617:3;15613:20;15610:1;15603:31;15653:4;15650:1;15643:15;15677:4;15674:1;15667:15;15693:131;-1:-1:-1;;;;;15768:31:1;;15758:42;;15748:2;;15814:1;15811;15804:12;15829:118;15915:5;15908:13;15901:21;15894:5;15891:32;15881:2;;15937:1;15934;15927:12
Swarm Source
ipfs://ba34ca59c908ce1b1c1472caa28cc64351afa8953ef4d84ef4567d3f12243a2d
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.