ERC-20
Overview
Max Total Supply
1,000,000,000 $JFLOKI
Holders
10
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
6,282,572.828104632469255263 $JFLOKIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
JerryFloki
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-23 */ /* JerryFloki Sometime Jerry need to keep the distance from Tommy So Jerry need you Floki Low tax 4% Max buy 3% No fud allowed! No JEET allowed Tg: https://t.me/jerryfloki */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.7; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { 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 JerryFloki is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; 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; string private _name = "Jerry Floki"; string private _symbol = "$JFLOKI"; uint8 private _decimals = 18; uint256 private _totalSupply = 1000000000 * 10**_decimals; uint256 private minimumTokensBeforeSwap = 5000000 * 10**_decimals; uint256 public _totalDistributionShares = 24; address payable public marketingaddress = payable(0x9C25Ed3baDCfFfE7b14F98EdD516893538Cc9491); uint256 public _MarketingFeeBuy = 3; uint256 public _LiquidityFeeBuy = 0; uint256 public _MarketingFeeSell = 3; uint256 public _LiquidityFeeSell = 0; uint256 public _finalBuyTax = 0; uint256 public _finalSellTax = 0; uint256 public _walletMax = 30000000 * 10**_decimals; uint256 public _maxTxAmount = 30000000 * 10**_decimals; uint256 public _mratio = 23; uint256 public _lratio = 1; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier swapIsLocked { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } 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 = _lratio.add(_mratio); 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 updatelimit(uint256 newbuylimit, uint256 newwalletlimit) external onlyOwner() { _maxTxAmount = newbuylimit; _walletMax = newwalletlimit; } 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); } 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(_lratio).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalETHFee = _totalDistributionShares.sub(_lratio.div(2)); uint256 amountETHLiquidity = amountReceived.mul(_lratio).div(totalETHFee).div(2); uint256 amountETHTeam = amountReceived.mul(_mratio).div(totalETHFee); uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHTeam); if(amountETHMarketing > 0) transferToAddressETH(marketingaddress, amountETHMarketing); if(amountETHTeam > 0) transferToAddressETH(marketingaddress, amountETHTeam); if(amountETHLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountETHLiquidity); } 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":"_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":"_lratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mratio","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":[{"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":"marketingaddress","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":[{"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"},{"inputs":[{"internalType":"uint256","name":"newbuylimit","type":"uint256"},{"internalType":"uint256","name":"newwalletlimit","type":"uint256"}],"name":"updatelimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060400160405280600b81526020017f4a6572727920466c6f6b69000000000000000000000000000000000000000000815250600990816200004a919062000d2a565b506040518060400160405280600781526020017f244a464c4f4b4900000000000000000000000000000000000000000000000000815250600a908162000091919062000d2a565b506012600b60006101000a81548160ff021916908360ff160217905550600b60009054906101000a900460ff16600a620000cc919062000fa1565b633b9aca00620000dd919062000ff2565b600c55600b60009054906101000a900460ff16600a620000fe919062000fa1565b624c4b406200010e919062000ff2565b600d556018600e55739c25ed3badcfffe7b14f98edd516893538cc9491600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360105560006011556003601255600060135560006014556000601555600b60009054906101000a900460ff16600a620001a7919062000fa1565b6301c9c380620001b8919062000ff2565b601655600b60009054906101000a900460ff16600a620001d9919062000fa1565b6301c9c380620001ea919062000ff2565b601755601760185560016019556001601b60156101000a81548160ff0219169083151502179055506000601b60166101000a81548160ff0219169083151502179055506001601b60176101000a81548160ff0219169083151502179055503480156200025557600080fd5b5060006200026862000a1c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200036b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003919190620010bd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041f9190620010bd565b6040518363ffffffff1660e01b81526004016200043e92919062001100565b6020604051808303816000875af11580156200045e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004849190620010bd565b601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620005c062000a2460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200068760105460115462000a4d60201b62001d521790919060201c565b601481905550620006ab60125460135462000a4d60201b62001d521790919060201c565b601581905550620006cf60185460195462000a4d60201b62001d521790919060201c565b600e81905550600160066000620006eb62000a2460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760006200082462000a2460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600c54600260006200095e62000a1c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620009ac62000a1c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c5460405162000a0d91906200113e565b60405180910390a3506200123b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000a5e91906200115b565b90508381101562000aa6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a9d9062001219565b60405180910390fd5b8091505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b3257607f821691505b60208210810362000b485762000b4762000aea565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000bb27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b73565b62000bbe868362000b73565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c0b62000c0562000bff8462000bd6565b62000be0565b62000bd6565b9050919050565b6000819050919050565b62000c278362000bea565b62000c3f62000c368262000c12565b84845462000b80565b825550505050565b600090565b62000c5662000c47565b62000c6381848462000c1c565b505050565b5b8181101562000c8b5762000c7f60008262000c4c565b60018101905062000c69565b5050565b601f82111562000cda5762000ca48162000b4e565b62000caf8462000b63565b8101602085101562000cbf578190505b62000cd762000cce8562000b63565b83018262000c68565b50505b505050565b600082821c905092915050565b600062000cff6000198460080262000cdf565b1980831691505092915050565b600062000d1a838362000cec565b9150826002028217905092915050565b62000d358262000ab0565b67ffffffffffffffff81111562000d515762000d5062000abb565b5b62000d5d825462000b19565b62000d6a82828562000c8f565b600060209050601f83116001811462000da2576000841562000d8d578287015190505b62000d99858262000d0c565b86555062000e09565b601f19841662000db28662000b4e565b60005b8281101562000ddc5784890151825560018201915060208501945060208101905062000db5565b8683101562000dfc578489015162000df8601f89168262000cec565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000e9f5780860481111562000e775762000e7662000e11565b5b600185161562000e875780820291505b808102905062000e978562000e40565b945062000e57565b94509492505050565b60008262000eba576001905062000f8d565b8162000eca576000905062000f8d565b816001811462000ee3576002811462000eee5762000f24565b600191505062000f8d565b60ff84111562000f035762000f0262000e11565b5b8360020a91508482111562000f1d5762000f1c62000e11565b5b5062000f8d565b5060208310610133831016604e8410600b841016171562000f5e5782820a90508381111562000f585762000f5762000e11565b5b62000f8d565b62000f6d848484600162000e4d565b9250905081840481111562000f875762000f8662000e11565b5b81810290505b9392505050565b600060ff82169050919050565b600062000fae8262000bd6565b915062000fbb8362000f94565b925062000fea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ea8565b905092915050565b600062000fff8262000bd6565b91506200100c8362000bd6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001048576200104762000e11565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620010858262001058565b9050919050565b620010978162001078565b8114620010a357600080fd5b50565b600081519050620010b7816200108c565b92915050565b600060208284031215620010d657620010d562001053565b5b6000620010e684828501620010a6565b91505092915050565b620010fa8162001078565b82525050565b6000604082019050620011176000830185620010ef565b620011266020830184620010ef565b9392505050565b620011388162000bd6565b82525050565b60006020820190506200115560008301846200112d565b92915050565b6000620011688262000bd6565b9150620011758362000bd6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620011ad57620011ac62000e11565b5b828201905092915050565b600082825260208201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062001201601b83620011b8565b91506200120e82620011c9565b602082019050919050565b600060208201905081810360008301526200123481620011f2565b9050919050565b613e36806200124b6000396000f3fe60806040526004361061028c5760003560e01c8063807c2d9c1161015a578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e14610a33578063e0f07e3a14610a70578063f2fde38b14610a9b578063f5bc9def14610ac4578063f872858a14610aed578063fe458d8914610b1857610293565b8063a9059cbb14610921578063abdccea11461095e578063b28805f414610989578063baeb7a7d146109b2578063c816841b146109dd578063da00097d14610a0857610293565b806394faf34e1161011357806394faf34e1461081157806395d89b411461083a578063a073d37f14610865578063a08e671f14610890578063a457c2d7146108bb578063a6ce3614146108f857610293565b8063807c2d9c146106ff578063825e43c51461072a57806384141be314610767578063844d591c14610792578063893d20e8146107bb5780638da5cb5b146107e657610293565b80633b97084a116101fe5780634f9e0722116101b75780634f9e0722146105db5780635342acb414610604578063557ed1ba1461064157806370a082311461066c57806377908e04146106a95780637d1db4a5146106d457610293565b80633b97084a146104b95780633d180810146104e25780633ecad2711461051f5780633ef947211461055c5780633ff6f002146105875780634a74bb02146105b057610293565b806318160ddd1161025057806318160ddd1461039357806323b872dd146103be57806325acf340146103fb5780632fd49a1414610426578063313ce56714610451578063395093511461047c57610293565b80630540eb521461029857806306fdde03146102c3578063095ea7b3146102ee5780630f3a325f1461032b5780631694505e1461036857610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610b41565b6040516102ba9190612efa565b60405180910390f35b3480156102cf57600080fd5b506102d8610b47565b6040516102e59190612fae565b60405180910390f35b3480156102fa57600080fd5b506103156004803603810190610310919061305f565b610bd9565b60405161032291906130ba565b60405180910390f35b34801561033757600080fd5b50610352600480360381019061034d91906130d5565b610bf7565b60405161035f91906130ba565b60405180910390f35b34801561037457600080fd5b5061037d610c17565b60405161038a9190613161565b60405180910390f35b34801561039f57600080fd5b506103a8610c3d565b6040516103b59190612efa565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e0919061317c565b610c47565b6040516103f291906130ba565b60405180910390f35b34801561040757600080fd5b50610410610d21565b60405161041d9190612efa565b60405180910390f35b34801561043257600080fd5b5061043b610d27565b6040516104489190612efa565b60405180910390f35b34801561045d57600080fd5b50610466610d2d565b60405161047391906131eb565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e919061305f565b610d44565b6040516104b091906130ba565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190613206565b610df7565b005b3480156104ee57600080fd5b50610509600480360381019061050491906130d5565b610e96565b60405161051691906130ba565b60405180910390f35b34801561052b57600080fd5b50610546600480360381019061054191906130d5565b610eb6565b60405161055391906130ba565b60405180910390f35b34801561056857600080fd5b50610571610ed6565b60405161057e9190612efa565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a9919061325f565b610edc565b005b3480156105bc57600080fd5b506105c5610fcc565b6040516105d291906130ba565b60405180910390f35b3480156105e757600080fd5b5061060260048036038101906105fd919061329f565b610fdf565b005b34801561061057600080fd5b5061062b600480360381019061062691906130d5565b6110a3565b60405161063891906130ba565b60405180910390f35b34801561064d57600080fd5b506106566110c3565b6040516106639190612efa565b60405180910390f35b34801561067857600080fd5b50610693600480360381019061068e91906130d5565b6110cb565b6040516106a09190612efa565b60405180910390f35b3480156106b557600080fd5b506106be611114565b6040516106cb9190612efa565b60405180910390f35b3480156106e057600080fd5b506106e961111a565b6040516106f69190612efa565b60405180910390f35b34801561070b57600080fd5b50610714611120565b6040516107219190612efa565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c91906130d5565b611126565b60405161075e91906130ba565b60405180910390f35b34801561077357600080fd5b5061077c611146565b6040516107899190612efa565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b4919061325f565b61114c565b005b3480156107c757600080fd5b506107d061123c565b6040516107dd91906132ee565b60405180910390f35b3480156107f257600080fd5b506107fb611265565b60405161080891906132ee565b60405180910390f35b34801561081d57600080fd5b5061083860048036038101906108339190613309565b61128e565b005b34801561084657600080fd5b5061084f611377565b60405161085c9190612fae565b60405180910390f35b34801561087157600080fd5b5061087a611409565b6040516108879190612efa565b60405180910390f35b34801561089c57600080fd5b506108a5611413565b6040516108b29190612efa565b60405180910390f35b3480156108c757600080fd5b506108e260048036038101906108dd919061305f565b611419565b6040516108ef91906130ba565b60405180910390f35b34801561090457600080fd5b5061091f600480360381019061091a919061329f565b6114e6565b005b34801561092d57600080fd5b506109486004803603810190610943919061305f565b6115aa565b60405161095591906130ba565b60405180910390f35b34801561096a57600080fd5b506109736115c9565b6040516109809190612efa565b60405180910390f35b34801561099557600080fd5b506109b060048036038101906109ab9190613206565b6115cf565b005b3480156109be57600080fd5b506109c761184b565b6040516109d49190612efa565b60405180910390f35b3480156109e957600080fd5b506109f2611851565b6040516109ff91906132ee565b60405180910390f35b348015610a1457600080fd5b50610a1d611877565b604051610a2a91906130ba565b60405180910390f35b348015610a3f57600080fd5b50610a5a6004803603810190610a559190613336565b61188a565b604051610a679190612efa565b60405180910390f35b348015610a7c57600080fd5b50610a85611911565b604051610a929190613397565b60405180910390f35b348015610aa757600080fd5b50610ac26004803603810190610abd91906130d5565b611937565b005b348015610ad057600080fd5b50610aeb6004803603810190610ae6919061329f565b611af8565b005b348015610af957600080fd5b50610b02611b9f565b604051610b0f91906130ba565b60405180910390f35b348015610b2457600080fd5b50610b3f6004803603810190610b3a91906130d5565b611bb2565b005b60105481565b606060098054610b56906133e1565b80601f0160208091040260200160405190810160405280929190818152602001828054610b82906133e1565b8015610bcf5780601f10610ba457610100808354040283529160200191610bcf565b820191906000526020600020905b815481529060010190602001808311610bb257829003601f168201915b5050505050905090565b6000610bed610be6611db0565b8484611db8565b6001905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b6000610c54848484611f81565b50610d1684610c61611db0565b610d1185604051806060016040528060288152602001613db460289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cc7611db0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b611db8565b600190509392505050565b60125481565b60115481565b6000600b60009054906101000a900460ff16905090565b6000610ded610d51611db0565b84610de88560036000610d62611db0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b611db8565b6001905092915050565b610dff611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e839061345e565b60405180910390fd5b80600d8190555050565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60155481565b610ee4611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f689061345e565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b60159054906101000a900460ff1681565b610fe7611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b9061345e565b60405180910390fd5b8160138190555080601281905550611099601254601354611d5290919063ffffffff16565b6015819055505050565b60056020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60195481565b60175481565b60165481565b60066020528060005260406000206000915054906101000a900460ff1681565b60135481565b611154611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d89061345e565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611296611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a9061345e565b60405180910390fd5b80601b60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161136c91906130ba565b60405180910390a150565b6060600a8054611386906133e1565b80601f01602080910402602001604051908101604052809291908181526020018280546113b2906133e1565b80156113ff5780601f106113d4576101008083540402835291602001916113ff565b820191906000526020600020905b8154815290600101906020018083116113e257829003601f168201915b5050505050905090565b6000600d54905090565b600e5481565b60006114dc611426611db0565b846114d785604051806060016040528060258152602001613ddc6025913960036000611450611db0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b611db8565b6001905092915050565b6114ee611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461157b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115729061345e565b60405180910390fd5b81601181905550806010819055506115a0601054601154611d5290919063ffffffff16565b6014819055505050565b60006115be6115b7611db0565b8484611f81565b506001905092915050565b60185481565b6000600267ffffffffffffffff8111156115ec576115eb61347e565b5b60405190808252806020026020018201604052801561161a5781602001602082028036833780820191505090505b5090503081600081518110611632576116316134ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fd91906134f1565b81600181518110611711576117106134ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061177830601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611db8565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016117dc959493929190613617565b600060405180830381600087803b1580156117f657600080fd5b505af115801561180a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161183f929190613671565b60405180910390a15050565b60145481565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60169054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61193f611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c39061345e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3290613713565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b00611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b849061345e565b60405180910390fd5b81601781905550806016819055505050565b601b60179054906101000a900460ff1681565b611bba611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e9061345e565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cf6576000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d4f565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000808284611d619190613762565b905083811015611da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9d90613804565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e90613896565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d90613928565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f749190612efa565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe8906139ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205790613a4c565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e490613ab8565b60405180910390fd5b601b60149054906101000a900460ff16156121145761210d848484612655565b90506125ea565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121b85750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561220357601754821115612202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f990613b4a565b60405180910390fd5b5b600061220e306110cb565b90506000600d5482101590508080156122345750601b60149054906101000a900460ff16155b801561228a5750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122a25750601b60159054906101000a900460ff165b156122cc57601b60169054906101000a900460ff16156122c257600d5491505b6122cb82612828565b5b612355846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061243b5750600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61244f5761244a878787612a19565b612451565b845b9050601b60179054906101000a900460ff1680156124b95750600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124e8576016546124dc826124ce896110cb565b611d5290919063ffffffff16565b11156124e757600080fd5b5b61253a81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125da9190612efa565b60405180910390a3600193505050505b9392505050565b6000838311158290612639576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126309190612fae565b60405180910390fd5b50600083856126489190613b6a565b9050809150509392505050565b60006126e0826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061277582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128159190612efa565b60405180910390a3600190509392505050565b6001601b60146101000a81548160ff02191690831515021790555060006128816002612873600e5461286560195487612c4090919063ffffffff16565b612cba90919063ffffffff16565b612cba90919063ffffffff16565b905060006128988284612d0490919063ffffffff16565b90506128a3816115cf565b600047905060006128d46128c36002601954612cba90919063ffffffff16565b600e54612d0490919063ffffffff16565b905060006129126002612904846128f660195488612c4090919063ffffffff16565b612cba90919063ffffffff16565b612cba90919063ffffffff16565b9050600061293d8361292f60185487612c4090919063ffffffff16565b612cba90919063ffffffff16565b90506000612966826129588588612d0490919063ffffffff16565b612d0490919063ffffffff16565b9050600081111561299e5761299d600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612d4e565b5b60008211156129d4576129d3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612d4e565b5b6000831180156129e45750600087115b156129f4576129f38784612d99565b5b505050505050506000601b60146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612aa157612a9a6064612a8c60145486612c4090919063ffffffff16565b612cba90919063ffffffff16565b9050612b1f565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b1e57612b1b6064612b0d60155486612c4090919063ffffffff16565b612cba90919063ffffffff16565b90505b5b6000811115612c2357612b7a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c1a9190612efa565b60405180910390a35b612c368184612d0490919063ffffffff16565b9150509392505050565b6000808303612c525760009050612cb4565b60008284612c609190613b9e565b9050828482612c6f9190613c27565b14612caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca690613cca565b60405180910390fd5b809150505b92915050565b6000612cfc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e7e565b905092915050565b6000612d4683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125f1565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612d94573d6000803e3d6000fd5b505050565b612dc630601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611db8565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612e12611265565b426040518863ffffffff1660e01b8152600401612e3496959493929190613cea565b60606040518083038185885af1158015612e52573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e779190613d60565b5050505050565b60008083118290612ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ebc9190612fae565b60405180910390fd5b5060008385612ed49190613c27565b9050809150509392505050565b6000819050919050565b612ef481612ee1565b82525050565b6000602082019050612f0f6000830184612eeb565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f4f578082015181840152602081019050612f34565b83811115612f5e576000848401525b50505050565b6000601f19601f8301169050919050565b6000612f8082612f15565b612f8a8185612f20565b9350612f9a818560208601612f31565b612fa381612f64565b840191505092915050565b60006020820190508181036000830152612fc88184612f75565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061300082612fd5565b9050919050565b61301081612ff5565b811461301b57600080fd5b50565b60008135905061302d81613007565b92915050565b61303c81612ee1565b811461304757600080fd5b50565b60008135905061305981613033565b92915050565b6000806040838503121561307657613075612fd0565b5b60006130848582860161301e565b92505060206130958582860161304a565b9150509250929050565b60008115159050919050565b6130b48161309f565b82525050565b60006020820190506130cf60008301846130ab565b92915050565b6000602082840312156130eb576130ea612fd0565b5b60006130f98482850161301e565b91505092915050565b6000819050919050565b600061312761312261311d84612fd5565b613102565b612fd5565b9050919050565b60006131398261310c565b9050919050565b600061314b8261312e565b9050919050565b61315b81613140565b82525050565b60006020820190506131766000830184613152565b92915050565b60008060006060848603121561319557613194612fd0565b5b60006131a38682870161301e565b93505060206131b48682870161301e565b92505060406131c58682870161304a565b9150509250925092565b600060ff82169050919050565b6131e5816131cf565b82525050565b600060208201905061320060008301846131dc565b92915050565b60006020828403121561321c5761321b612fd0565b5b600061322a8482850161304a565b91505092915050565b61323c8161309f565b811461324757600080fd5b50565b60008135905061325981613233565b92915050565b6000806040838503121561327657613275612fd0565b5b60006132848582860161301e565b92505060206132958582860161324a565b9150509250929050565b600080604083850312156132b6576132b5612fd0565b5b60006132c48582860161304a565b92505060206132d58582860161304a565b9150509250929050565b6132e881612ff5565b82525050565b600060208201905061330360008301846132df565b92915050565b60006020828403121561331f5761331e612fd0565b5b600061332d8482850161324a565b91505092915050565b6000806040838503121561334d5761334c612fd0565b5b600061335b8582860161301e565b925050602061336c8582860161301e565b9150509250929050565b600061338182612fd5565b9050919050565b61339181613376565b82525050565b60006020820190506133ac6000830184613388565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806133f957607f821691505b60208210810361340c5761340b6133b2565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613448602083612f20565b915061345382613412565b602082019050919050565b600060208201905081810360008301526134778161343b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506134eb81613007565b92915050565b60006020828403121561350757613506612fd0565b5b6000613515848285016134dc565b91505092915050565b6000819050919050565b600061354361353e6135398461351e565b613102565b612ee1565b9050919050565b61355381613528565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61358e81612ff5565b82525050565b60006135a08383613585565b60208301905092915050565b6000602082019050919050565b60006135c482613559565b6135ce8185613564565b93506135d983613575565b8060005b8381101561360a5781516135f18882613594565b97506135fc836135ac565b9250506001810190506135dd565b5085935050505092915050565b600060a08201905061362c6000830188612eeb565b613639602083018761354a565b818103604083015261364b81866135b9565b905061365a60608301856132df565b6136676080830184612eeb565b9695505050505050565b60006040820190506136866000830185612eeb565b818103602083015261369881846135b9565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136fd602683612f20565b9150613708826136a1565b604082019050919050565b6000602082019050818103600083015261372c816136f0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061376d82612ee1565b915061377883612ee1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137ad576137ac613733565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006137ee601b83612f20565b91506137f9826137b8565b602082019050919050565b6000602082019050818103600083015261381d816137e1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613880602483612f20565b915061388b82613824565b604082019050919050565b600060208201905081810360008301526138af81613873565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613912602283612f20565b915061391d826138b6565b604082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139a4602583612f20565b91506139af82613948565b604082019050919050565b600060208201905081810360008301526139d381613997565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a36602383612f20565b9150613a41826139da565b604082019050919050565b60006020820190508181036000830152613a6581613a29565b9050919050565b7f4163636f756e74206973206120536e6970657200000000000000000000000000600082015250565b6000613aa2601383612f20565b9150613aad82613a6c565b602082019050919050565b60006020820190508181036000830152613ad181613a95565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613b34602883612f20565b9150613b3f82613ad8565b604082019050919050565b60006020820190508181036000830152613b6381613b27565b9050919050565b6000613b7582612ee1565b9150613b8083612ee1565b925082821015613b9357613b92613733565b5b828203905092915050565b6000613ba982612ee1565b9150613bb483612ee1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613bed57613bec613733565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613c3282612ee1565b9150613c3d83612ee1565b925082613c4d57613c4c613bf8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cb4602183612f20565b9150613cbf82613c58565b604082019050919050565b60006020820190508181036000830152613ce381613ca7565b9050919050565b600060c082019050613cff60008301896132df565b613d0c6020830188612eeb565b613d19604083018761354a565b613d26606083018661354a565b613d3360808301856132df565b613d4060a0830184612eeb565b979650505050505050565b600081519050613d5a81613033565b92915050565b600080600060608486031215613d7957613d78612fd0565b5b6000613d8786828701613d4b565b9350506020613d9886828701613d4b565b9250506040613da986828701613d4b565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c6c9c22b043d809f5681e0ca113b06051577a926c3e1d64b0edfe4d0b46c657064736f6c634300080f0033
Deployed Bytecode
0x60806040526004361061028c5760003560e01c8063807c2d9c1161015a578063a9059cbb116100c1578063dd62ed3e1161007a578063dd62ed3e14610a33578063e0f07e3a14610a70578063f2fde38b14610a9b578063f5bc9def14610ac4578063f872858a14610aed578063fe458d8914610b1857610293565b8063a9059cbb14610921578063abdccea11461095e578063b28805f414610989578063baeb7a7d146109b2578063c816841b146109dd578063da00097d14610a0857610293565b806394faf34e1161011357806394faf34e1461081157806395d89b411461083a578063a073d37f14610865578063a08e671f14610890578063a457c2d7146108bb578063a6ce3614146108f857610293565b8063807c2d9c146106ff578063825e43c51461072a57806384141be314610767578063844d591c14610792578063893d20e8146107bb5780638da5cb5b146107e657610293565b80633b97084a116101fe5780634f9e0722116101b75780634f9e0722146105db5780635342acb414610604578063557ed1ba1461064157806370a082311461066c57806377908e04146106a95780637d1db4a5146106d457610293565b80633b97084a146104b95780633d180810146104e25780633ecad2711461051f5780633ef947211461055c5780633ff6f002146105875780634a74bb02146105b057610293565b806318160ddd1161025057806318160ddd1461039357806323b872dd146103be57806325acf340146103fb5780632fd49a1414610426578063313ce56714610451578063395093511461047c57610293565b80630540eb521461029857806306fdde03146102c3578063095ea7b3146102ee5780630f3a325f1461032b5780631694505e1461036857610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610b41565b6040516102ba9190612efa565b60405180910390f35b3480156102cf57600080fd5b506102d8610b47565b6040516102e59190612fae565b60405180910390f35b3480156102fa57600080fd5b506103156004803603810190610310919061305f565b610bd9565b60405161032291906130ba565b60405180910390f35b34801561033757600080fd5b50610352600480360381019061034d91906130d5565b610bf7565b60405161035f91906130ba565b60405180910390f35b34801561037457600080fd5b5061037d610c17565b60405161038a9190613161565b60405180910390f35b34801561039f57600080fd5b506103a8610c3d565b6040516103b59190612efa565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e0919061317c565b610c47565b6040516103f291906130ba565b60405180910390f35b34801561040757600080fd5b50610410610d21565b60405161041d9190612efa565b60405180910390f35b34801561043257600080fd5b5061043b610d27565b6040516104489190612efa565b60405180910390f35b34801561045d57600080fd5b50610466610d2d565b60405161047391906131eb565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e919061305f565b610d44565b6040516104b091906130ba565b60405180910390f35b3480156104c557600080fd5b506104e060048036038101906104db9190613206565b610df7565b005b3480156104ee57600080fd5b50610509600480360381019061050491906130d5565b610e96565b60405161051691906130ba565b60405180910390f35b34801561052b57600080fd5b50610546600480360381019061054191906130d5565b610eb6565b60405161055391906130ba565b60405180910390f35b34801561056857600080fd5b50610571610ed6565b60405161057e9190612efa565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a9919061325f565b610edc565b005b3480156105bc57600080fd5b506105c5610fcc565b6040516105d291906130ba565b60405180910390f35b3480156105e757600080fd5b5061060260048036038101906105fd919061329f565b610fdf565b005b34801561061057600080fd5b5061062b600480360381019061062691906130d5565b6110a3565b60405161063891906130ba565b60405180910390f35b34801561064d57600080fd5b506106566110c3565b6040516106639190612efa565b60405180910390f35b34801561067857600080fd5b50610693600480360381019061068e91906130d5565b6110cb565b6040516106a09190612efa565b60405180910390f35b3480156106b557600080fd5b506106be611114565b6040516106cb9190612efa565b60405180910390f35b3480156106e057600080fd5b506106e961111a565b6040516106f69190612efa565b60405180910390f35b34801561070b57600080fd5b50610714611120565b6040516107219190612efa565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c91906130d5565b611126565b60405161075e91906130ba565b60405180910390f35b34801561077357600080fd5b5061077c611146565b6040516107899190612efa565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b4919061325f565b61114c565b005b3480156107c757600080fd5b506107d061123c565b6040516107dd91906132ee565b60405180910390f35b3480156107f257600080fd5b506107fb611265565b60405161080891906132ee565b60405180910390f35b34801561081d57600080fd5b5061083860048036038101906108339190613309565b61128e565b005b34801561084657600080fd5b5061084f611377565b60405161085c9190612fae565b60405180910390f35b34801561087157600080fd5b5061087a611409565b6040516108879190612efa565b60405180910390f35b34801561089c57600080fd5b506108a5611413565b6040516108b29190612efa565b60405180910390f35b3480156108c757600080fd5b506108e260048036038101906108dd919061305f565b611419565b6040516108ef91906130ba565b60405180910390f35b34801561090457600080fd5b5061091f600480360381019061091a919061329f565b6114e6565b005b34801561092d57600080fd5b506109486004803603810190610943919061305f565b6115aa565b60405161095591906130ba565b60405180910390f35b34801561096a57600080fd5b506109736115c9565b6040516109809190612efa565b60405180910390f35b34801561099557600080fd5b506109b060048036038101906109ab9190613206565b6115cf565b005b3480156109be57600080fd5b506109c761184b565b6040516109d49190612efa565b60405180910390f35b3480156109e957600080fd5b506109f2611851565b6040516109ff91906132ee565b60405180910390f35b348015610a1457600080fd5b50610a1d611877565b604051610a2a91906130ba565b60405180910390f35b348015610a3f57600080fd5b50610a5a6004803603810190610a559190613336565b61188a565b604051610a679190612efa565b60405180910390f35b348015610a7c57600080fd5b50610a85611911565b604051610a929190613397565b60405180910390f35b348015610aa757600080fd5b50610ac26004803603810190610abd91906130d5565b611937565b005b348015610ad057600080fd5b50610aeb6004803603810190610ae6919061329f565b611af8565b005b348015610af957600080fd5b50610b02611b9f565b604051610b0f91906130ba565b60405180910390f35b348015610b2457600080fd5b50610b3f6004803603810190610b3a91906130d5565b611bb2565b005b60105481565b606060098054610b56906133e1565b80601f0160208091040260200160405190810160405280929190818152602001828054610b82906133e1565b8015610bcf5780601f10610ba457610100808354040283529160200191610bcf565b820191906000526020600020905b815481529060010190602001808311610bb257829003601f168201915b5050505050905090565b6000610bed610be6611db0565b8484611db8565b6001905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b6000610c54848484611f81565b50610d1684610c61611db0565b610d1185604051806060016040528060288152602001613db460289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cc7611db0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b611db8565b600190509392505050565b60125481565b60115481565b6000600b60009054906101000a900460ff16905090565b6000610ded610d51611db0565b84610de88560036000610d62611db0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b611db8565b6001905092915050565b610dff611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e839061345e565b60405180910390fd5b80600d8190555050565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60155481565b610ee4611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f689061345e565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b60159054906101000a900460ff1681565b610fe7611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b9061345e565b60405180910390fd5b8160138190555080601281905550611099601254601354611d5290919063ffffffff16565b6015819055505050565b60056020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60195481565b60175481565b60165481565b60066020528060005260406000206000915054906101000a900460ff1681565b60135481565b611154611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d89061345e565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611296611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a9061345e565b60405180910390fd5b80601b60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161136c91906130ba565b60405180910390a150565b6060600a8054611386906133e1565b80601f01602080910402602001604051908101604052809291908181526020018280546113b2906133e1565b80156113ff5780601f106113d4576101008083540402835291602001916113ff565b820191906000526020600020905b8154815290600101906020018083116113e257829003601f168201915b5050505050905090565b6000600d54905090565b600e5481565b60006114dc611426611db0565b846114d785604051806060016040528060258152602001613ddc6025913960036000611450611db0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b611db8565b6001905092915050565b6114ee611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461157b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115729061345e565b60405180910390fd5b81601181905550806010819055506115a0601054601154611d5290919063ffffffff16565b6014819055505050565b60006115be6115b7611db0565b8484611f81565b506001905092915050565b60185481565b6000600267ffffffffffffffff8111156115ec576115eb61347e565b5b60405190808252806020026020018201604052801561161a5781602001602082028036833780820191505090505b5090503081600081518110611632576116316134ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fd91906134f1565b81600181518110611711576117106134ad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061177830601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611db8565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016117dc959493929190613617565b600060405180830381600087803b1580156117f657600080fd5b505af115801561180a573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161183f929190613671565b60405180910390a15050565b60145481565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60169054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61193f611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c39061345e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3290613713565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b00611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b849061345e565b60405180910390fd5b81601781905550806016819055505050565b601b60179054906101000a900460ff1681565b611bba611db0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e9061345e565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cf6576000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d4f565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000808284611d619190613762565b905083811015611da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9d90613804565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e90613896565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d90613928565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f749190612efa565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe8906139ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205790613a4c565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e490613ab8565b60405180910390fd5b601b60149054906101000a900460ff16156121145761210d848484612655565b90506125ea565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121b85750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561220357601754821115612202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f990613b4a565b60405180910390fd5b5b600061220e306110cb565b90506000600d5482101590508080156122345750601b60149054906101000a900460ff16155b801561228a5750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122a25750601b60159054906101000a900460ff165b156122cc57601b60169054906101000a900460ff16156122c257600d5491505b6122cb82612828565b5b612355846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061243b5750600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61244f5761244a878787612a19565b612451565b845b9050601b60179054906101000a900460ff1680156124b95750600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124e8576016546124dc826124ce896110cb565b611d5290919063ffffffff16565b11156124e757600080fd5b5b61253a81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125da9190612efa565b60405180910390a3600193505050505b9392505050565b6000838311158290612639576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126309190612fae565b60405180910390fd5b50600083856126489190613b6a565b9050809150509392505050565b60006126e0826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f19092919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061277582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128159190612efa565b60405180910390a3600190509392505050565b6001601b60146101000a81548160ff02191690831515021790555060006128816002612873600e5461286560195487612c4090919063ffffffff16565b612cba90919063ffffffff16565b612cba90919063ffffffff16565b905060006128988284612d0490919063ffffffff16565b90506128a3816115cf565b600047905060006128d46128c36002601954612cba90919063ffffffff16565b600e54612d0490919063ffffffff16565b905060006129126002612904846128f660195488612c4090919063ffffffff16565b612cba90919063ffffffff16565b612cba90919063ffffffff16565b9050600061293d8361292f60185487612c4090919063ffffffff16565b612cba90919063ffffffff16565b90506000612966826129588588612d0490919063ffffffff16565b612d0490919063ffffffff16565b9050600081111561299e5761299d600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612d4e565b5b60008211156129d4576129d3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612d4e565b5b6000831180156129e45750600087115b156129f4576129f38784612d99565b5b505050505050506000601b60146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612aa157612a9a6064612a8c60145486612c4090919063ffffffff16565b612cba90919063ffffffff16565b9050612b1f565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b1e57612b1b6064612b0d60155486612c4090919063ffffffff16565b612cba90919063ffffffff16565b90505b5b6000811115612c2357612b7a81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c1a9190612efa565b60405180910390a35b612c368184612d0490919063ffffffff16565b9150509392505050565b6000808303612c525760009050612cb4565b60008284612c609190613b9e565b9050828482612c6f9190613c27565b14612caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca690613cca565b60405180910390fd5b809150505b92915050565b6000612cfc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e7e565b905092915050565b6000612d4683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125f1565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612d94573d6000803e3d6000fd5b505050565b612dc630601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611db8565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612e12611265565b426040518863ffffffff1660e01b8152600401612e3496959493929190613cea565b60606040518083038185885af1158015612e52573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e779190613d60565b5050505050565b60008083118290612ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ebc9190612fae565b60405180910390fd5b5060008385612ed49190613c27565b9050809150509392505050565b6000819050919050565b612ef481612ee1565b82525050565b6000602082019050612f0f6000830184612eeb565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f4f578082015181840152602081019050612f34565b83811115612f5e576000848401525b50505050565b6000601f19601f8301169050919050565b6000612f8082612f15565b612f8a8185612f20565b9350612f9a818560208601612f31565b612fa381612f64565b840191505092915050565b60006020820190508181036000830152612fc88184612f75565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061300082612fd5565b9050919050565b61301081612ff5565b811461301b57600080fd5b50565b60008135905061302d81613007565b92915050565b61303c81612ee1565b811461304757600080fd5b50565b60008135905061305981613033565b92915050565b6000806040838503121561307657613075612fd0565b5b60006130848582860161301e565b92505060206130958582860161304a565b9150509250929050565b60008115159050919050565b6130b48161309f565b82525050565b60006020820190506130cf60008301846130ab565b92915050565b6000602082840312156130eb576130ea612fd0565b5b60006130f98482850161301e565b91505092915050565b6000819050919050565b600061312761312261311d84612fd5565b613102565b612fd5565b9050919050565b60006131398261310c565b9050919050565b600061314b8261312e565b9050919050565b61315b81613140565b82525050565b60006020820190506131766000830184613152565b92915050565b60008060006060848603121561319557613194612fd0565b5b60006131a38682870161301e565b93505060206131b48682870161301e565b92505060406131c58682870161304a565b9150509250925092565b600060ff82169050919050565b6131e5816131cf565b82525050565b600060208201905061320060008301846131dc565b92915050565b60006020828403121561321c5761321b612fd0565b5b600061322a8482850161304a565b91505092915050565b61323c8161309f565b811461324757600080fd5b50565b60008135905061325981613233565b92915050565b6000806040838503121561327657613275612fd0565b5b60006132848582860161301e565b92505060206132958582860161324a565b9150509250929050565b600080604083850312156132b6576132b5612fd0565b5b60006132c48582860161304a565b92505060206132d58582860161304a565b9150509250929050565b6132e881612ff5565b82525050565b600060208201905061330360008301846132df565b92915050565b60006020828403121561331f5761331e612fd0565b5b600061332d8482850161324a565b91505092915050565b6000806040838503121561334d5761334c612fd0565b5b600061335b8582860161301e565b925050602061336c8582860161301e565b9150509250929050565b600061338182612fd5565b9050919050565b61339181613376565b82525050565b60006020820190506133ac6000830184613388565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806133f957607f821691505b60208210810361340c5761340b6133b2565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613448602083612f20565b915061345382613412565b602082019050919050565b600060208201905081810360008301526134778161343b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506134eb81613007565b92915050565b60006020828403121561350757613506612fd0565b5b6000613515848285016134dc565b91505092915050565b6000819050919050565b600061354361353e6135398461351e565b613102565b612ee1565b9050919050565b61355381613528565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61358e81612ff5565b82525050565b60006135a08383613585565b60208301905092915050565b6000602082019050919050565b60006135c482613559565b6135ce8185613564565b93506135d983613575565b8060005b8381101561360a5781516135f18882613594565b97506135fc836135ac565b9250506001810190506135dd565b5085935050505092915050565b600060a08201905061362c6000830188612eeb565b613639602083018761354a565b818103604083015261364b81866135b9565b905061365a60608301856132df565b6136676080830184612eeb565b9695505050505050565b60006040820190506136866000830185612eeb565b818103602083015261369881846135b9565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136fd602683612f20565b9150613708826136a1565b604082019050919050565b6000602082019050818103600083015261372c816136f0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061376d82612ee1565b915061377883612ee1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137ad576137ac613733565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006137ee601b83612f20565b91506137f9826137b8565b602082019050919050565b6000602082019050818103600083015261381d816137e1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613880602483612f20565b915061388b82613824565b604082019050919050565b600060208201905081810360008301526138af81613873565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613912602283612f20565b915061391d826138b6565b604082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139a4602583612f20565b91506139af82613948565b604082019050919050565b600060208201905081810360008301526139d381613997565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a36602383612f20565b9150613a41826139da565b604082019050919050565b60006020820190508181036000830152613a6581613a29565b9050919050565b7f4163636f756e74206973206120536e6970657200000000000000000000000000600082015250565b6000613aa2601383612f20565b9150613aad82613a6c565b602082019050919050565b60006020820190508181036000830152613ad181613a95565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613b34602883612f20565b9150613b3f82613ad8565b604082019050919050565b60006020820190508181036000830152613b6381613b27565b9050919050565b6000613b7582612ee1565b9150613b8083612ee1565b925082821015613b9357613b92613733565b5b828203905092915050565b6000613ba982612ee1565b9150613bb483612ee1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613bed57613bec613733565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613c3282612ee1565b9150613c3d83612ee1565b925082613c4d57613c4c613bf8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cb4602183612f20565b9150613cbf82613c58565b604082019050919050565b60006020820190508181036000830152613ce381613ca7565b9050919050565b600060c082019050613cff60008301896132df565b613d0c6020830188612eeb565b613d19604083018761354a565b613d26606083018661354a565b613d3360808301856132df565b613d4060a0830184612eeb565b979650505050505050565b600081519050613d5a81613033565b92915050565b600080600060608486031215613d7957613d78612fd0565b5b6000613d8786828701613d4b565b9350506020613d9886828701613d4b565b9250506040613da986828701613d4b565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c6c9c22b043d809f5681e0ca113b06051577a926c3e1d64b0edfe4d0b46c657064736f6c634300080f0033
Deployed Bytecode Sourcemap
14215:11736:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15145:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17454:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18751:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14463:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15599;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17731:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20882:303;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15231:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15187:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17545:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18120:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20227:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14623:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14674:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15357:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20088:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15714:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19400:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14511:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6284:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17839:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15562:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15459:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15398:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14568:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15274:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19263:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5810:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5716:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20359:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17636:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18623:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14990:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18346:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19658:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20714:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15528:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24240:521;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15319:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15647:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15761:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17969:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15043:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6028:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19910:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15813:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25141:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15145:35;;;;:::o;17454:83::-;17491:13;17524:5;17517:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17454:83;:::o;18751:161::-;18826:4;18843:39;18852:12;:10;:12::i;:::-;18866:7;18875:6;18843:8;:39::i;:::-;18900:4;18893:11;;18751:161;;;;:::o;14463:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;15599:::-;;;;;;;;;;;;;:::o;17731:100::-;17784:7;17811:12;;17804:19;;17731:100;:::o;20882:303::-;20980:4;20997:36;21007:6;21015:9;21026:6;20997:9;:36::i;:::-;;21044:121;21053:6;21061:12;:10;:12::i;:::-;21075:89;21113:6;21075:89;;;;;;;;;;;;;;;;;:11;:19;21087:6;21075:19;;;;;;;;;;;;;;;:33;21095:12;:10;:12::i;:::-;21075:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;21044:8;:121::i;:::-;21173:4;21166:11;;20882:303;;;;;:::o;15231:36::-;;;;:::o;15187:35::-;;;;:::o;17545:83::-;17586:5;17611:9;;;;;;;;;;;17604:16;;17545:83;:::o;18120:218::-;18208:4;18225:83;18234:12;:10;:12::i;:::-;18248:7;18257:50;18296:10;18257:11;:25;18269:12;:10;:12::i;:::-;18257:25;;;;;;;;;;;;;;;:34;18283:7;18257:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18225:8;:83::i;:::-;18326:4;18319:11;;18120:218;;;;:::o;20227:124::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20335:8:::1;20309:23;:34;;;;20227:124:::0;:::o;14623:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;14674:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;15357:32::-;;;;:::o;20088:131::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20205:6:::1;20179:15;:23;20195:6;20179:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;20088:131:::0;;:::o;15714:40::-;;;;;;;;;;;;;:::o;19400:250::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19520:12:::1;19500:17;:32;;;;19563:12;19543:17;:32;;;;19602:40;19624:17;;19602;;:21;;:40;;;;:::i;:::-;19586:13;:56;;;;19400:250:::0;;:::o;14511:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6284:90::-;6324:7;6351:15;6344:22;;6284:90;:::o;17839:122::-;17905:7;17932:12;:21;17945:7;17932:21;;;;;;;;;;;;;;;;17925:28;;17839:122;;;:::o;15562:26::-;;;;:::o;15459:54::-;;;;:::o;15398:52::-;;;;:::o;14568:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;15274:36::-;;;;:::o;19263:129::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19376:8:::1;19352:12;:21;19365:7;19352:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;19263:129:::0;;:::o;5810:82::-;5851:7;5878:6;;;;;;;;;;;5871:13;;5810:82;:::o;5716:79::-;5754:7;5781:6;;;;;;;;;;;5774:13;;5716:79;:::o;20359:172::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20461:8:::1;20437:21;;:32;;;;;;;;;;;;;;;;;;20485:38;20514:8;20485:38;;;;;;:::i;:::-;;;;;;;;20359:172:::0;:::o;17636:87::-;17675:13;17708:7;17701:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17636:87;:::o;18623:120::-;18685:7;18712:23;;18705:30;;18623:120;:::o;14990:44::-;;;;:::o;18346:269::-;18439:4;18456:129;18465:12;:10;:12::i;:::-;18479:7;18488:96;18527:15;18488:96;;;;;;;;;;;;;;;;;:11;:25;18500:12;:10;:12::i;:::-;18488:25;;;;;;;;;;;;;;;:34;18514:7;18488:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18456:8;:129::i;:::-;18603:4;18596:11;;18346:269;;;;:::o;19658:244::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19776:12:::1;19757:16;:31;;;;19818:12;19799:16;:31;;;;19856:38;19877:16;;19856;;:20;;:38;;;;:::i;:::-;19841:12;:53;;;;19658:244:::0;;:::o;20714:157::-;20792:4;20809:42;20819:12;:10;:12::i;:::-;20833:9;20844:6;20809:9;:42::i;:::-;;20859:4;20852:11;;20714:157;;;;:::o;15528:27::-;;;;:::o;24240:521::-;24305:21;24343:1;24329:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24305:40;;24374:4;24356;24361:1;24356:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;24400:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24390:4;24395:1;24390:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;24433:62;24450:4;24465:15;;;;;;;;;;;24483:11;24433:8;:62::i;:::-;24506:15;;;;;;;;;;;:66;;;24587:11;24613:1;24629:4;24656;24676:15;24506:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24718:35;24735:11;24748:4;24718:35;;;;;;;:::i;:::-;;;;;;;;24294:467;24240:521;:::o;15319:31::-;;;;:::o;15647:26::-;;;;;;;;;;;;;:::o;15761:45::-;;;;;;;;;;;;;:::o;17969:143::-;18050:7;18077:11;:18;18089:5;18077:18;;;;;;;;;;;;;;;:27;18096:7;18077:27;;;;;;;;;;;;;;;;18070:34;;17969:143;;;;:::o;15043:93::-;;;;;;;;;;;;;:::o;6028:244::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6137:1:::1;6117:22;;:8;:22;;::::0;6109:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6227:8;6198:38;;6219:6;::::0;::::1;;;;;;;;6198:38;;;;;;;;;;;;6256:8;6247:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6028:244:::0;:::o;19910:170::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20023:11:::1;20008:12;:26;;;;20058:14;20045:10;:27;;;;19910:170:::0;;:::o;15813:35::-;;;;;;;;;;;;;:::o;25141:213::-;5951:12;:10;:12::i;:::-;5941:22;;:6;;;;;;;;;;:22;;;5933:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25216:8:::1;:18;25225:8;25216:18;;;;;;;;;;;;;;;;;;;;;;;;;25212:135;;;25272:5;25251:8;:18;25260:8;25251:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;25212:135;;;25331:4;25310:8;:18;25319:8;25310:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;25212:135;25141:213:::0;:::o;1370:181::-;1428:7;1448:9;1464:1;1460;:5;;;;:::i;:::-;1448:17;;1489:1;1484;:6;;1476:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1542:1;1535:8;;;1370:181;;;;:::o;306:115::-;359:15;402:10;387:26;;306:115;:::o;18920:335::-;19030:1;19013:19;;:5;:19;;;19005:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19111:1;19092:21;;:7;:21;;;19084:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19193:6;19163:11;:18;19175:5;19163:18;;;;;;;;;;;;;;;:27;19182:7;19163:27;;;;;;;;;;;;;;;:36;;;;19231:7;19215:32;;19224:5;19215:32;;;19240:6;19215:32;;;;;;:::i;:::-;;;;;;;;18920:335;;;:::o;21193:1678::-;21280:4;21323:1;21305:20;;:6;:20;;;21297:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21407:1;21386:23;;:9;:23;;;21378:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21469:8;:16;21478:6;21469:16;;;;;;;;;;;;;;;;;;;;;;;;;21468:17;21460:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;21523:16;;;;;;;;;;;21520:1344;;;21573:41;21588:6;21596:9;21607:6;21573:14;:41::i;:::-;21566:48;;;;21520:1344;21670:11;:19;21682:6;21670:19;;;;;;;;;;;;;;;;;;;;;;;;;21669:20;:47;;;;;21694:11;:22;21706:9;21694:22;;;;;;;;;;;;;;;;;;;;;;;;;21693:23;21669:47;21666:162;;;21755:12;;21745:6;:22;;21737:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;21666:162;21842:28;21873:24;21891:4;21873:9;:24::i;:::-;21842:55;;21912:28;21967:23;;21943:20;:47;;21912:78;;22009:23;:44;;;;;22037:16;;;;;;;;;;;22036:17;22009:44;:69;;;;;22058:12;:20;22071:6;22058:20;;;;;;;;;;;;;;;;;;;;;;;;;22057:21;22009:69;:94;;;;;22082:21;;;;;;;;;;;22009:94;22005:305;;;22141:25;;;;;;;;;;;22138:97;;;22212:23;;22189:46;;22138:97;22254:36;22269:20;22254:14;:36::i;:::-;22005:305;22347:56;22372:6;22347:56;;;;;;;;;;;;;;;;;:12;:20;22360:6;22347:20;;;;;;;;;;;;;;;;:24;;:56;;;;;:::i;:::-;22324:12;:20;22337:6;22324:20;;;;;;;;;;;;;;;:79;;;;22418:19;22441:17;:25;22459:6;22441:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;22470:17;:28;22488:9;22470:28;;;;;;;;;;;;;;;;;;;;;;;;;22441:57;22440:105;;22511:34;22519:6;22527:9;22538:6;22511:7;:34::i;:::-;22440:105;;;22502:6;22440:105;22418:127;;22563:16;;;;;;;;;;;:47;;;;;22584:15;:26;22600:9;22584:26;;;;;;;;;;;;;;;;;;;;;;;;;22583:27;22563:47;22560:125;;;22674:10;;22633:37;22658:11;22633:20;22643:9;22633;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;22625:60;;;;;;22560:125;22726:40;22754:11;22726:12;:23;22739:9;22726:23;;;;;;;;;;;;;;;;:27;;:40;;;;:::i;:::-;22700:12;:23;22713:9;22700:23;;;;;;;;;;;;;;;:66;;;;22803:9;22786:40;;22795:6;22786:40;;;22814:11;22786:40;;;;;;:::i;:::-;;;;;;;;22848:4;22841:11;;;;;21193:1678;;;;;;:::o;1703:192::-;1789:7;1822:1;1817;:6;;1825:12;1809:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1849:9;1865:1;1861;:5;;;;:::i;:::-;1849:17;;1886:1;1879:8;;;1703:192;;;;;:::o;22879:342::-;22972:4;23012:56;23037:6;23012:56;;;;;;;;;;;;;;;;;:12;:20;23025:6;23012:20;;;;;;;;;;;;;;;;:24;;:56;;;;;:::i;:::-;22989:12;:20;23002:6;22989:20;;;;;;;;;;;;;;;:79;;;;23105:35;23133:6;23105:12;:23;23118:9;23105:23;;;;;;;;;;;;;;;;:27;;:35;;;;:::i;:::-;23079:12;:23;23092:9;23079:23;;;;;;;;;;;;;;;:61;;;;23173:9;23156:35;;23165:6;23156:35;;;23184:6;23156:35;;;;;;:::i;:::-;;;;;;;;23209:4;23202:11;;22879:342;;;;;:::o;23229:999::-;16292:4;16273:16;;:23;;;;;;;;;;;;;;;;;;23302:19:::1;23324:57;23379:1;23324:50;23349:24;;23324:20;23336:7;;23324;:11;;:20;;;;:::i;:::-;:24;;:50;;;;:::i;:::-;:54;;:57;;;;:::i;:::-;23302:79;;23392:21;23416:24;23428:11;23416:7;:11;;:24;;;;:::i;:::-;23392:48;;23453:31;23470:13;23453:16;:31::i;:::-;23495:22;23520:21;23495:46;;23552:19;23574:44;23603:14;23615:1;23603:7;;:11;;:14;;;;:::i;:::-;23574:24;;:28;;:44;;;;:::i;:::-;23552:66;;23639:26;23668:51;23717:1;23668:44;23700:11;23668:27;23687:7;;23668:14;:18;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;23639:80;;23730:21;23754:44;23786:11;23754:27;23773:7;;23754:14;:18;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;23730:68;;23809:26;23838:57;23881:13;23838:38;23857:18;23838:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;23809:86;;23932:1;23911:18;:22;23908:98;;;23948:58;23969:16;;;;;;;;;;;23987:18;23948:20;:58::i;:::-;23908:98;24036:1;24020:13;:17;24017:88;;;24052:53;24073:16;;;;;;;;;;;24091:13;24052:20;:53::i;:::-;24017:88;24140:1;24119:18;:22;:41;;;;;24159:1;24145:11;:15;24119:41;24116:104;;;24175:45;24188:11;24201:18;24175:12;:45::i;:::-;24116:104;23291:937;;;;;;;16338:5:::0;16319:16;;:24;;;;;;;;;;;;;;;;;;23229:999;:::o;25362:586::-;25448:7;25468:17;25488:1;25468:21;;25503:12;:20;25516:6;25503:20;;;;;;;;;;;;;;;;;;;;;;;;;25500:213;;;25552:33;25581:3;25552:24;25563:12;;25552:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;25540:45;;25500:213;;;25615:12;:23;25628:9;25615:23;;;;;;;;;;;;;;;;;;;;;;;;;25612:101;;;25667:34;25697:3;25667:25;25678:13;;25667:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;25655:46;;25612:101;25500:213;25738:1;25726:9;:13;25723:179;;;25786:42;25818:9;25786:12;:27;25807:4;25786:27;;;;;;;;;;;;;;;;:31;;:42;;;;:::i;:::-;25756:12;:27;25777:4;25756:27;;;;;;;;;;;;;;;:72;;;;25873:4;25848:42;;25857:6;25848:42;;;25880:9;25848:42;;;;;;:::i;:::-;;;;;;;;25723:179;25919:21;25930:9;25919:6;:10;;:21;;;;:::i;:::-;25912:28;;;25362:586;;;;;:::o;1903:250::-;1961:7;1990:1;1985;:6;1981:47;;2015:1;2008:8;;;;1981:47;2040:9;2056:1;2052;:5;;;;:::i;:::-;2040:17;;2085:1;2080;2076;:5;;;;:::i;:::-;:10;2068:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2144:1;2137:8;;;1903:250;;;;;:::o;2161:132::-;2219:7;2246:39;2250:1;2253;2246:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2239:46;;2161:132;;;;:::o;1559:136::-;1617:7;1644:43;1648:1;1651;1644:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1637:50;;1559:136;;;;:::o;20539:126::-;20631:9;:18;;:26;20650:6;20631:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20539:126;;:::o;24769:362::-;24850:62;24867:4;24882:15;;;;;;;;;;;24900:11;24850:8;:62::i;:::-;24923:15;;;;;;;;;;;:31;;;24962:9;24995:4;25015:11;25041:1;25058;25075:7;:5;:7::i;:::-;25097:15;24923:200;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;24769:362;;:::o;2301:278::-;2387:7;2419:1;2415;:5;2422:12;2407:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2446:9;2462:1;2458;:5;;;;:::i;:::-;2446:17;;2570:1;2563:8;;;2301: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:329::-;6273:6;6322:2;6310:9;6301:7;6297:23;6293:32;6290:119;;;6328:79;;:::i;:::-;6290:119;6448:1;6473:53;6518:7;6509:6;6498:9;6494:22;6473:53;:::i;:::-;6463:63;;6419:117;6214:329;;;;:::o;6549:116::-;6619:21;6634:5;6619:21;:::i;:::-;6612:5;6609:32;6599:60;;6655:1;6652;6645:12;6599:60;6549:116;:::o;6671:133::-;6714:5;6752:6;6739:20;6730:29;;6768:30;6792:5;6768:30;:::i;:::-;6671:133;;;;:::o;6810:468::-;6875:6;6883;6932:2;6920:9;6911:7;6907:23;6903:32;6900:119;;;6938:79;;:::i;:::-;6900:119;7058:1;7083:53;7128:7;7119:6;7108:9;7104:22;7083:53;:::i;:::-;7073:63;;7029:117;7185:2;7211:50;7253:7;7244:6;7233:9;7229:22;7211:50;:::i;:::-;7201:60;;7156:115;6810:468;;;;;:::o;7284:474::-;7352:6;7360;7409:2;7397:9;7388:7;7384:23;7380:32;7377:119;;;7415:79;;:::i;:::-;7377:119;7535:1;7560:53;7605:7;7596:6;7585:9;7581:22;7560:53;:::i;:::-;7550:63;;7506:117;7662:2;7688:53;7733:7;7724:6;7713:9;7709:22;7688:53;:::i;:::-;7678:63;;7633:118;7284:474;;;;;:::o;7764:118::-;7851:24;7869:5;7851:24;:::i;:::-;7846:3;7839:37;7764:118;;:::o;7888:222::-;7981:4;8019:2;8008:9;8004:18;7996:26;;8032:71;8100:1;8089:9;8085:17;8076:6;8032:71;:::i;:::-;7888:222;;;;:::o;8116:323::-;8172:6;8221:2;8209:9;8200:7;8196:23;8192:32;8189:119;;;8227:79;;:::i;:::-;8189:119;8347:1;8372:50;8414:7;8405:6;8394:9;8390:22;8372:50;:::i;:::-;8362:60;;8318:114;8116:323;;;;:::o;8445:474::-;8513:6;8521;8570:2;8558:9;8549:7;8545:23;8541:32;8538:119;;;8576:79;;:::i;:::-;8538:119;8696:1;8721:53;8766:7;8757:6;8746:9;8742:22;8721:53;:::i;:::-;8711:63;;8667:117;8823:2;8849:53;8894:7;8885:6;8874:9;8870:22;8849:53;:::i;:::-;8839:63;;8794:118;8445:474;;;;;:::o;8925:104::-;8970:7;8999:24;9017:5;8999:24;:::i;:::-;8988:35;;8925:104;;;:::o;9035:142::-;9138:32;9164:5;9138:32;:::i;:::-;9133:3;9126:45;9035:142;;:::o;9183:254::-;9292:4;9330:2;9319:9;9315:18;9307:26;;9343:87;9427:1;9416:9;9412:17;9403:6;9343:87;:::i;:::-;9183:254;;;;:::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://c6c9c22b043d809f5681e0ca113b06051577a926c3e1d64b0edfe4d0b46c6570
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.