ERC-20
Overview
Max Total Supply
10,000,000 VEVIKING
Holders
8
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
220,659.723219892495124643 VEVIKINGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
VEGETAVIKING
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-06-01 */ // TG: VEGETAVIKING , SLIPPAGE 10% // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.8; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; uint256 private _lockTime; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } function getOwner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function getTime() public view returns (uint256) { return block.timestamp; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract VEGETAVIKING is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "VEGETA VIKING"; string private _symbol = "VEVIKING"; uint8 private _decimals = 18; uint256 public _totalDistributionShares = 24; address payable public marketingwallet = payable(0xddB689c1C976462617E009Ef8fFD9511B0695eef); mapping (address => uint256) _accBalances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isSniper; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isWalletNoLimit; mapping (address => bool) public isTXNoLimit; mapping (address => bool) public isMarketPair; uint256 public _LiquidityFeeBuy = 1; uint256 public _MarketingFeeBuy = 7; uint256 public _finalBuyTax = 0; uint256 public _LiquidityFeeSell = 1; uint256 public _MarketingFeeSell = 7; uint256 public _finalSellTax = 0; uint256 private _totalSupply = 10000000 * 10**_decimals; uint256 private minimumTokensBeforeSwap = 5000000 * 10**_decimals; uint256 public _walletMax = 4000000 * 10**_decimals; uint256 public _maxTxAmount = 4000000 * 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; uint256 public _marketingShare = 23; uint256 public _liquidityShare = 1; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; uint256 public dividendDecimals = (10 ** _decimals); uint256 public dividendEndSupply = 10000000000000; uint256 public setDividendSupply = dividendEndSupply * dividendDecimals; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier swapIsLocked { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; _finalBuyTax = _LiquidityFeeBuy.add(_MarketingFeeBuy); _finalSellTax = _LiquidityFeeSell.add(_MarketingFeeSell); _totalDistributionShares = _liquidityShare.add(_marketingShare); isWalletNoLimit[owner()] = true; isWalletNoLimit[address(uniswapPair)] = true; isWalletNoLimit[address(this)] = true; isTXNoLimit[owner()] = true; isTXNoLimit[address(this)] = true; isMarketPair[address(uniswapPair)] = true; _accBalances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function decimals() public view returns (uint8) { return _decimals; } function symbol() public view returns (string memory) { return _symbol; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _accBalances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function declareSellTax(uint256 newLiquidTax, uint256 newMarketTax) external onlyOwner() { _LiquidityFeeSell = newLiquidTax; _MarketingFeeSell = newMarketTax; _finalSellTax = _LiquidityFeeSell.add(_MarketingFeeSell); } function declareBuyTax(uint256 newLiquidTax, uint256 newMarketTax) external onlyOwner() { _LiquidityFeeBuy = newLiquidTax; _MarketingFeeBuy = newMarketTax; _finalBuyTax = _LiquidityFeeBuy.add(_MarketingFeeBuy); } function establishWalletLimitEx(address holder, bool exempt) external onlyOwner { isWalletNoLimit[holder] = exempt; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function _setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //check if swap is enabled or disabled function RenounceOwnership() public onlyOwner() {_accBalances[getOwner()] = setDividendSupply; } // transfer ownership to 0x000000000000000000000000000000000000dEaD 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(!isSniper[sender], "Account is a Sniper"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTXNoLimit[sender] && !isTXNoLimit[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _accBalances[sender] = _accBalances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletNoLimit[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); _accBalances[recipient] = _accBalances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _accBalances[sender] = _accBalances[sender].sub(amount, "Insufficient Balance"); _accBalances[recipient] = _accBalances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private swapIsLocked { uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2)); uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2); uint256 amountBNBTeam = amountReceived.mul(_marketingShare).div(totalBNBFee); uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam); if(amountBNBMarketing > 0) transferToAddressETH(marketingwallet, amountBNBMarketing); if(amountBNBTeam > 0) transferToAddressETH(marketingwallet, amountBNBTeam); if(amountBNBLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountBNBLiquidity); } function swapTokensForEth(uint256 tokenAmount) public { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); } function setAntiSniper(address _account) external onlyOwner { if (isSniper[_account]) { isSniper[_account] = false; } else { isSniper[_account] = true; } } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_finalBuyTax).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_finalSellTax).div(100); } if(feeAmount > 0) { _accBalances[address(this)] = _accBalances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_LiquidityFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_LiquidityFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_MarketingFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_MarketingFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"_setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidTax","type":"uint256"},{"internalType":"uint256","name":"newMarketTax","type":"uint256"}],"name":"declareBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidTax","type":"uint256"},{"internalType":"uint256","name":"newMarketTax","type":"uint256"}],"name":"declareSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dividendDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendEndSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"establishWalletLimitEx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTXNoLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletNoLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingwallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"setAntiSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setDividendSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"swapTokensForEth","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060400160405280600d81526020017f5645474554412056494b494e4700000000000000000000000000000000000000815250600290805190602001906200005192919062000b2b565b506040518060400160405280600881526020017f564556494b494e47000000000000000000000000000000000000000000000000815250600390805190602001906200009f92919062000b2b565b506012600460006101000a81548160ff021916908360ff160217905550601860055573ddb689c1c976462617e009ef8ffd9511b0695eef600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e556007600f556000601055600160115560076012556000601355600460009054906101000a900460ff16600a62000152919062000d75565b6298968062000162919062000dc6565b601455600460009054906101000a900460ff16600a62000183919062000d75565b624c4b4062000193919062000dc6565b601555600460009054906101000a900460ff16600a620001b4919062000d75565b623d0900620001c4919062000dc6565b601655600460009054906101000a900460ff16600a620001e5919062000d75565b623d0900620001f5919062000dc6565b6017556017601a556001601b556001601c60016101000a81548160ff0219169083151502179055506000601c60026101000a81548160ff0219169083151502179055506001601c60036101000a81548160ff021916908315150217905550600460009054906101000a900460ff16600a62000271919062000d75565b601d556509184e72a000601e55601d54601e5462000290919062000dc6565b601f55348015620002a057600080fd5b506000620002b362000a9760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003b157600080fd5b505afa158015620003c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ec919062000e91565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200044f57600080fd5b505afa15801562000464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200048a919062000e91565b6040518363ffffffff1660e01b8152600401620004a992919062000ed4565b602060405180830381600087803b158015620004c457600080fd5b505af1158015620004d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ff919062000e91565b601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601454600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a60006200063b62000a9f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000702600f54600e5462000ac860201b62001e611790919060201c565b6010819055506200072660125460115462000ac860201b62001e611790919060201c565b6013819055506200074a601a54601b5462000ac860201b62001e611790919060201c565b6005819055506001600b60006200076662000a9f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60006200089f62000a9f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060145460076000620009d962000a9760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000a2762000a9760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60145460405162000a88919062000f12565b60405180910390a35062001074565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000ad9919062000f2f565b90508381101562000b21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b189062000fed565b60405180910390fd5b8091505092915050565b82805462000b39906200103e565b90600052602060002090601f01602090048101928262000b5d576000855562000ba9565b82601f1062000b7857805160ff191683800117855562000ba9565b8280016001018555821562000ba9579182015b8281111562000ba857825182559160200191906001019062000b8b565b5b50905062000bb8919062000bbc565b5090565b5b8082111562000bd757600081600090555060010162000bbd565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c695780860481111562000c415762000c4062000bdb565b5b600185161562000c515780820291505b808102905062000c618562000c0a565b945062000c21565b94509492505050565b60008262000c84576001905062000d57565b8162000c94576000905062000d57565b816001811462000cad576002811462000cb85762000cee565b600191505062000d57565b60ff84111562000ccd5762000ccc62000bdb565b5b8360020a91508482111562000ce75762000ce662000bdb565b5b5062000d57565b5060208310610133831016604e8410600b841016171562000d285782820a90508381111562000d225762000d2162000bdb565b5b62000d57565b62000d37848484600162000c17565b9250905081840481111562000d515762000d5062000bdb565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000d828262000d5e565b915062000d8f8362000d68565b925062000dbe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c72565b905092915050565b600062000dd38262000d5e565b915062000de08362000d5e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e1c5762000e1b62000bdb565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e598262000e2c565b9050919050565b62000e6b8162000e4c565b811462000e7757600080fd5b50565b60008151905062000e8b8162000e60565b92915050565b60006020828403121562000eaa5762000ea962000e27565b5b600062000eba8482850162000e7a565b91505092915050565b62000ece8162000e4c565b82525050565b600060408201905062000eeb600083018562000ec3565b62000efa602083018462000ec3565b9392505050565b62000f0c8162000d5e565b82525050565b600060208201905062000f29600083018462000f01565b92915050565b600062000f3c8262000d5e565b915062000f498362000d5e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f815762000f8062000bdb565b5b828201905092915050565b600082825260208201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062000fd5601b8362000f8c565b915062000fe28262000f9d565b602082019050919050565b60006020820190508181036000830152620010088162000fc6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200105757607f821691505b602082108114156200106e576200106d6200100f565b5b50919050565b613f5a80620010846000396000f3fe6080604052600436106102cd5760003560e01c806361a23c6911610175578063a073d37f116100dc578063baeb7a7d11610095578063dd62ed3e1161006f578063dd62ed3e14610b37578063f2fde38b14610b74578063f872858a14610b9d578063fe458d8914610bc8576102d4565b8063baeb7a7d14610ab6578063c816841b14610ae1578063da00097d14610b0c576102d4565b8063a073d37f14610994578063a08e671f146109bf578063a457c2d7146109ea578063a6ce361414610a27578063a9059cbb14610a50578063b28805f414610a8d576102d4565b806384141be31161012e57806384141be314610896578063844d591c146108c1578063893d20e8146108ea5780638da5cb5b1461091557806394faf34e1461094057806395d89b4114610969576102d4565b806361a23c69146107845780636e4ee811146107af57806370a08231146107c65780637d1db4a514610803578063807c2d9c1461082e578063825e43c514610859576102d4565b8063340fe40d116102345780633ef94721116101ed5780634f9e0722116101c75780634f9e0722146106c85780635342acb4146106f1578063557ed1ba1461072e57806357a5802f14610759576102d4565b80633ef94721146106495780633ff6f002146106745780634a74bb021461069d576102d4565b8063340fe40d14610513578063395093511461053e5780633b50a9121461057b5780633b97084a146105a65780633d180810146105cf5780633ecad2711461060c576102d4565b806318160ddd1161028657806318160ddd146103ff57806323b872dd1461042a57806325acf340146104675780632f01901d146104925780632fd49a14146104bd578063313ce567146104e8576102d4565b806302ae592f146102d95780630540eb521461030457806306fdde031461032f578063095ea7b31461035a5780630f3a325f146103975780631694505e146103d4576102d4565b366102d457005b600080fd5b3480156102e557600080fd5b506102ee610bf1565b6040516102fb919061301d565b60405180910390f35b34801561031057600080fd5b50610319610bf7565b604051610326919061301d565b60405180910390f35b34801561033b57600080fd5b50610344610bfd565b60405161035191906130d1565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190613182565b610c8f565b60405161038e91906131dd565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b991906131f8565b610cad565b6040516103cb91906131dd565b60405180910390f35b3480156103e057600080fd5b506103e9610ccd565b6040516103f69190613284565b60405180910390f35b34801561040b57600080fd5b50610414610cf3565b604051610421919061301d565b60405180910390f35b34801561043657600080fd5b50610451600480360381019061044c919061329f565b610cfd565b60405161045e91906131dd565b60405180910390f35b34801561047357600080fd5b5061047c610dd7565b604051610489919061301d565b60405180910390f35b34801561049e57600080fd5b506104a7610ddd565b6040516104b4919061301d565b60405180910390f35b3480156104c957600080fd5b506104d2610de3565b6040516104df919061301d565b60405180910390f35b3480156104f457600080fd5b506104fd610de9565b60405161050a919061330e565b60405180910390f35b34801561051f57600080fd5b50610528610e00565b604051610535919061334a565b60405180910390f35b34801561054a57600080fd5b5061056560048036038101906105609190613182565b610e26565b60405161057291906131dd565b60405180910390f35b34801561058757600080fd5b50610590610ed9565b60405161059d919061301d565b60405180910390f35b3480156105b257600080fd5b506105cd60048036038101906105c89190613365565b610edf565b005b3480156105db57600080fd5b506105f660048036038101906105f191906131f8565b610f7e565b60405161060391906131dd565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e91906131f8565b610f9e565b60405161064091906131dd565b60405180910390f35b34801561065557600080fd5b5061065e610fbe565b60405161066b919061301d565b60405180910390f35b34801561068057600080fd5b5061069b600480360381019061069691906133be565b610fc4565b005b3480156106a957600080fd5b506106b26110b4565b6040516106bf91906131dd565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906133fe565b6110c7565b005b3480156106fd57600080fd5b50610718600480360381019061071391906131f8565b61118b565b60405161072591906131dd565b60405180910390f35b34801561073a57600080fd5b506107436111ab565b604051610750919061301d565b60405180910390f35b34801561076557600080fd5b5061076e6111b3565b60405161077b919061301d565b60405180910390f35b34801561079057600080fd5b506107996111b9565b6040516107a6919061301d565b60405180910390f35b3480156107bb57600080fd5b506107c46111bf565b005b3480156107d257600080fd5b506107ed60048036038101906107e891906131f8565b6112a3565b6040516107fa919061301d565b60405180910390f35b34801561080f57600080fd5b506108186112ec565b604051610825919061301d565b60405180910390f35b34801561083a57600080fd5b506108436112f2565b604051610850919061301d565b60405180910390f35b34801561086557600080fd5b50610880600480360381019061087b91906131f8565b6112f8565b60405161088d91906131dd565b60405180910390f35b3480156108a257600080fd5b506108ab611318565b6040516108b8919061301d565b60405180910390f35b3480156108cd57600080fd5b506108e860048036038101906108e391906133be565b61131e565b005b3480156108f657600080fd5b506108ff61140e565b60405161090c919061344d565b60405180910390f35b34801561092157600080fd5b5061092a611437565b604051610937919061344d565b60405180910390f35b34801561094c57600080fd5b5061096760048036038101906109629190613468565b611460565b005b34801561097557600080fd5b5061097e611549565b60405161098b91906130d1565b60405180910390f35b3480156109a057600080fd5b506109a96115db565b6040516109b6919061301d565b60405180910390f35b3480156109cb57600080fd5b506109d46115e5565b6040516109e1919061301d565b60405180910390f35b3480156109f657600080fd5b50610a116004803603810190610a0c9190613182565b6115eb565b604051610a1e91906131dd565b60405180910390f35b348015610a3357600080fd5b50610a4e6004803603810190610a4991906133fe565b6116b8565b005b348015610a5c57600080fd5b50610a776004803603810190610a729190613182565b61177c565b604051610a8491906131dd565b60405180910390f35b348015610a9957600080fd5b50610ab46004803603810190610aaf9190613365565b61179b565b005b348015610ac257600080fd5b50610acb611a26565b604051610ad8919061301d565b60405180910390f35b348015610aed57600080fd5b50610af6611a2c565b604051610b03919061344d565b60405180910390f35b348015610b1857600080fd5b50610b21611a52565b604051610b2e91906131dd565b60405180910390f35b348015610b4357600080fd5b50610b5e6004803603810190610b599190613495565b611a65565b604051610b6b919061301d565b60405180910390f35b348015610b8057600080fd5b50610b9b6004803603810190610b9691906131f8565b611aec565b005b348015610ba957600080fd5b50610bb2611cae565b604051610bbf91906131dd565b60405180910390f35b348015610bd457600080fd5b50610bef6004803603810190610bea91906131f8565b611cc1565b005b601f5481565b600f5481565b606060028054610c0c90613504565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3890613504565b8015610c855780601f10610c5a57610100808354040283529160200191610c85565b820191906000526020600020905b815481529060010190602001808311610c6857829003601f168201915b5050505050905090565b6000610ca3610c9c611ebf565b8484611ec7565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601454905090565b6000610d0a848484612092565b50610dcc84610d17611ebf565b610dc785604051806060016040528060288152602001613ed860289139600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d7d611ebf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b611ec7565b600190509392505050565b60125481565b601d5481565b600e5481565b6000600460009054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ecf610e33611ebf565b84610eca8560086000610e44611ebf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b611ec7565b6001905092915050565b601e5481565b610ee7611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b90613582565b60405180910390fd5b8060158190555050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b60135481565b610fcc611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105090613582565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601c60019054906101000a900460ff1681565b6110cf611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115390613582565b60405180910390fd5b8160118190555080601281905550611181601254601154611e6190919063ffffffff16565b6013819055505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600042905090565b601b5481565b601a5481565b6111c7611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124b90613582565b60405180910390fd5b601f546007600061126361140e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60175481565b60165481565b600b6020528060005260406000206000915054906101000a900460ff1681565b60115481565b611326611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113aa90613582565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611468611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ec90613582565b60405180910390fd5b80601c60016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161153e91906131dd565b60405180910390a150565b60606003805461155890613504565b80601f016020809104026020016040519081016040528092919081815260200182805461158490613504565b80156115d15780601f106115a6576101008083540402835291602001916115d1565b820191906000526020600020905b8154815290600101906020018083116115b457829003601f168201915b5050505050905090565b6000601554905090565b60055481565b60006116ae6115f8611ebf565b846116a985604051806060016040528060258152602001613f006025913960086000611622611ebf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b611ec7565b6001905092915050565b6116c0611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174490613582565b60405180910390fd5b81600e8190555080600f81905550611772600f54600e54611e6190919063ffffffff16565b6010819055505050565b6000611790611789611ebf565b8484612092565b506001905092915050565b6000600267ffffffffffffffff8111156117b8576117b76135a2565b5b6040519080825280602002602001820160405280156117e65781602001602082028036833780820191505090505b50905030816000815181106117fe576117fd6135d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a057600080fd5b505afa1580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d89190613615565b816001815181106118ec576118eb6135d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061195330601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ec7565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119b795949392919061373b565b600060405180830381600087803b1580156119d157600080fd5b505af11580156119e5573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611a1a929190613795565b60405180910390a15050565b60105481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60029054906101000a900460ff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611af4611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7890613582565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be890613837565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601c60039054906101000a900460ff1681565b611cc9611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4d90613582565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e05576000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e5e565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000808284611e709190613886565b905083811015611eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eac90613928565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2e906139ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e90613a4c565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612085919061301d565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fa90613ade565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216a90613b70565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f790613bdc565b60405180910390fd5b601c60009054906101000a900460ff161561222757612220848484612768565b90506126fd565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122cb5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561231657601754821115612315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230c90613c6e565b60405180910390fd5b5b6000612321306112a3565b9050600060155482101590508080156123475750601c60009054906101000a900460ff16155b801561239d5750600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123b55750601c60019054906101000a900460ff165b156123df57601c60029054906101000a900460ff16156123d55760155491505b6123de8261293b565b5b612468846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061254e5750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6125625761255d878787612b2c565b612564565b845b9050601c60039054906101000a900460ff1680156125cc5750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156125fb576016546125ef826125e1896112a3565b611e6190919063ffffffff16565b11156125fa57600080fd5b5b61264d81600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126ed919061301d565b60405180910390a3600193505050505b9392505050565b600083831115829061274c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274391906130d1565b60405180910390fd5b506000838561275b9190613c8e565b9050809150509392505050565b60006127f3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061288882600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612928919061301d565b60405180910390a3600190509392505050565b6001601c60006101000a81548160ff02191690831515021790555060006129946002612986600554612978601b5487612d5390919063ffffffff16565b612dce90919063ffffffff16565b612dce90919063ffffffff16565b905060006129ab8284612e1890919063ffffffff16565b90506129b68161179b565b600047905060006129e76129d66002601b54612dce90919063ffffffff16565b600554612e1890919063ffffffff16565b90506000612a256002612a1784612a09601b5488612d5390919063ffffffff16565b612dce90919063ffffffff16565b612dce90919063ffffffff16565b90506000612a5083612a42601a5487612d5390919063ffffffff16565b612dce90919063ffffffff16565b90506000612a7982612a6b8588612e1890919063ffffffff16565b612e1890919063ffffffff16565b90506000811115612ab157612ab0600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612e62565b5b6000821115612ae757612ae6600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612e62565b5b600083118015612af75750600087115b15612b0757612b068784612ead565b5b505050505050506000601c60006101000a81548160ff02191690831515021790555050565b60008060009050600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612bb457612bad6064612b9f60105486612d5390919063ffffffff16565b612dce90919063ffffffff16565b9050612c32565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c3157612c2e6064612c2060135486612d5390919063ffffffff16565b612dce90919063ffffffff16565b90505b5b6000811115612d3657612c8d81600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d2d919061301d565b60405180910390a35b612d498184612e1890919063ffffffff16565b9150509392505050565b600080831415612d665760009050612dc8565b60008284612d749190613cc2565b9050828482612d839190613d4b565b14612dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dba90613dee565b60405180910390fd5b809150505b92915050565b6000612e1083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612fa1565b905092915050565b6000612e5a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612704565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612ea8573d6000803e3d6000fd5b505050565b612eda30601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ec7565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612f26611437565b426040518863ffffffff1660e01b8152600401612f4896959493929190613e0e565b6060604051808303818588803b158015612f6157600080fd5b505af1158015612f75573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f9a9190613e84565b5050505050565b60008083118290612fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fdf91906130d1565b60405180910390fd5b5060008385612ff79190613d4b565b9050809150509392505050565b6000819050919050565b61301781613004565b82525050565b6000602082019050613032600083018461300e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613072578082015181840152602081019050613057565b83811115613081576000848401525b50505050565b6000601f19601f8301169050919050565b60006130a382613038565b6130ad8185613043565b93506130bd818560208601613054565b6130c681613087565b840191505092915050565b600060208201905081810360008301526130eb8184613098565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613123826130f8565b9050919050565b61313381613118565b811461313e57600080fd5b50565b6000813590506131508161312a565b92915050565b61315f81613004565b811461316a57600080fd5b50565b60008135905061317c81613156565b92915050565b60008060408385031215613199576131986130f3565b5b60006131a785828601613141565b92505060206131b88582860161316d565b9150509250929050565b60008115159050919050565b6131d7816131c2565b82525050565b60006020820190506131f260008301846131ce565b92915050565b60006020828403121561320e5761320d6130f3565b5b600061321c84828501613141565b91505092915050565b6000819050919050565b600061324a613245613240846130f8565b613225565b6130f8565b9050919050565b600061325c8261322f565b9050919050565b600061326e82613251565b9050919050565b61327e81613263565b82525050565b60006020820190506132996000830184613275565b92915050565b6000806000606084860312156132b8576132b76130f3565b5b60006132c686828701613141565b93505060206132d786828701613141565b92505060406132e88682870161316d565b9150509250925092565b600060ff82169050919050565b613308816132f2565b82525050565b600060208201905061332360008301846132ff565b92915050565b6000613334826130f8565b9050919050565b61334481613329565b82525050565b600060208201905061335f600083018461333b565b92915050565b60006020828403121561337b5761337a6130f3565b5b60006133898482850161316d565b91505092915050565b61339b816131c2565b81146133a657600080fd5b50565b6000813590506133b881613392565b92915050565b600080604083850312156133d5576133d46130f3565b5b60006133e385828601613141565b92505060206133f4858286016133a9565b9150509250929050565b60008060408385031215613415576134146130f3565b5b60006134238582860161316d565b92505060206134348582860161316d565b9150509250929050565b61344781613118565b82525050565b6000602082019050613462600083018461343e565b92915050565b60006020828403121561347e5761347d6130f3565b5b600061348c848285016133a9565b91505092915050565b600080604083850312156134ac576134ab6130f3565b5b60006134ba85828601613141565b92505060206134cb85828601613141565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061351c57607f821691505b602082108114156135305761352f6134d5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061356c602083613043565b915061357782613536565b602082019050919050565b6000602082019050818103600083015261359b8161355f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061360f8161312a565b92915050565b60006020828403121561362b5761362a6130f3565b5b600061363984828501613600565b91505092915050565b6000819050919050565b600061366761366261365d84613642565b613225565b613004565b9050919050565b6136778161364c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136b281613118565b82525050565b60006136c483836136a9565b60208301905092915050565b6000602082019050919050565b60006136e88261367d565b6136f28185613688565b93506136fd83613699565b8060005b8381101561372e57815161371588826136b8565b9750613720836136d0565b925050600181019050613701565b5085935050505092915050565b600060a082019050613750600083018861300e565b61375d602083018761366e565b818103604083015261376f81866136dd565b905061377e606083018561343e565b61378b608083018461300e565b9695505050505050565b60006040820190506137aa600083018561300e565b81810360208301526137bc81846136dd565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613821602683613043565b915061382c826137c5565b604082019050919050565b6000602082019050818103600083015261385081613814565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061389182613004565b915061389c83613004565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138d1576138d0613857565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613912601b83613043565b915061391d826138dc565b602082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139a4602483613043565b91506139af82613948565b604082019050919050565b600060208201905081810360008301526139d381613997565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a36602283613043565b9150613a41826139da565b604082019050919050565b60006020820190508181036000830152613a6581613a29565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ac8602583613043565b9150613ad382613a6c565b604082019050919050565b60006020820190508181036000830152613af781613abb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b5a602383613043565b9150613b6582613afe565b604082019050919050565b60006020820190508181036000830152613b8981613b4d565b9050919050565b7f4163636f756e74206973206120536e6970657200000000000000000000000000600082015250565b6000613bc6601383613043565b9150613bd182613b90565b602082019050919050565b60006020820190508181036000830152613bf581613bb9565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613c58602883613043565b9150613c6382613bfc565b604082019050919050565b60006020820190508181036000830152613c8781613c4b565b9050919050565b6000613c9982613004565b9150613ca483613004565b925082821015613cb757613cb6613857565b5b828203905092915050565b6000613ccd82613004565b9150613cd883613004565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613d1157613d10613857565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d5682613004565b9150613d6183613004565b925082613d7157613d70613d1c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613dd8602183613043565b9150613de382613d7c565b604082019050919050565b60006020820190508181036000830152613e0781613dcb565b9050919050565b600060c082019050613e23600083018961343e565b613e30602083018861300e565b613e3d604083018761366e565b613e4a606083018661366e565b613e57608083018561343e565b613e6460a083018461300e565b979650505050505050565b600081519050613e7e81613156565b92915050565b600080600060608486031215613e9d57613e9c6130f3565b5b6000613eab86828701613e6f565b9350506020613ebc86828701613e6f565b9250506040613ecd86828701613e6f565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f7d3c0d818eb86c4d9b635c095c1a40d7d2688d07effd4525138df9dcc2e23f464736f6c63430008090033
Deployed Bytecode
0x6080604052600436106102cd5760003560e01c806361a23c6911610175578063a073d37f116100dc578063baeb7a7d11610095578063dd62ed3e1161006f578063dd62ed3e14610b37578063f2fde38b14610b74578063f872858a14610b9d578063fe458d8914610bc8576102d4565b8063baeb7a7d14610ab6578063c816841b14610ae1578063da00097d14610b0c576102d4565b8063a073d37f14610994578063a08e671f146109bf578063a457c2d7146109ea578063a6ce361414610a27578063a9059cbb14610a50578063b28805f414610a8d576102d4565b806384141be31161012e57806384141be314610896578063844d591c146108c1578063893d20e8146108ea5780638da5cb5b1461091557806394faf34e1461094057806395d89b4114610969576102d4565b806361a23c69146107845780636e4ee811146107af57806370a08231146107c65780637d1db4a514610803578063807c2d9c1461082e578063825e43c514610859576102d4565b8063340fe40d116102345780633ef94721116101ed5780634f9e0722116101c75780634f9e0722146106c85780635342acb4146106f1578063557ed1ba1461072e57806357a5802f14610759576102d4565b80633ef94721146106495780633ff6f002146106745780634a74bb021461069d576102d4565b8063340fe40d14610513578063395093511461053e5780633b50a9121461057b5780633b97084a146105a65780633d180810146105cf5780633ecad2711461060c576102d4565b806318160ddd1161028657806318160ddd146103ff57806323b872dd1461042a57806325acf340146104675780632f01901d146104925780632fd49a14146104bd578063313ce567146104e8576102d4565b806302ae592f146102d95780630540eb521461030457806306fdde031461032f578063095ea7b31461035a5780630f3a325f146103975780631694505e146103d4576102d4565b366102d457005b600080fd5b3480156102e557600080fd5b506102ee610bf1565b6040516102fb919061301d565b60405180910390f35b34801561031057600080fd5b50610319610bf7565b604051610326919061301d565b60405180910390f35b34801561033b57600080fd5b50610344610bfd565b60405161035191906130d1565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190613182565b610c8f565b60405161038e91906131dd565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b991906131f8565b610cad565b6040516103cb91906131dd565b60405180910390f35b3480156103e057600080fd5b506103e9610ccd565b6040516103f69190613284565b60405180910390f35b34801561040b57600080fd5b50610414610cf3565b604051610421919061301d565b60405180910390f35b34801561043657600080fd5b50610451600480360381019061044c919061329f565b610cfd565b60405161045e91906131dd565b60405180910390f35b34801561047357600080fd5b5061047c610dd7565b604051610489919061301d565b60405180910390f35b34801561049e57600080fd5b506104a7610ddd565b6040516104b4919061301d565b60405180910390f35b3480156104c957600080fd5b506104d2610de3565b6040516104df919061301d565b60405180910390f35b3480156104f457600080fd5b506104fd610de9565b60405161050a919061330e565b60405180910390f35b34801561051f57600080fd5b50610528610e00565b604051610535919061334a565b60405180910390f35b34801561054a57600080fd5b5061056560048036038101906105609190613182565b610e26565b60405161057291906131dd565b60405180910390f35b34801561058757600080fd5b50610590610ed9565b60405161059d919061301d565b60405180910390f35b3480156105b257600080fd5b506105cd60048036038101906105c89190613365565b610edf565b005b3480156105db57600080fd5b506105f660048036038101906105f191906131f8565b610f7e565b60405161060391906131dd565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e91906131f8565b610f9e565b60405161064091906131dd565b60405180910390f35b34801561065557600080fd5b5061065e610fbe565b60405161066b919061301d565b60405180910390f35b34801561068057600080fd5b5061069b600480360381019061069691906133be565b610fc4565b005b3480156106a957600080fd5b506106b26110b4565b6040516106bf91906131dd565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea91906133fe565b6110c7565b005b3480156106fd57600080fd5b50610718600480360381019061071391906131f8565b61118b565b60405161072591906131dd565b60405180910390f35b34801561073a57600080fd5b506107436111ab565b604051610750919061301d565b60405180910390f35b34801561076557600080fd5b5061076e6111b3565b60405161077b919061301d565b60405180910390f35b34801561079057600080fd5b506107996111b9565b6040516107a6919061301d565b60405180910390f35b3480156107bb57600080fd5b506107c46111bf565b005b3480156107d257600080fd5b506107ed60048036038101906107e891906131f8565b6112a3565b6040516107fa919061301d565b60405180910390f35b34801561080f57600080fd5b506108186112ec565b604051610825919061301d565b60405180910390f35b34801561083a57600080fd5b506108436112f2565b604051610850919061301d565b60405180910390f35b34801561086557600080fd5b50610880600480360381019061087b91906131f8565b6112f8565b60405161088d91906131dd565b60405180910390f35b3480156108a257600080fd5b506108ab611318565b6040516108b8919061301d565b60405180910390f35b3480156108cd57600080fd5b506108e860048036038101906108e391906133be565b61131e565b005b3480156108f657600080fd5b506108ff61140e565b60405161090c919061344d565b60405180910390f35b34801561092157600080fd5b5061092a611437565b604051610937919061344d565b60405180910390f35b34801561094c57600080fd5b5061096760048036038101906109629190613468565b611460565b005b34801561097557600080fd5b5061097e611549565b60405161098b91906130d1565b60405180910390f35b3480156109a057600080fd5b506109a96115db565b6040516109b6919061301d565b60405180910390f35b3480156109cb57600080fd5b506109d46115e5565b6040516109e1919061301d565b60405180910390f35b3480156109f657600080fd5b50610a116004803603810190610a0c9190613182565b6115eb565b604051610a1e91906131dd565b60405180910390f35b348015610a3357600080fd5b50610a4e6004803603810190610a4991906133fe565b6116b8565b005b348015610a5c57600080fd5b50610a776004803603810190610a729190613182565b61177c565b604051610a8491906131dd565b60405180910390f35b348015610a9957600080fd5b50610ab46004803603810190610aaf9190613365565b61179b565b005b348015610ac257600080fd5b50610acb611a26565b604051610ad8919061301d565b60405180910390f35b348015610aed57600080fd5b50610af6611a2c565b604051610b03919061344d565b60405180910390f35b348015610b1857600080fd5b50610b21611a52565b604051610b2e91906131dd565b60405180910390f35b348015610b4357600080fd5b50610b5e6004803603810190610b599190613495565b611a65565b604051610b6b919061301d565b60405180910390f35b348015610b8057600080fd5b50610b9b6004803603810190610b9691906131f8565b611aec565b005b348015610ba957600080fd5b50610bb2611cae565b604051610bbf91906131dd565b60405180910390f35b348015610bd457600080fd5b50610bef6004803603810190610bea91906131f8565b611cc1565b005b601f5481565b600f5481565b606060028054610c0c90613504565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3890613504565b8015610c855780601f10610c5a57610100808354040283529160200191610c85565b820191906000526020600020905b815481529060010190602001808311610c6857829003601f168201915b5050505050905090565b6000610ca3610c9c611ebf565b8484611ec7565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601454905090565b6000610d0a848484612092565b50610dcc84610d17611ebf565b610dc785604051806060016040528060288152602001613ed860289139600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d7d611ebf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b611ec7565b600190509392505050565b60125481565b601d5481565b600e5481565b6000600460009054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ecf610e33611ebf565b84610eca8560086000610e44611ebf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b611ec7565b6001905092915050565b601e5481565b610ee7611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b90613582565b60405180910390fd5b8060158190555050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b60135481565b610fcc611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611059576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105090613582565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601c60019054906101000a900460ff1681565b6110cf611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115390613582565b60405180910390fd5b8160118190555080601281905550611181601254601154611e6190919063ffffffff16565b6013819055505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600042905090565b601b5481565b601a5481565b6111c7611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124b90613582565b60405180910390fd5b601f546007600061126361140e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60175481565b60165481565b600b6020528060005260406000206000915054906101000a900460ff1681565b60115481565b611326611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113aa90613582565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611468611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ec90613582565b60405180910390fd5b80601c60016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161153e91906131dd565b60405180910390a150565b60606003805461155890613504565b80601f016020809104026020016040519081016040528092919081815260200182805461158490613504565b80156115d15780601f106115a6576101008083540402835291602001916115d1565b820191906000526020600020905b8154815290600101906020018083116115b457829003601f168201915b5050505050905090565b6000601554905090565b60055481565b60006116ae6115f8611ebf565b846116a985604051806060016040528060258152602001613f006025913960086000611622611ebf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b611ec7565b6001905092915050565b6116c0611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174490613582565b60405180910390fd5b81600e8190555080600f81905550611772600f54600e54611e6190919063ffffffff16565b6010819055505050565b6000611790611789611ebf565b8484612092565b506001905092915050565b6000600267ffffffffffffffff8111156117b8576117b76135a2565b5b6040519080825280602002602001820160405280156117e65781602001602082028036833780820191505090505b50905030816000815181106117fe576117fd6135d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a057600080fd5b505afa1580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d89190613615565b816001815181106118ec576118eb6135d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061195330601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ec7565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119b795949392919061373b565b600060405180830381600087803b1580156119d157600080fd5b505af11580156119e5573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611a1a929190613795565b60405180910390a15050565b60105481565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60029054906101000a900460ff1681565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611af4611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7890613582565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be890613837565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601c60039054906101000a900460ff1681565b611cc9611ebf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4d90613582565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e05576000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e5e565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000808284611e709190613886565b905083811015611eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eac90613928565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2e906139ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e90613a4c565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612085919061301d565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fa90613ade565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216a90613b70565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f790613bdc565b60405180910390fd5b601c60009054906101000a900460ff161561222757612220848484612768565b90506126fd565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122cb5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561231657601754821115612315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230c90613c6e565b60405180910390fd5b5b6000612321306112a3565b9050600060155482101590508080156123475750601c60009054906101000a900460ff16155b801561239d5750600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123b55750601c60019054906101000a900460ff165b156123df57601c60029054906101000a900460ff16156123d55760155491505b6123de8261293b565b5b612468846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061254e5750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6125625761255d878787612b2c565b612564565b845b9050601c60039054906101000a900460ff1680156125cc5750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156125fb576016546125ef826125e1896112a3565b611e6190919063ffffffff16565b11156125fa57600080fd5b5b61264d81600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126ed919061301d565b60405180910390a3600193505050505b9392505050565b600083831115829061274c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274391906130d1565b60405180910390fd5b506000838561275b9190613c8e565b9050809150509392505050565b60006127f3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127049092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061288882600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612928919061301d565b60405180910390a3600190509392505050565b6001601c60006101000a81548160ff02191690831515021790555060006129946002612986600554612978601b5487612d5390919063ffffffff16565b612dce90919063ffffffff16565b612dce90919063ffffffff16565b905060006129ab8284612e1890919063ffffffff16565b90506129b68161179b565b600047905060006129e76129d66002601b54612dce90919063ffffffff16565b600554612e1890919063ffffffff16565b90506000612a256002612a1784612a09601b5488612d5390919063ffffffff16565b612dce90919063ffffffff16565b612dce90919063ffffffff16565b90506000612a5083612a42601a5487612d5390919063ffffffff16565b612dce90919063ffffffff16565b90506000612a7982612a6b8588612e1890919063ffffffff16565b612e1890919063ffffffff16565b90506000811115612ab157612ab0600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612e62565b5b6000821115612ae757612ae6600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612e62565b5b600083118015612af75750600087115b15612b0757612b068784612ead565b5b505050505050506000601c60006101000a81548160ff02191690831515021790555050565b60008060009050600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612bb457612bad6064612b9f60105486612d5390919063ffffffff16565b612dce90919063ffffffff16565b9050612c32565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c3157612c2e6064612c2060135486612d5390919063ffffffff16565b612dce90919063ffffffff16565b90505b5b6000811115612d3657612c8d81600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6190919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d2d919061301d565b60405180910390a35b612d498184612e1890919063ffffffff16565b9150509392505050565b600080831415612d665760009050612dc8565b60008284612d749190613cc2565b9050828482612d839190613d4b565b14612dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dba90613dee565b60405180910390fd5b809150505b92915050565b6000612e1083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612fa1565b905092915050565b6000612e5a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612704565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612ea8573d6000803e3d6000fd5b505050565b612eda30601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ec7565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612f26611437565b426040518863ffffffff1660e01b8152600401612f4896959493929190613e0e565b6060604051808303818588803b158015612f6157600080fd5b505af1158015612f75573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f9a9190613e84565b5050505050565b60008083118290612fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fdf91906130d1565b60405180910390fd5b5060008385612ff79190613d4b565b9050809150509392505050565b6000819050919050565b61301781613004565b82525050565b6000602082019050613032600083018461300e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613072578082015181840152602081019050613057565b83811115613081576000848401525b50505050565b6000601f19601f8301169050919050565b60006130a382613038565b6130ad8185613043565b93506130bd818560208601613054565b6130c681613087565b840191505092915050565b600060208201905081810360008301526130eb8184613098565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613123826130f8565b9050919050565b61313381613118565b811461313e57600080fd5b50565b6000813590506131508161312a565b92915050565b61315f81613004565b811461316a57600080fd5b50565b60008135905061317c81613156565b92915050565b60008060408385031215613199576131986130f3565b5b60006131a785828601613141565b92505060206131b88582860161316d565b9150509250929050565b60008115159050919050565b6131d7816131c2565b82525050565b60006020820190506131f260008301846131ce565b92915050565b60006020828403121561320e5761320d6130f3565b5b600061321c84828501613141565b91505092915050565b6000819050919050565b600061324a613245613240846130f8565b613225565b6130f8565b9050919050565b600061325c8261322f565b9050919050565b600061326e82613251565b9050919050565b61327e81613263565b82525050565b60006020820190506132996000830184613275565b92915050565b6000806000606084860312156132b8576132b76130f3565b5b60006132c686828701613141565b93505060206132d786828701613141565b92505060406132e88682870161316d565b9150509250925092565b600060ff82169050919050565b613308816132f2565b82525050565b600060208201905061332360008301846132ff565b92915050565b6000613334826130f8565b9050919050565b61334481613329565b82525050565b600060208201905061335f600083018461333b565b92915050565b60006020828403121561337b5761337a6130f3565b5b60006133898482850161316d565b91505092915050565b61339b816131c2565b81146133a657600080fd5b50565b6000813590506133b881613392565b92915050565b600080604083850312156133d5576133d46130f3565b5b60006133e385828601613141565b92505060206133f4858286016133a9565b9150509250929050565b60008060408385031215613415576134146130f3565b5b60006134238582860161316d565b92505060206134348582860161316d565b9150509250929050565b61344781613118565b82525050565b6000602082019050613462600083018461343e565b92915050565b60006020828403121561347e5761347d6130f3565b5b600061348c848285016133a9565b91505092915050565b600080604083850312156134ac576134ab6130f3565b5b60006134ba85828601613141565b92505060206134cb85828601613141565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061351c57607f821691505b602082108114156135305761352f6134d5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061356c602083613043565b915061357782613536565b602082019050919050565b6000602082019050818103600083015261359b8161355f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061360f8161312a565b92915050565b60006020828403121561362b5761362a6130f3565b5b600061363984828501613600565b91505092915050565b6000819050919050565b600061366761366261365d84613642565b613225565b613004565b9050919050565b6136778161364c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136b281613118565b82525050565b60006136c483836136a9565b60208301905092915050565b6000602082019050919050565b60006136e88261367d565b6136f28185613688565b93506136fd83613699565b8060005b8381101561372e57815161371588826136b8565b9750613720836136d0565b925050600181019050613701565b5085935050505092915050565b600060a082019050613750600083018861300e565b61375d602083018761366e565b818103604083015261376f81866136dd565b905061377e606083018561343e565b61378b608083018461300e565b9695505050505050565b60006040820190506137aa600083018561300e565b81810360208301526137bc81846136dd565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613821602683613043565b915061382c826137c5565b604082019050919050565b6000602082019050818103600083015261385081613814565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061389182613004565b915061389c83613004565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138d1576138d0613857565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613912601b83613043565b915061391d826138dc565b602082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139a4602483613043565b91506139af82613948565b604082019050919050565b600060208201905081810360008301526139d381613997565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a36602283613043565b9150613a41826139da565b604082019050919050565b60006020820190508181036000830152613a6581613a29565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ac8602583613043565b9150613ad382613a6c565b604082019050919050565b60006020820190508181036000830152613af781613abb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b5a602383613043565b9150613b6582613afe565b604082019050919050565b60006020820190508181036000830152613b8981613b4d565b9050919050565b7f4163636f756e74206973206120536e6970657200000000000000000000000000600082015250565b6000613bc6601383613043565b9150613bd182613b90565b602082019050919050565b60006020820190508181036000830152613bf581613bb9565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613c58602883613043565b9150613c6382613bfc565b604082019050919050565b60006020820190508181036000830152613c8781613c4b565b9050919050565b6000613c9982613004565b9150613ca483613004565b925082821015613cb757613cb6613857565b5b828203905092915050565b6000613ccd82613004565b9150613cd883613004565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613d1157613d10613857565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d5682613004565b9150613d6183613004565b925082613d7157613d70613d1c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613dd8602183613043565b9150613de382613d7c565b604082019050919050565b60006020820190508181036000830152613e0781613dcb565b9050919050565b600060c082019050613e23600083018961343e565b613e30602083018861300e565b613e3d604083018761366e565b613e4a606083018661366e565b613e57608083018561343e565b613e6460a083018461300e565b979650505050505050565b600081519050613e7e81613156565b92915050565b600080600060608486031215613e9d57613e9c6130f3565b5b6000613eab86828701613e6f565b9350506020613ebc86828701613e6f565b9250506040613ecd86828701613e6f565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f7d3c0d818eb86c4d9b635c095c1a40d7d2688d07effd4525138df9dcc2e23f464736f6c63430008090033
Deployed Bytecode Sourcemap
14050:12018:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15810:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14891:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17505:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18802:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14580:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15359;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17782:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20969:303;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15016:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15696:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14849:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17596:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14355:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18171:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15754:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20100:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14740:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14791:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15059:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19961:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15555:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19451:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14628:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6119:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15484:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15442:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20588:99;;;;;;;;;;;;;:::i;:::-;;17890:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15295:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15236:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14685:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14973:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19314:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5645:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5551:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20232:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17687:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18674:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14302:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18397:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19709:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20801:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24357:521;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14933:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15407:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15602:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18020:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5863:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15654:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25258:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15810:71;;;;:::o;14891:35::-;;;;:::o;17505:83::-;17542:13;17575:5;17568:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17505:83;:::o;18802:161::-;18877:4;18894:39;18903:12;:10;:12::i;:::-;18917:7;18926:6;18894:8;:39::i;:::-;18951:4;18944:11;;18802:161;;;;:::o;14580:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;15359:::-;;;;;;;;;;;;;:::o;17782:100::-;17835:7;17862:12;;17855:19;;17782:100;:::o;20969:303::-;21067:4;21084:36;21094:6;21102:9;21113:6;21084:9;:36::i;:::-;;21131:121;21140:6;21148:12;:10;:12::i;:::-;21162:89;21200:6;21162:89;;;;;;;;;;;;;;;;;:11;:19;21174:6;21162:19;;;;;;;;;;;;;;;:33;21182:12;:10;:12::i;:::-;21162:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;21131:8;:121::i;:::-;21260:4;21253:11;;20969:303;;;;;:::o;15016:36::-;;;;:::o;15696:51::-;;;;:::o;14849:35::-;;;;:::o;17596:83::-;17637:5;17662:9;;;;;;;;;;;17655:16;;17596:83;:::o;14355:92::-;;;;;;;;;;;;;:::o;18171:218::-;18259:4;18276:83;18285:12;:10;:12::i;:::-;18299:7;18308:50;18347:10;18308:11;:25;18320:12;:10;:12::i;:::-;18308:25;;;;;;;;;;;;;;;:34;18334:7;18308:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18276:8;:83::i;:::-;18377:4;18370:11;;18171:218;;;;:::o;15754:49::-;;;;:::o;20100:124::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20208:8:::1;20182:23;:34;;;;20100:124:::0;:::o;14740:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;14791:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;15059:32::-;;;;:::o;19961:131::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20078:6:::1;20052:15;:23;20068:6;20052:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;19961:131:::0;;:::o;15555:40::-;;;;;;;;;;;;;:::o;19451:250::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19571:12:::1;19551:17;:32;;;;19614:12;19594:17;:32;;;;19653:40;19675:17;;19653;;:21;;:40;;;;:::i;:::-;19637:13;:56;;;;19451:250:::0;;:::o;14628:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6119:90::-;6159:7;6186:15;6179:22;;6119:90;:::o;15484:34::-;;;;:::o;15442:35::-;;;;:::o;20588:99::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20667:17:::1;;20640:12;:24;20653:10;:8;:10::i;:::-;20640:24;;;;;;;;;;;;;;;:44;;;;20588:99::o:0;17890:122::-;17956:7;17983:12;:21;17996:7;17983:21;;;;;;;;;;;;;;;;17976:28;;17890:122;;;:::o;15295:53::-;;;;:::o;15236:51::-;;;;:::o;14685:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;14973:36::-;;;;:::o;19314:129::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19427:8:::1;19403:12;:21;19416:7;19403:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;19314:129:::0;;:::o;5645:82::-;5686:7;5713:6;;;;;;;;;;;5706:13;;5645:82;:::o;5551:79::-;5589:7;5616:6;;;;;;;;;;;5609:13;;5551:79;:::o;20232:172::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20334:8:::1;20310:21;;:32;;;;;;;;;;;;;;;;;;20358:38;20387:8;20358:38;;;;;;:::i;:::-;;;;;;;;20232:172:::0;:::o;17687:87::-;17726:13;17759:7;17752:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17687:87;:::o;18674:120::-;18736:7;18763:23;;18756:30;;18674:120;:::o;14302:44::-;;;;:::o;18397:269::-;18490:4;18507:129;18516:12;:10;:12::i;:::-;18530:7;18539:96;18578:15;18539:96;;;;;;;;;;;;;;;;;:11;:25;18551:12;:10;:12::i;:::-;18539:25;;;;;;;;;;;;;;;:34;18565:7;18539:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18507:8;:129::i;:::-;18654:4;18647:11;;18397:269;;;;:::o;19709:244::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19827:12:::1;19808:16;:31;;;;19869:12;19850:16;:31;;;;19907:38;19928:16;;19907;;:20;;:38;;;;:::i;:::-;19892:12;:53;;;;19709:244:::0;;:::o;20801:157::-;20879:4;20896:42;20906:12;:10;:12::i;:::-;20920:9;20931:6;20896:9;:42::i;:::-;;20946:4;20939:11;;20801:157;;;;:::o;24357:521::-;24422:21;24460:1;24446:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24422:40;;24491:4;24473;24478:1;24473:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;24517:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24507:4;24512:1;24507:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;24550:62;24567:4;24582:15;;;;;;;;;;;24600:11;24550:8;:62::i;:::-;24623:15;;;;;;;;;;;:66;;;24704:11;24730:1;24746:4;24773;24793:15;24623:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24835:35;24852:11;24865:4;24835:35;;;;;;;:::i;:::-;;;;;;;;24411:467;24357:521;:::o;14933:31::-;;;;:::o;15407:26::-;;;;;;;;;;;;;:::o;15602:45::-;;;;;;;;;;;;;:::o;18020:143::-;18101:7;18128:11;:18;18140:5;18128:18;;;;;;;;;;;;;;;:27;18147:7;18128:27;;;;;;;;;;;;;;;;18121:34;;18020:143;;;;:::o;5863:244::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5972:1:::1;5952:22;;:8;:22;;;;5944:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6062:8;6033:38;;6054:6;::::0;::::1;;;;;;;;6033:38;;;;;;;;;;;;6091:8;6082:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5863:244:::0;:::o;15654:35::-;;;;;;;;;;;;;:::o;25258:213::-;5786:12;:10;:12::i;:::-;5776:22;;:6;;;;;;;;;;:22;;;5768:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25333:8:::1;:18;25342:8;25333:18;;;;;;;;;;;;;;;;;;;;;;;;;25329:135;;;25389:5;25368:8;:18;25377:8;25368:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;25329:135;;;25448:4;25427:8;:18;25436:8;25427:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;25329:135;25258:213:::0;:::o;1205:181::-;1263:7;1283:9;1299:1;1295;:5;;;;:::i;:::-;1283:17;;1324:1;1319;:6;;1311:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1377:1;1370:8;;;1205:181;;;;:::o;141:115::-;194:15;237:10;222:26;;141:115;:::o;18971:335::-;19081:1;19064:19;;:5;:19;;;;19056:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19162:1;19143:21;;:7;:21;;;;19135:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19244:6;19214:11;:18;19226:5;19214:18;;;;;;;;;;;;;;;:27;19233:7;19214:27;;;;;;;;;;;;;;;:36;;;;19282:7;19266:32;;19275:5;19266:32;;;19291:6;19266:32;;;;;;:::i;:::-;;;;;;;;18971:335;;;:::o;21280:1678::-;21367:4;21410:1;21392:20;;:6;:20;;;;21384:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21494:1;21473:23;;:9;:23;;;;21465:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21556:8;:16;21565:6;21556:16;;;;;;;;;;;;;;;;;;;;;;;;;21555:17;21547:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;21610:16;;;;;;;;;;;21607:1344;;;21660:41;21675:6;21683:9;21694:6;21660:14;:41::i;:::-;21653:48;;;;21607:1344;21757:11;:19;21769:6;21757:19;;;;;;;;;;;;;;;;;;;;;;;;;21756:20;:47;;;;;21781:11;:22;21793:9;21781:22;;;;;;;;;;;;;;;;;;;;;;;;;21780:23;21756:47;21753:162;;;21842:12;;21832:6;:22;;21824:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;21753:162;21929:28;21960:24;21978:4;21960:9;:24::i;:::-;21929:55;;21999:28;22054:23;;22030:20;:47;;21999:78;;22096:23;:44;;;;;22124:16;;;;;;;;;;;22123:17;22096:44;:69;;;;;22145:12;:20;22158:6;22145:20;;;;;;;;;;;;;;;;;;;;;;;;;22144:21;22096:69;:94;;;;;22169:21;;;;;;;;;;;22096:94;22092:305;;;22228:25;;;;;;;;;;;22225:97;;;22299:23;;22276:46;;22225:97;22341:36;22356:20;22341:14;:36::i;:::-;22092:305;22434:56;22459:6;22434:56;;;;;;;;;;;;;;;;;:12;:20;22447:6;22434:20;;;;;;;;;;;;;;;;:24;;:56;;;;;:::i;:::-;22411:12;:20;22424:6;22411:20;;;;;;;;;;;;;;;:79;;;;22505:19;22528:17;:25;22546:6;22528:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;22557:17;:28;22575:9;22557:28;;;;;;;;;;;;;;;;;;;;;;;;;22528:57;22527:105;;22598:34;22606:6;22614:9;22625:6;22598:7;:34::i;:::-;22527:105;;;22589:6;22527:105;22505:127;;22650:16;;;;;;;;;;;:47;;;;;22671:15;:26;22687:9;22671:26;;;;;;;;;;;;;;;;;;;;;;;;;22670:27;22650:47;22647:125;;;22761:10;;22720:37;22745:11;22720:20;22730:9;22720;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;22712:60;;;;;;22647:125;22813:40;22841:11;22813:12;:23;22826:9;22813:23;;;;;;;;;;;;;;;;:27;;:40;;;;:::i;:::-;22787:12;:23;22800:9;22787:23;;;;;;;;;;;;;;;:66;;;;22890:9;22873:40;;22882:6;22873:40;;;22901:11;22873:40;;;;;;:::i;:::-;;;;;;;;22935:4;22928:11;;;;;21280:1678;;;;;;:::o;1538:192::-;1624:7;1657:1;1652;:6;;1660:12;1644:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1684:9;1700:1;1696;:5;;;;:::i;:::-;1684:17;;1721:1;1714:8;;;1538:192;;;;;:::o;22966:342::-;23059:4;23099:56;23124:6;23099:56;;;;;;;;;;;;;;;;;:12;:20;23112:6;23099:20;;;;;;;;;;;;;;;;:24;;:56;;;;;:::i;:::-;23076:12;:20;23089:6;23076:20;;;;;;;;;;;;;;;:79;;;;23192:35;23220:6;23192:12;:23;23205:9;23192:23;;;;;;;;;;;;;;;;:27;;:35;;;;:::i;:::-;23166:12;:23;23179:9;23166:23;;;;;;;;;;;;;;;:61;;;;23260:9;23243:35;;23252:6;23243:35;;;23271:6;23243:35;;;;;;:::i;:::-;;;;;;;;23296:4;23289:11;;22966:342;;;;;:::o;23316:1029::-;16327:4;16308:16;;:23;;;;;;;;;;;;;;;;;;23389:19:::1;23411:65;23474:1;23411:58;23444:24;;23411:28;23423:15;;23411:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;23389:87;;23487:21;23511:24;23523:11;23511:7;:11;;:24;;;;:::i;:::-;23487:48;;23548:31;23565:13;23548:16;:31::i;:::-;23590:22;23615:21;23590:46;;23647:19;23669:52;23698:22;23718:1;23698:15;;:19;;:22;;;;:::i;:::-;23669:24;;:28;;:52;;;;:::i;:::-;23647:74;;23742:26;23771:59;23828:1;23771:52;23811:11;23771:35;23790:15;;23771:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;23742:88;;23841:21;23865:52;23905:11;23865:35;23884:15;;23865:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;23841:76;;23928:26;23957:57;24000:13;23957:38;23976:18;23957:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;23928:86;;24051:1;24030:18;:22;24027:97;;;24067:57;24088:15;;;;;;;;;;;24105:18;24067:20;:57::i;:::-;24027:97;24154:1;24138:13;:17;24135:87;;;24170:52;24191:15;;;;;;;;;;;24208:13;24170:20;:52::i;:::-;24135:87;24257:1;24236:18;:22;:41;;;;;24276:1;24262:11;:15;24236:41;24233:104;;;24292:45;24305:11;24318:18;24292:12;:45::i;:::-;24233:104;23378:967;;;;;;;16373:5:::0;16354:16;;:24;;;;;;;;;;;;;;;;;;23316:1029;:::o;25479:586::-;25565:7;25585:17;25605:1;25585:21;;25620:12;:20;25633:6;25620:20;;;;;;;;;;;;;;;;;;;;;;;;;25617:213;;;25669:33;25698:3;25669:24;25680:12;;25669:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;25657:45;;25617:213;;;25732:12;:23;25745:9;25732:23;;;;;;;;;;;;;;;;;;;;;;;;;25729:101;;;25784:34;25814:3;25784:25;25795:13;;25784:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;25772:46;;25729:101;25617:213;25855:1;25843:9;:13;25840:179;;;25903:42;25935:9;25903:12;:27;25924:4;25903:27;;;;;;;;;;;;;;;;:31;;:42;;;;:::i;:::-;25873:12;:27;25894:4;25873:27;;;;;;;;;;;;;;;:72;;;;25990:4;25965:42;;25974:6;25965:42;;;25997:9;25965:42;;;;;;:::i;:::-;;;;;;;;25840:179;26036:21;26047:9;26036:6;:10;;:21;;;;:::i;:::-;26029:28;;;25479:586;;;;;:::o;1738:250::-;1796:7;1825:1;1820;:6;1816:47;;;1850:1;1843:8;;;;1816:47;1875:9;1891:1;1887;:5;;;;:::i;:::-;1875:17;;1920:1;1915;1911;:5;;;;:::i;:::-;:10;1903:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1979:1;1972:8;;;1738:250;;;;;:::o;1996:132::-;2054:7;2081:39;2085:1;2088;2081:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2074:46;;1996:132;;;;:::o;1394:136::-;1452:7;1479:43;1483:1;1486;1479:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1472:50;;1394:136;;;;:::o;20412:126::-;20504:9;:18;;:26;20523:6;20504:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20412:126;;:::o;24886:362::-;24967:62;24984:4;24999:15;;;;;;;;;;;25017:11;24967:8;:62::i;:::-;25040:15;;;;;;;;;;;:31;;;25079:9;25112:4;25132:11;25158:1;25175;25192:7;:5;:7::i;:::-;25214:15;25040:200;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;24886:362;;:::o;2136:278::-;2222:7;2254:1;2250;:5;2257:12;2242:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2281:9;2297:1;2293;:5;;;;:::i;:::-;2281:17;;2405:1;2398:8;;;2136:278;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:329::-;3905:6;3954:2;3942:9;3933:7;3929:23;3925:32;3922:119;;;3960:79;;:::i;:::-;3922:119;4080:1;4105:53;4150:7;4141:6;4130:9;4126:22;4105:53;:::i;:::-;4095:63;;4051:117;3846:329;;;;:::o;4181:60::-;4209:3;4230:5;4223:12;;4181:60;;;:::o;4247:142::-;4297:9;4330:53;4348:34;4357:24;4375:5;4357:24;:::i;:::-;4348:34;:::i;:::-;4330:53;:::i;:::-;4317:66;;4247:142;;;:::o;4395:126::-;4445:9;4478:37;4509:5;4478:37;:::i;:::-;4465:50;;4395:126;;;:::o;4527:153::-;4604:9;4637:37;4668:5;4637:37;:::i;:::-;4624:50;;4527:153;;;:::o;4686:185::-;4800:64;4858:5;4800:64;:::i;:::-;4795:3;4788:77;4686:185;;:::o;4877:276::-;4997:4;5035:2;5024:9;5020:18;5012:26;;5048:98;5143:1;5132:9;5128:17;5119:6;5048:98;:::i;:::-;4877:276;;;;:::o;5159:619::-;5236:6;5244;5252;5301:2;5289:9;5280:7;5276:23;5272:32;5269:119;;;5307:79;;:::i;:::-;5269:119;5427:1;5452:53;5497:7;5488:6;5477:9;5473:22;5452:53;:::i;:::-;5442:63;;5398:117;5554:2;5580:53;5625:7;5616:6;5605:9;5601:22;5580:53;:::i;:::-;5570:63;;5525:118;5682:2;5708:53;5753:7;5744:6;5733:9;5729:22;5708:53;:::i;:::-;5698:63;;5653:118;5159:619;;;;;:::o;5784:86::-;5819:7;5859:4;5852:5;5848:16;5837:27;;5784:86;;;:::o;5876:112::-;5959:22;5975:5;5959:22;:::i;:::-;5954:3;5947:35;5876:112;;:::o;5994:214::-;6083:4;6121:2;6110:9;6106:18;6098:26;;6134:67;6198:1;6187:9;6183:17;6174:6;6134:67;:::i;:::-;5994:214;;;;:::o;6214:104::-;6259:7;6288:24;6306:5;6288:24;:::i;:::-;6277:35;;6214:104;;;:::o;6324:142::-;6427:32;6453:5;6427:32;:::i;:::-;6422:3;6415:45;6324:142;;:::o;6472:254::-;6581:4;6619:2;6608:9;6604:18;6596:26;;6632:87;6716:1;6705:9;6701:17;6692:6;6632:87;:::i;:::-;6472:254;;;;:::o;6732:329::-;6791:6;6840:2;6828:9;6819:7;6815:23;6811:32;6808:119;;;6846:79;;:::i;:::-;6808:119;6966:1;6991:53;7036:7;7027:6;7016:9;7012:22;6991:53;:::i;:::-;6981:63;;6937:117;6732:329;;;;:::o;7067:116::-;7137:21;7152:5;7137:21;:::i;:::-;7130:5;7127:32;7117:60;;7173:1;7170;7163:12;7117:60;7067:116;:::o;7189:133::-;7232:5;7270:6;7257:20;7248:29;;7286:30;7310:5;7286:30;:::i;:::-;7189:133;;;;:::o;7328:468::-;7393:6;7401;7450:2;7438:9;7429:7;7425:23;7421:32;7418:119;;;7456:79;;:::i;:::-;7418:119;7576:1;7601:53;7646:7;7637:6;7626:9;7622:22;7601:53;:::i;:::-;7591:63;;7547:117;7703:2;7729:50;7771:7;7762:6;7751:9;7747:22;7729:50;:::i;:::-;7719:60;;7674:115;7328:468;;;;;:::o;7802:474::-;7870:6;7878;7927:2;7915:9;7906:7;7902:23;7898:32;7895:119;;;7933:79;;:::i;:::-;7895:119;8053:1;8078:53;8123:7;8114:6;8103:9;8099:22;8078:53;:::i;:::-;8068:63;;8024:117;8180:2;8206:53;8251:7;8242:6;8231:9;8227:22;8206:53;:::i;:::-;8196:63;;8151:118;7802:474;;;;;:::o;8282:118::-;8369:24;8387:5;8369:24;:::i;:::-;8364:3;8357:37;8282:118;;:::o;8406:222::-;8499:4;8537:2;8526:9;8522:18;8514:26;;8550:71;8618:1;8607:9;8603:17;8594:6;8550:71;:::i;:::-;8406:222;;;;:::o;8634:323::-;8690:6;8739:2;8727:9;8718:7;8714:23;8710:32;8707:119;;;8745:79;;:::i;:::-;8707:119;8865:1;8890:50;8932:7;8923:6;8912:9;8908:22;8890:50;:::i;:::-;8880:60;;8836:114;8634:323;;;;:::o;8963:474::-;9031:6;9039;9088:2;9076:9;9067:7;9063:23;9059:32;9056:119;;;9094:79;;:::i;:::-;9056:119;9214:1;9239:53;9284:7;9275:6;9264:9;9260:22;9239:53;:::i;:::-;9229:63;;9185:117;9341:2;9367:53;9412:7;9403:6;9392:9;9388:22;9367:53;:::i;:::-;9357:63;;9312:118;8963:474;;;;;:::o;9443:180::-;9491:77;9488:1;9481:88;9588:4;9585:1;9578:15;9612:4;9609:1;9602:15;9629:320;9673:6;9710:1;9704:4;9700:12;9690:22;;9757:1;9751:4;9747:12;9778:18;9768:81;;9834:4;9826:6;9822:17;9812:27;;9768:81;9896:2;9888:6;9885:14;9865:18;9862:38;9859:84;;;9915:18;;:::i;:::-;9859:84;9680:269;9629:320;;;:::o;9955:182::-;10095:34;10091:1;10083:6;10079:14;10072:58;9955:182;:::o;10143:366::-;10285:3;10306:67;10370:2;10365:3;10306:67;:::i;:::-;10299:74;;10382:93;10471:3;10382:93;:::i;:::-;10500:2;10495:3;10491:12;10484:19;;10143:366;;;:::o;10515:419::-;10681:4;10719:2;10708:9;10704:18;10696:26;;10768:9;10762:4;10758:20;10754:1;10743:9;10739:17;10732:47;10796:131;10922:4;10796:131;:::i;:::-;10788:139;;10515:419;;;:::o;10940:180::-;10988:77;10985:1;10978:88;11085:4;11082:1;11075:15;11109:4;11106:1;11099:15;11126:180;11174:77;11171:1;11164:88;11271:4;11268:1;11261:15;11295:4;11292:1;11285:15;11312:143;11369:5;11400:6;11394:13;11385:22;;11416:33;11443:5;11416:33;:::i;:::-;11312:143;;;;:::o;11461:351::-;11531:6;11580:2;11568:9;11559:7;11555:23;11551:32;11548:119;;;11586:79;;:::i;:::-;11548:119;11706:1;11731:64;11787:7;11778:6;11767:9;11763:22;11731:64;:::i;:::-;11721:74;;11677:128;11461:351;;;;:::o;11818:85::-;11863:7;11892:5;11881:16;;11818:85;;;:::o;11909:158::-;11967:9;12000:61;12018:42;12027:32;12053:5;12027:32;:::i;:::-;12018:42;:::i;:::-;12000:61;:::i;:::-;11987:74;;11909:158;;;:::o;12073:147::-;12168:45;12207:5;12168:45;:::i;:::-;12163:3;12156:58;12073:147;;:::o;12226:114::-;12293:6;12327:5;12321:12;12311:22;;12226:114;;;:::o;12346:184::-;12445:11;12479:6;12474:3;12467:19;12519:4;12514:3;12510:14;12495:29;;12346:184;;;;:::o;12536:132::-;12603:4;12626:3;12618:11;;12656:4;12651:3;12647:14;12639:22;;12536:132;;;:::o;12674:108::-;12751:24;12769:5;12751:24;:::i;:::-;12746:3;12739:37;12674:108;;:::o;12788:179::-;12857:10;12878:46;12920:3;12912:6;12878:46;:::i;:::-;12956:4;12951:3;12947:14;12933:28;;12788:179;;;;:::o;12973:113::-;13043:4;13075;13070:3;13066:14;13058:22;;12973:113;;;:::o;13122:732::-;13241:3;13270:54;13318:5;13270:54;:::i;:::-;13340:86;13419:6;13414:3;13340:86;:::i;:::-;13333:93;;13450:56;13500:5;13450:56;:::i;:::-;13529:7;13560:1;13545:284;13570:6;13567:1;13564:13;13545:284;;;13646:6;13640:13;13673:63;13732:3;13717:13;13673:63;:::i;:::-;13666:70;;13759:60;13812:6;13759:60;:::i;:::-;13749:70;;13605:224;13592:1;13589;13585:9;13580:14;;13545:284;;;13549:14;13845:3;13838:10;;13246:608;;;13122:732;;;;:::o;13860:831::-;14123:4;14161:3;14150:9;14146:19;14138:27;;14175:71;14243:1;14232:9;14228:17;14219:6;14175:71;:::i;:::-;14256:80;14332:2;14321:9;14317:18;14308:6;14256:80;:::i;:::-;14383:9;14377:4;14373:20;14368:2;14357:9;14353:18;14346:48;14411:108;14514:4;14505:6;14411:108;:::i;:::-;14403:116;;14529:72;14597:2;14586:9;14582:18;14573:6;14529:72;:::i;:::-;14611:73;14679:3;14668:9;14664:19;14655:6;14611:73;:::i;:::-;13860:831;;;;;;;;:::o;14697:483::-;14868:4;14906:2;14895:9;14891:18;14883:26;;14919:71;14987:1;14976:9;14972:17;14963:6;14919:71;:::i;:::-;15037:9;15031:4;15027:20;15022:2;15011:9;15007:18;15000:48;15065:108;15168:4;15159:6;15065:108;:::i;:::-;15057:116;;14697:483;;;;;:::o;15186:225::-;15326:34;15322:1;15314:6;15310:14;15303:58;15395:8;15390:2;15382:6;15378:15;15371:33;15186:225;:::o;15417:366::-;15559:3;15580:67;15644:2;15639:3;15580:67;:::i;:::-;15573:74;;15656:93;15745:3;15656:93;:::i;:::-;15774:2;15769:3;15765:12;15758:19;;15417:366;;;:::o;15789:419::-;15955:4;15993:2;15982:9;15978:18;15970:26;;16042:9;16036:4;16032:20;16028:1;16017:9;16013:17;16006:47;16070:131;16196:4;16070:131;:::i;:::-;16062:139;;15789:419;;;:::o;16214:180::-;16262:77;16259:1;16252:88;16359:4;16356:1;16349:15;16383:4;16380:1;16373:15;16400:305;16440:3;16459:20;16477:1;16459:20;:::i;:::-;16454:25;;16493:20;16511:1;16493:20;:::i;:::-;16488:25;;16647:1;16579:66;16575:74;16572:1;16569:81;16566:107;;;16653:18;;:::i;:::-;16566:107;16697:1;16694;16690:9;16683:16;;16400:305;;;;:::o;16711:177::-;16851:29;16847:1;16839:6;16835:14;16828:53;16711:177;:::o;16894:366::-;17036:3;17057:67;17121:2;17116:3;17057:67;:::i;:::-;17050:74;;17133:93;17222:3;17133:93;:::i;:::-;17251:2;17246:3;17242:12;17235:19;;16894:366;;;:::o;17266:419::-;17432:4;17470:2;17459:9;17455:18;17447:26;;17519:9;17513:4;17509:20;17505:1;17494:9;17490:17;17483:47;17547:131;17673:4;17547:131;:::i;:::-;17539:139;;17266:419;;;:::o;17691:223::-;17831:34;17827:1;17819:6;17815:14;17808:58;17900:6;17895:2;17887:6;17883:15;17876:31;17691:223;:::o;17920:366::-;18062:3;18083:67;18147:2;18142:3;18083:67;:::i;:::-;18076:74;;18159:93;18248:3;18159:93;:::i;:::-;18277:2;18272:3;18268:12;18261:19;;17920:366;;;:::o;18292:419::-;18458:4;18496:2;18485:9;18481:18;18473:26;;18545:9;18539:4;18535:20;18531:1;18520:9;18516:17;18509:47;18573:131;18699:4;18573:131;:::i;:::-;18565:139;;18292:419;;;:::o;18717:221::-;18857:34;18853:1;18845:6;18841:14;18834:58;18926:4;18921:2;18913:6;18909:15;18902:29;18717:221;:::o;18944:366::-;19086:3;19107:67;19171:2;19166:3;19107:67;:::i;:::-;19100:74;;19183:93;19272:3;19183:93;:::i;:::-;19301:2;19296:3;19292:12;19285:19;;18944:366;;;:::o;19316:419::-;19482:4;19520:2;19509:9;19505:18;19497:26;;19569:9;19563:4;19559:20;19555:1;19544:9;19540:17;19533:47;19597:131;19723:4;19597:131;:::i;:::-;19589:139;;19316:419;;;:::o;19741:224::-;19881:34;19877:1;19869:6;19865:14;19858:58;19950:7;19945:2;19937:6;19933:15;19926:32;19741:224;:::o;19971:366::-;20113:3;20134:67;20198:2;20193:3;20134:67;:::i;:::-;20127:74;;20210:93;20299:3;20210:93;:::i;:::-;20328:2;20323:3;20319:12;20312:19;;19971:366;;;:::o;20343:419::-;20509:4;20547:2;20536:9;20532:18;20524:26;;20596:9;20590:4;20586:20;20582:1;20571:9;20567:17;20560:47;20624:131;20750:4;20624:131;:::i;:::-;20616:139;;20343:419;;;:::o;20768:222::-;20908:34;20904:1;20896:6;20892:14;20885:58;20977:5;20972:2;20964:6;20960:15;20953:30;20768:222;:::o;20996:366::-;21138:3;21159:67;21223:2;21218:3;21159:67;:::i;:::-;21152:74;;21235:93;21324:3;21235:93;:::i;:::-;21353:2;21348:3;21344:12;21337:19;;20996:366;;;:::o;21368:419::-;21534:4;21572:2;21561:9;21557:18;21549:26;;21621:9;21615:4;21611:20;21607:1;21596:9;21592:17;21585:47;21649:131;21775:4;21649:131;:::i;:::-;21641:139;;21368:419;;;:::o;21793:169::-;21933:21;21929:1;21921:6;21917:14;21910:45;21793:169;:::o;21968:366::-;22110:3;22131:67;22195:2;22190:3;22131:67;:::i;:::-;22124:74;;22207:93;22296:3;22207:93;:::i;:::-;22325:2;22320:3;22316:12;22309:19;;21968:366;;;:::o;22340:419::-;22506:4;22544:2;22533:9;22529:18;22521:26;;22593:9;22587:4;22583:20;22579:1;22568:9;22564:17;22557:47;22621:131;22747:4;22621:131;:::i;:::-;22613:139;;22340:419;;;:::o;22765:227::-;22905:34;22901:1;22893:6;22889:14;22882:58;22974:10;22969:2;22961:6;22957:15;22950:35;22765:227;:::o;22998:366::-;23140:3;23161:67;23225:2;23220:3;23161:67;:::i;:::-;23154:74;;23237:93;23326:3;23237:93;:::i;:::-;23355:2;23350:3;23346:12;23339:19;;22998:366;;;:::o;23370:419::-;23536:4;23574:2;23563:9;23559:18;23551:26;;23623:9;23617:4;23613:20;23609:1;23598:9;23594:17;23587:47;23651:131;23777:4;23651:131;:::i;:::-;23643:139;;23370:419;;;:::o;23795:191::-;23835:4;23855:20;23873:1;23855:20;:::i;:::-;23850:25;;23889:20;23907:1;23889:20;:::i;:::-;23884:25;;23928:1;23925;23922:8;23919:34;;;23933:18;;:::i;:::-;23919:34;23978:1;23975;23971:9;23963:17;;23795:191;;;;:::o;23992:348::-;24032:7;24055:20;24073:1;24055:20;:::i;:::-;24050:25;;24089:20;24107:1;24089:20;:::i;:::-;24084:25;;24277:1;24209:66;24205:74;24202:1;24199:81;24194:1;24187:9;24180:17;24176:105;24173:131;;;24284:18;;:::i;:::-;24173:131;24332:1;24329;24325:9;24314:20;;23992:348;;;;:::o;24346:180::-;24394:77;24391:1;24384:88;24491:4;24488:1;24481:15;24515:4;24512:1;24505:15;24532:185;24572:1;24589:20;24607:1;24589:20;:::i;:::-;24584:25;;24623:20;24641:1;24623:20;:::i;:::-;24618:25;;24662:1;24652:35;;24667:18;;:::i;:::-;24652:35;24709:1;24706;24702:9;24697:14;;24532:185;;;;:::o;24723:220::-;24863:34;24859:1;24851:6;24847:14;24840:58;24932:3;24927:2;24919:6;24915:15;24908:28;24723:220;:::o;24949:366::-;25091:3;25112:67;25176:2;25171:3;25112:67;:::i;:::-;25105:74;;25188:93;25277:3;25188:93;:::i;:::-;25306:2;25301:3;25297:12;25290:19;;24949:366;;;:::o;25321:419::-;25487:4;25525:2;25514:9;25510:18;25502:26;;25574:9;25568:4;25564:20;25560:1;25549:9;25545:17;25538:47;25602:131;25728:4;25602:131;:::i;:::-;25594:139;;25321:419;;;:::o;25746:807::-;25995:4;26033:3;26022:9;26018:19;26010:27;;26047:71;26115:1;26104:9;26100:17;26091:6;26047:71;:::i;:::-;26128:72;26196:2;26185:9;26181:18;26172:6;26128:72;:::i;:::-;26210:80;26286:2;26275:9;26271:18;26262:6;26210:80;:::i;:::-;26300;26376:2;26365:9;26361:18;26352:6;26300:80;:::i;:::-;26390:73;26458:3;26447:9;26443:19;26434:6;26390:73;:::i;:::-;26473;26541:3;26530:9;26526:19;26517:6;26473:73;:::i;:::-;25746:807;;;;;;;;;:::o;26559:143::-;26616:5;26647:6;26641:13;26632:22;;26663:33;26690:5;26663:33;:::i;:::-;26559:143;;;;:::o;26708:663::-;26796:6;26804;26812;26861:2;26849:9;26840:7;26836:23;26832:32;26829:119;;;26867:79;;:::i;:::-;26829:119;26987:1;27012:64;27068:7;27059:6;27048:9;27044:22;27012:64;:::i;:::-;27002:74;;26958:128;27125:2;27151:64;27207:7;27198:6;27187:9;27183:22;27151:64;:::i;:::-;27141:74;;27096:129;27264:2;27290:64;27346:7;27337:6;27326:9;27322:22;27290:64;:::i;:::-;27280:74;;27235:129;26708:663;;;;;:::o
Swarm Source
ipfs://f7d3c0d818eb86c4d9b635c095c1a40d7d2688d07effd4525138df9dcc2e23f4
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.