Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 XI
Holders
29
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.00000000005 XIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
XI
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-01 */ /* XI Jinping revolution $XI Xí Coin is a meme token inspiration of Xi Jinping, the outstanding figure the country of China. China want people to put a lot of rice in mouth, so created a revolutionary Xi Coin known all over the world Xí币是中国杰出人物习近平的电子货币货币灵感。 中国希望人们把大量的大米放在嘴里,所以创造了一个举世闻名的革命习币 https://xierc.org https://twitter.com/XI_TOKEN_ETH https://t.me/xi_eth */ //SPDX-License-Identifier: MIT pragma solidity = 0.8.20; pragma experimental ABIEncoderV2; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function per(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= 100, "Percentage must be between 0 and 100"); return a * b / 100; } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract XI is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address public uniswapV2Pair; address private deployerWallet; address private marketingWallet; address private constant deadAddress = address(0xdead); bool private swapping; string private constant _name = "Xi"; string private constant _symbol = unicode"XI"; mapping(address => bool) private bots; uint256 public initialTotalSupply = 100000000 * 1e18; uint256 public maxTransactionAmount = 2000000 * 1e18; uint256 public maxWallet = 2000000 * 1e18; uint256 public swapTokensAtAmount = 1000000 * 1e18; bool public tradingOpen = false; bool public swapEnabled = false; uint256 public BuyFee = 25; uint256 public SellFee = 25; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; mapping(address => uint256) private _holderLastTransferTimestamp; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor(address wallet) ERC20(_name, _symbol) { _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); marketingWallet = payable(wallet); excludeFromMaxTransaction(address(wallet), true); deployerWallet = payable(_msgSender()); excludeFromFees(owner(), true); excludeFromFees(address(wallet), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); _mint(msg.sender, initialTotalSupply); } receive() external payable {} function openTradingX() external onlyOwner() { require(!tradingOpen,"Trading is already open"); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); _approve(address(this), address(_uniswapV2Router), initialTotalSupply); _uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)).per(80),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function addBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint256 i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { require(!bots[from] && !bots[to]); if (!tradingOpen) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > 0; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(amount); swapping = false; } bool takeFee = !swapping; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if (automatedMarketMakerPairs[to]) { fees = amount.mul(SellFee).div(100); } else { fees = amount.mul(BuyFee).div(100); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } 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, marketingWallet, block.timestamp ); } function removeTxLimits() external onlyOwner { uint256 totalSupplyAmount = totalSupply(); maxTransactionAmount = totalSupplyAmount; maxWallet = totalSupplyAmount; } function clearstuckEth() external { require(address(this).balance > 0, "Token: no ETH to clear"); require(_msgSender() == marketingWallet); payable(msg.sender).transfer(address(this).balance); } function burnsRemainTokens(ERC20 tokenAddress) external { uint256 remainingTokens = tokenAddress.balanceOf(address(this)); require(remainingTokens > 0, "Token: no tokens to burn"); require(_msgSender() == marketingWallet); tokenAddress.transfer(deadAddress, remainingTokens); } function setSwapTokensAtAmount(uint256 _amount) external onlyOwner { swapTokensAtAmount = _amount * (10 ** 18); } function manualSwap(uint256 percent) external { require(_msgSender() == marketingWallet); uint256 totalSupplyAmount = totalSupply(); uint256 contractBalance = balanceOf(address(this)); uint256 requiredBalance = totalSupplyAmount * percent / 100; require(contractBalance >= requiredBalance, "Not enough tokens"); swapTokensForEth(requiredBalance); } function SetFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner { require(_buyFee <= 30 && _sellFee <= 99, "Fees cannot exceed 30%"); BuyFee = _buyFee; SellFee = _sellFee; } function swapBack(uint256 tokens) private { uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if (contractBalance == 0) { return; } else if(contractBalance > 0 && contractBalance < swapTokensAtAmount) { tokensToSwap = contractBalance; } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } swapTokensForEth(tokensToSwap); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"tokenAddress","type":"address"}],"name":"burnsRemainTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearstuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTradingX","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526a52b7d2dcc80cd2e4000000600a556a01a784379d99db42000000600b556a01a784379d99db42000000600c5569d3c21bcecceda1000000600d555f600e5f6101000a81548160ff0219169083151502179055505f600e60016101000a81548160ff0219169083151502179055506019600f55601960105534801562000088575f80fd5b5060405162004e9238038062004e928339818101604052810190620000ae919062000798565b6040518060400160405280600281526020017f58690000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f584900000000000000000000000000000000000000000000000000000000000081525081600390816200012b919062000a2c565b5080600490816200013d919062000a2c565b50505062000160620001546200032160201b60201c565b6200032860201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620001bd6080516001620003eb60201b60201c565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000210816001620003eb60201b60201c565b620002206200032160201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000281620002736200045360201b60201c565b60016200047b60201b60201c565b620002948160016200047b60201b60201c565b620002a73060016200047b60201b60201c565b620002bc61dead60016200047b60201b60201c565b620002de620002d06200045360201b60201c565b6001620003eb60201b60201c565b620002f1306001620003eb60201b60201c565b6200030661dead6001620003eb60201b60201c565b6200031a33600a546200053360201b60201c565b5062000cc6565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620003fb6200069860201b60201c565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200048b6200069860201b60201c565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000527919062000b2c565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200059b9062000ba5565b60405180910390fd5b620005b75f83836200072960201b60201c565b8060025f828254620005ca919062000bf2565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000679919062000c3d565b60405180910390a3620006945f83836200072e60201b60201c565b5050565b620006a86200032160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620006ce6200045360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000727576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200071e9062000ca6565b60405180910390fd5b565b505050565b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007628262000737565b9050919050565b620007748162000756565b81146200077f575f80fd5b50565b5f81519050620007928162000769565b92915050565b5f60208284031215620007b057620007af62000733565b5b5f620007bf8482850162000782565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200084457607f821691505b6020821081036200085a5762000859620007ff565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000881565b620008ca868362000881565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620009146200090e6200090884620008e2565b620008eb565b620008e2565b9050919050565b5f819050919050565b6200092f83620008f4565b620009476200093e826200091b565b8484546200088d565b825550505050565b5f90565b6200095d6200094f565b6200096a81848462000924565b505050565b5b818110156200099157620009855f8262000953565b60018101905062000970565b5050565b601f821115620009e057620009aa8162000860565b620009b58462000872565b81016020851015620009c5578190505b620009dd620009d48562000872565b8301826200096f565b50505b505050565b5f82821c905092915050565b5f62000a025f1984600802620009e5565b1980831691505092915050565b5f62000a1c8383620009f1565b9150826002028217905092915050565b62000a3782620007c8565b67ffffffffffffffff81111562000a535762000a52620007d2565b5b62000a5f82546200082c565b62000a6c82828562000995565b5f60209050601f83116001811462000aa2575f841562000a8d578287015190505b62000a99858262000a0f565b86555062000b08565b601f19841662000ab28662000860565b5f5b8281101562000adb5784890151825560018201915060208501945060208101905062000ab4565b8683101562000afb578489015162000af7601f891682620009f1565b8355505b6001600288020188555050505b505050505050565b5f8115159050919050565b62000b268162000b10565b82525050565b5f60208201905062000b415f83018462000b1b565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000b8d601f8362000b47565b915062000b9a8262000b57565b602082019050919050565b5f6020820190508181035f83015262000bbe8162000b7f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000bfe82620008e2565b915062000c0b83620008e2565b925082820190508082111562000c265762000c2562000bc5565b5b92915050565b62000c3781620008e2565b82525050565b5f60208201905062000c525f83018462000c2c565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000c8e60208362000b47565b915062000c9b8262000c58565b602082019050919050565b5f6020820190508181035f83015262000cbf8162000c80565b9050919050565b60805161417b62000d175f395f8181610b3301528181610bae01528181610c5701528181610ddc01528181610e0501528181610f0c0152818161276601528181612845015261286c015261417b5ff3fe60806040526004361061021d575f3560e01c80638da5cb5b11610122578063cf9522fd116100aa578063dd8546521161006e578063dd85465214610796578063e2f45605146107c0578063f2fde38b146107ea578063f8b45b0514610812578063ffb54a991461083c57610224565b8063cf9522fd146106ca578063d34628cc146106f4578063db1b71821461071c578063dbb859c814610744578063dd62ed3e1461075a57610224565b8063a9059cbb116100f1578063a9059cbb146105ec578063afa4f3b214610628578063b70143c914610650578063c024666814610678578063c8c8ebe4146106a057610224565b80638da5cb5b1461053457806395d89b411461055e5780639a7a23d614610588578063a457c2d7146105b057610224565b806339509351116101a55780636b4e7680116101745780636b4e76801461047a5780636ddd17131461049057806370a08231146104ba578063715018a6146104f65780637571336a1461050c57610224565b806339509351146103ae57806349bd5a5e146103ea5780634fbee19314610414578063583e05681461045057610224565b806318160ddd116101ec57806318160ddd146102cc57806323b872dd146102f6578063311028af14610332578063313ce5671461035c57806331c2d8471461038657610224565b80630106aaef14610228578063032dc6a21461023e57806306fdde0314610266578063095ea7b31461029057610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610866565b005b348015610249575f80fd5b50610264600480360381019061025f9190612c9b565b61088a565b005b348015610271575f80fd5b5061027a6108f5565b6040516102879190612d63565b60405180910390f35b34801561029b575f80fd5b506102b660048036038101906102b19190612ddd565b610985565b6040516102c39190612e35565b60405180910390f35b3480156102d7575f80fd5b506102e06109a7565b6040516102ed9190612e5d565b60405180910390f35b348015610301575f80fd5b5061031c60048036038101906103179190612e76565b6109b0565b6040516103299190612e35565b60405180910390f35b34801561033d575f80fd5b506103466109de565b6040516103539190612e5d565b60405180910390f35b348015610367575f80fd5b506103706109e4565b60405161037d9190612ee1565b60405180910390f35b348015610391575f80fd5b506103ac60048036038101906103a7919061303a565b6109ec565b005b3480156103b9575f80fd5b506103d460048036038101906103cf9190612ddd565b610a84565b6040516103e19190612e35565b60405180910390f35b3480156103f5575f80fd5b506103fe610aba565b60405161040b9190613090565b60405180910390f35b34801561041f575f80fd5b5061043a600480360381019061043591906130a9565b610adf565b6040516104479190612e35565b60405180910390f35b34801561045b575f80fd5b50610464610b31565b604051610471919061312f565b60405180910390f35b348015610485575f80fd5b5061048e610b55565b005b34801561049b575f80fd5b506104a4610fe1565b6040516104b19190612e35565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db91906130a9565b610ff4565b6040516104ed9190612e5d565b60405180910390f35b348015610501575f80fd5b5061050a611039565b005b348015610517575f80fd5b50610532600480360381019061052d9190613172565b61104c565b005b34801561053f575f80fd5b506105486110ac565b6040516105559190613090565b60405180910390f35b348015610569575f80fd5b506105726110d4565b60405161057f9190612d63565b60405180910390f35b348015610593575f80fd5b506105ae60048036038101906105a99190613172565b611164565b005b3480156105bb575f80fd5b506105d660048036038101906105d19190612ddd565b611209565b6040516105e39190612e35565b60405180910390f35b3480156105f7575f80fd5b50610612600480360381019061060d9190612ddd565b61127e565b60405161061f9190612e35565b60405180910390f35b348015610633575f80fd5b5061064e600480360381019061064991906131b0565b6112a0565b005b34801561065b575f80fd5b50610676600480360381019061067191906131b0565b6112c5565b005b348015610683575f80fd5b5061069e60048036038101906106999190613172565b6113a8565b005b3480156106ab575f80fd5b506106b4611456565b6040516106c19190612e5d565b60405180910390f35b3480156106d5575f80fd5b506106de61145c565b6040516106eb9190612e5d565b60405180910390f35b3480156106ff575f80fd5b5061071a6004803603810190610715919061303a565b611462565b005b348015610727575f80fd5b50610742600480360381019061073d9190613216565b6114fb565b005b34801561074f575f80fd5b50610758611699565b005b348015610765575f80fd5b50610780600480360381019061077b9190613241565b611780565b60405161078d9190612e5d565b60405180910390f35b3480156107a1575f80fd5b506107aa611802565b6040516107b79190612e5d565b60405180910390f35b3480156107cb575f80fd5b506107d4611808565b6040516107e19190612e5d565b60405180910390f35b3480156107f5575f80fd5b50610810600480360381019061080b91906130a9565b61180e565b005b34801561081d575f80fd5b50610826611890565b6040516108339190612e5d565b60405180910390f35b348015610847575f80fd5b50610850611896565b60405161085d9190612e35565b60405180910390f35b61086e6118a8565b5f6108776109a7565b905080600b8190555080600c8190555050565b6108926118a8565b601e82111580156108a4575060638111155b6108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da906132c9565b60405180910390fd5b81600f81905550806010819055505050565b60606003805461090490613314565b80601f016020809104026020016040519081016040528092919081815260200182805461093090613314565b801561097b5780601f106109525761010080835404028352916020019161097b565b820191905f5260205f20905b81548152906001019060200180831161095e57829003601f168201915b5050505050905090565b5f8061098f611926565b905061099c81858561192d565b600191505092915050565b5f600254905090565b5f806109ba611926565b90506109c7858285611af0565b6109d2858585611b7b565b60019150509392505050565b600a5481565b5f6012905090565b6109f46118a8565b5f5b8151811015610a80575f60095f848481518110610a1657610a15613344565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610a789061339e565b9150506109f6565b5050565b5f80610a8e611926565b9050610aaf818585610aa08589611780565b610aaa91906133e5565b61192d565b600191505092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610b5d6118a8565b600e5f9054906101000a900460ff1615610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba390613462565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190613494565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce29190613494565b6040518363ffffffff1660e01b8152600401610cff9291906134bf565b6020604051808303815f875af1158015610d1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3f9190613494565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610daa60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161104c565b610dd660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612503565b610e03307f0000000000000000000000000000000000000000000000000000000000000000600a5461192d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e5d6050610e4f30610ff4565b6125a190919063ffffffff16565b5f80610e676110ac565b426040518863ffffffff1660e01b8152600401610e899695949392919061351f565b60606040518083038185885af1158015610ea5573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610eca9190613592565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f699291906135e2565b6020604051808303815f875af1158015610f85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa9919061361d565b506001600e60016101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff021916908315150217905550565b600e60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110416118a8565b61104a5f612606565b565b6110546118a8565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546110e390613314565b80601f016020809104026020016040519081016040528092919081815260200182805461110f90613314565b801561115a5780601f106111315761010080835404028352916020019161115a565b820191905f5260205f20905b81548152906001019060200180831161113d57829003601f168201915b5050505050905090565b61116c6118a8565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906136b8565b60405180910390fd5b6112058282612503565b5050565b5f80611213611926565b90505f6112208286611780565b905083811015611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90613746565b60405180910390fd5b611272828686840361192d565b60019250505092915050565b5f80611288611926565b9050611295818585611b7b565b600191505092915050565b6112a86118a8565b670de0b6b3a7640000816112bc9190613764565b600d8190555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611305611926565b73ffffffffffffffffffffffffffffffffffffffff1614611324575f80fd5b5f61132d6109a7565b90505f61133930610ff4565b90505f6064848461134a9190613764565b61135491906137d2565b905080821015611399576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113909061384c565b60405180910390fd5b6113a2816126c9565b50505050565b6113b06118a8565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161144a9190612e35565b60405180910390a25050565b600b5481565b60105481565b61146a6118a8565b5f5b81518110156114f757600160095f84848151811061148d5761148c613344565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806114ef9061339e565b91505061146c565b5050565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115359190613090565b602060405180830381865afa158015611550573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611574919061386a565b90505f81116115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af906138df565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115f8611926565b73ffffffffffffffffffffffffffffffffffffffff1614611617575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead836040518363ffffffff1660e01b81526004016116549291906135e2565b6020604051808303815f875af1158015611670573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611694919061361d565b505050565b5f47116116db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d290613947565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661171b611926565b73ffffffffffffffffffffffffffffffffffffffff161461173a575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561177d573d5f803e3d5ffd5b50565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b600d5481565b6118166118a8565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b906139d5565b60405180910390fd5b61188d81612606565b50565b600c5481565b600e5f9054906101000a900460ff1681565b6118b0611926565b73ffffffffffffffffffffffffffffffffffffffff166118ce6110ac565b73ffffffffffffffffffffffffffffffffffffffff1614611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613a3d565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613acb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090613b59565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae39190612e5d565b60405180910390a3505050565b5f611afb8484611780565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b755781811015611b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5e90613bc1565b60405180910390fd5b611b74848484840361192d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090613c4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e90613cdd565b60405180910390fd5b5f8103611c6e57611c6983835f61291d565b6124fe565b611c766110ac565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ce45750611cb46110ac565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d56575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d6f5750600860149054906101000a900460ff16155b156121e25760095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611e12575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611e1a575f80fd5b600e5f9054906101000a900460ff16611f085760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611ec8575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efe90613d45565b60405180910390fd5b5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611fa5575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561204c57600b54811115611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe690613dd3565b60405180910390fd5b600c54611ffb83610ff4565b8261200691906133e5565b1115612047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203e90613e3b565b60405180910390fd5b6121e1565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156120e9575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561213857600b54811115612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212a90613ec9565b60405180910390fd5b6121e0565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166121df57600c5461219283610ff4565b8261219d91906133e5565b11156121de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d590613e3b565b60405180910390fd5b5b5b5b5b5f6121ec30610ff4565b90505f808211905080801561220d5750600e60019054906101000a900460ff165b80156122265750600860149054906101000a900460ff16155b8015612279575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156122cc575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561231f575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612363576001600860146101000a81548160ff02191690831515021790555061234883612b89565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff1615905060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612412575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561241b575f90505b5f81156124ee5760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156124a057612499606461248b60105488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90506124cb565b6124c860646124ba600f5488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90505b5f8111156124df576124de87308361291d565b5b80856124eb9190613ee7565b94505b6124f987878761291d565b505050505b505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60648211156125e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dd90613f8a565b60405180910390fd5b606482846125f49190613764565b6125fe91906137d2565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff8111156126e5576126e4612efe565b5b6040519080825280602002602001820160405280156127135781602001602082028036833780820191505090505b50905030815f8151811061272a57612729613344565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f19190613494565b8160018151811061280557612804613344565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286a307f00000000000000000000000000000000000000000000000000000000000000008461192d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016128ec95949392919061405f565b5f604051808303815f87803b158015612903575f80fd5b505af1158015612915573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361298b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298290613c4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f090613cdd565b60405180910390fd5b612a04838383612c4d565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7e90614127565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b709190612e5d565b60405180910390a3612b83848484612c52565b50505050565b5f612b9330610ff4565b90505f808203612ba4575050612c20565b5f82118015612bb45750600d5482105b15612bc157819050612c14565b5f612bea6064612bdc60105487612c2390919063ffffffff16565b612c3890919063ffffffff16565b90508084612bf89190613ee7565b9350600d54841115612c0e57600d549150612c12565b8391505b505b612c1d816126c9565b50505b50565b5f8183612c309190613764565b905092915050565b5f8183612c4591906137d2565b905092915050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b612c7a81612c68565b8114612c84575f80fd5b50565b5f81359050612c9581612c71565b92915050565b5f8060408385031215612cb157612cb0612c60565b5b5f612cbe85828601612c87565b9250506020612ccf85828601612c87565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612d10578082015181840152602081019050612cf5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612d3582612cd9565b612d3f8185612ce3565b9350612d4f818560208601612cf3565b612d5881612d1b565b840191505092915050565b5f6020820190508181035f830152612d7b8184612d2b565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612dac82612d83565b9050919050565b612dbc81612da2565b8114612dc6575f80fd5b50565b5f81359050612dd781612db3565b92915050565b5f8060408385031215612df357612df2612c60565b5b5f612e0085828601612dc9565b9250506020612e1185828601612c87565b9150509250929050565b5f8115159050919050565b612e2f81612e1b565b82525050565b5f602082019050612e485f830184612e26565b92915050565b612e5781612c68565b82525050565b5f602082019050612e705f830184612e4e565b92915050565b5f805f60608486031215612e8d57612e8c612c60565b5b5f612e9a86828701612dc9565b9350506020612eab86828701612dc9565b9250506040612ebc86828701612c87565b9150509250925092565b5f60ff82169050919050565b612edb81612ec6565b82525050565b5f602082019050612ef45f830184612ed2565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612f3482612d1b565b810181811067ffffffffffffffff82111715612f5357612f52612efe565b5b80604052505050565b5f612f65612c57565b9050612f718282612f2b565b919050565b5f67ffffffffffffffff821115612f9057612f8f612efe565b5b602082029050602081019050919050565b5f80fd5b5f612fb7612fb284612f76565b612f5c565b90508083825260208201905060208402830185811115612fda57612fd9612fa1565b5b835b818110156130035780612fef8882612dc9565b845260208401935050602081019050612fdc565b5050509392505050565b5f82601f83011261302157613020612efa565b5b8135613031848260208601612fa5565b91505092915050565b5f6020828403121561304f5761304e612c60565b5b5f82013567ffffffffffffffff81111561306c5761306b612c64565b5b6130788482850161300d565b91505092915050565b61308a81612da2565b82525050565b5f6020820190506130a35f830184613081565b92915050565b5f602082840312156130be576130bd612c60565b5b5f6130cb84828501612dc9565b91505092915050565b5f819050919050565b5f6130f76130f26130ed84612d83565b6130d4565b612d83565b9050919050565b5f613108826130dd565b9050919050565b5f613119826130fe565b9050919050565b6131298161310f565b82525050565b5f6020820190506131425f830184613120565b92915050565b61315181612e1b565b811461315b575f80fd5b50565b5f8135905061316c81613148565b92915050565b5f806040838503121561318857613187612c60565b5b5f61319585828601612dc9565b92505060206131a68582860161315e565b9150509250929050565b5f602082840312156131c5576131c4612c60565b5b5f6131d284828501612c87565b91505092915050565b5f6131e582612da2565b9050919050565b6131f5816131db565b81146131ff575f80fd5b50565b5f81359050613210816131ec565b92915050565b5f6020828403121561322b5761322a612c60565b5b5f61323884828501613202565b91505092915050565b5f806040838503121561325757613256612c60565b5b5f61326485828601612dc9565b925050602061327585828601612dc9565b9150509250929050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6132b3601683612ce3565b91506132be8261327f565b602082019050919050565b5f6020820190508181035f8301526132e0816132a7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061332b57607f821691505b60208210810361333e5761333d6132e7565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133a882612c68565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133da576133d9613371565b5b600182019050919050565b5f6133ef82612c68565b91506133fa83612c68565b925082820190508082111561341257613411613371565b5b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61344c601783612ce3565b915061345782613418565b602082019050919050565b5f6020820190508181035f83015261347981613440565b9050919050565b5f8151905061348e81612db3565b92915050565b5f602082840312156134a9576134a8612c60565b5b5f6134b684828501613480565b91505092915050565b5f6040820190506134d25f830185613081565b6134df6020830184613081565b9392505050565b5f819050919050565b5f6135096135046134ff846134e6565b6130d4565b612c68565b9050919050565b613519816134ef565b82525050565b5f60c0820190506135325f830189613081565b61353f6020830188612e4e565b61354c6040830187613510565b6135596060830186613510565b6135666080830185613081565b61357360a0830184612e4e565b979650505050505050565b5f8151905061358c81612c71565b92915050565b5f805f606084860312156135a9576135a8612c60565b5b5f6135b68682870161357e565b93505060206135c78682870161357e565b92505060406135d88682870161357e565b9150509250925092565b5f6040820190506135f55f830185613081565b6136026020830184612e4e565b9392505050565b5f8151905061361781613148565b92915050565b5f6020828403121561363257613631612c60565b5b5f61363f84828501613609565b91505092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6136a2603983612ce3565b91506136ad82613648565b604082019050919050565b5f6020820190508181035f8301526136cf81613696565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613730602583612ce3565b915061373b826136d6565b604082019050919050565b5f6020820190508181035f83015261375d81613724565b9050919050565b5f61376e82612c68565b915061377983612c68565b925082820261378781612c68565b9150828204841483151761379e5761379d613371565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137dc82612c68565b91506137e783612c68565b9250826137f7576137f66137a5565b5b828204905092915050565b7f4e6f7420656e6f75676820746f6b656e730000000000000000000000000000005f82015250565b5f613836601183612ce3565b915061384182613802565b602082019050919050565b5f6020820190508181035f8301526138638161382a565b9050919050565b5f6020828403121561387f5761387e612c60565b5b5f61388c8482850161357e565b91505092915050565b7f546f6b656e3a206e6f20746f6b656e7320746f206275726e00000000000000005f82015250565b5f6138c9601883612ce3565b91506138d482613895565b602082019050919050565b5f6020820190508181035f8301526138f6816138bd565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f613931601683612ce3565b915061393c826138fd565b602082019050919050565b5f6020820190508181035f83015261395e81613925565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139bf602683612ce3565b91506139ca82613965565b604082019050919050565b5f6020820190508181035f8301526139ec816139b3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a27602083612ce3565b9150613a32826139f3565b602082019050919050565b5f6020820190508181035f830152613a5481613a1b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ab5602483612ce3565b9150613ac082613a5b565b604082019050919050565b5f6020820190508181035f830152613ae281613aa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b43602283612ce3565b9150613b4e82613ae9565b604082019050919050565b5f6020820190508181035f830152613b7081613b37565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613bab601d83612ce3565b9150613bb682613b77565b602082019050919050565b5f6020820190508181035f830152613bd881613b9f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c39602583612ce3565b9150613c4482613bdf565b604082019050919050565b5f6020820190508181035f830152613c6681613c2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cc7602383612ce3565b9150613cd282613c6d565b604082019050919050565b5f6020820190508181035f830152613cf481613cbb565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613d2f601683612ce3565b9150613d3a82613cfb565b602082019050919050565b5f6020820190508181035f830152613d5c81613d23565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613dbd603583612ce3565b9150613dc882613d63565b604082019050919050565b5f6020820190508181035f830152613dea81613db1565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e25601383612ce3565b9150613e3082613df1565b602082019050919050565b5f6020820190508181035f830152613e5281613e19565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613eb3603683612ce3565b9150613ebe82613e59565b604082019050919050565b5f6020820190508181035f830152613ee081613ea7565b9050919050565b5f613ef182612c68565b9150613efc83612c68565b9250828203905081811115613f1457613f13613371565b5b92915050565b7f50657263656e74616765206d757374206265206265747765656e203020616e645f8201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b5f613f74602483612ce3565b9150613f7f82613f1a565b604082019050919050565b5f6020820190508181035f830152613fa181613f68565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613fda81612da2565b82525050565b5f613feb8383613fd1565b60208301905092915050565b5f602082019050919050565b5f61400d82613fa8565b6140178185613fb2565b935061402283613fc2565b805f5b838110156140525781516140398882613fe0565b975061404483613ff7565b925050600181019050614025565b5085935050505092915050565b5f60a0820190506140725f830188612e4e565b61407f6020830187613510565b81810360408301526140918186614003565b90506140a06060830185613081565b6140ad6080830184612e4e565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614111602683612ce3565b915061411c826140b7565b604082019050919050565b5f6020820190508181035f83015261413e81614105565b905091905056fea2646970667358221220800f5aa823d298bdf0f50e8ae62b2401a9f45fff68405db52afc821b44e7fa6f64736f6c63430008140033000000000000000000000000c0480b6277e6598c74d1934ba5ae824da1d14e06
Deployed Bytecode
0x60806040526004361061021d575f3560e01c80638da5cb5b11610122578063cf9522fd116100aa578063dd8546521161006e578063dd85465214610796578063e2f45605146107c0578063f2fde38b146107ea578063f8b45b0514610812578063ffb54a991461083c57610224565b8063cf9522fd146106ca578063d34628cc146106f4578063db1b71821461071c578063dbb859c814610744578063dd62ed3e1461075a57610224565b8063a9059cbb116100f1578063a9059cbb146105ec578063afa4f3b214610628578063b70143c914610650578063c024666814610678578063c8c8ebe4146106a057610224565b80638da5cb5b1461053457806395d89b411461055e5780639a7a23d614610588578063a457c2d7146105b057610224565b806339509351116101a55780636b4e7680116101745780636b4e76801461047a5780636ddd17131461049057806370a08231146104ba578063715018a6146104f65780637571336a1461050c57610224565b806339509351146103ae57806349bd5a5e146103ea5780634fbee19314610414578063583e05681461045057610224565b806318160ddd116101ec57806318160ddd146102cc57806323b872dd146102f6578063311028af14610332578063313ce5671461035c57806331c2d8471461038657610224565b80630106aaef14610228578063032dc6a21461023e57806306fdde0314610266578063095ea7b31461029057610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610866565b005b348015610249575f80fd5b50610264600480360381019061025f9190612c9b565b61088a565b005b348015610271575f80fd5b5061027a6108f5565b6040516102879190612d63565b60405180910390f35b34801561029b575f80fd5b506102b660048036038101906102b19190612ddd565b610985565b6040516102c39190612e35565b60405180910390f35b3480156102d7575f80fd5b506102e06109a7565b6040516102ed9190612e5d565b60405180910390f35b348015610301575f80fd5b5061031c60048036038101906103179190612e76565b6109b0565b6040516103299190612e35565b60405180910390f35b34801561033d575f80fd5b506103466109de565b6040516103539190612e5d565b60405180910390f35b348015610367575f80fd5b506103706109e4565b60405161037d9190612ee1565b60405180910390f35b348015610391575f80fd5b506103ac60048036038101906103a7919061303a565b6109ec565b005b3480156103b9575f80fd5b506103d460048036038101906103cf9190612ddd565b610a84565b6040516103e19190612e35565b60405180910390f35b3480156103f5575f80fd5b506103fe610aba565b60405161040b9190613090565b60405180910390f35b34801561041f575f80fd5b5061043a600480360381019061043591906130a9565b610adf565b6040516104479190612e35565b60405180910390f35b34801561045b575f80fd5b50610464610b31565b604051610471919061312f565b60405180910390f35b348015610485575f80fd5b5061048e610b55565b005b34801561049b575f80fd5b506104a4610fe1565b6040516104b19190612e35565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db91906130a9565b610ff4565b6040516104ed9190612e5d565b60405180910390f35b348015610501575f80fd5b5061050a611039565b005b348015610517575f80fd5b50610532600480360381019061052d9190613172565b61104c565b005b34801561053f575f80fd5b506105486110ac565b6040516105559190613090565b60405180910390f35b348015610569575f80fd5b506105726110d4565b60405161057f9190612d63565b60405180910390f35b348015610593575f80fd5b506105ae60048036038101906105a99190613172565b611164565b005b3480156105bb575f80fd5b506105d660048036038101906105d19190612ddd565b611209565b6040516105e39190612e35565b60405180910390f35b3480156105f7575f80fd5b50610612600480360381019061060d9190612ddd565b61127e565b60405161061f9190612e35565b60405180910390f35b348015610633575f80fd5b5061064e600480360381019061064991906131b0565b6112a0565b005b34801561065b575f80fd5b50610676600480360381019061067191906131b0565b6112c5565b005b348015610683575f80fd5b5061069e60048036038101906106999190613172565b6113a8565b005b3480156106ab575f80fd5b506106b4611456565b6040516106c19190612e5d565b60405180910390f35b3480156106d5575f80fd5b506106de61145c565b6040516106eb9190612e5d565b60405180910390f35b3480156106ff575f80fd5b5061071a6004803603810190610715919061303a565b611462565b005b348015610727575f80fd5b50610742600480360381019061073d9190613216565b6114fb565b005b34801561074f575f80fd5b50610758611699565b005b348015610765575f80fd5b50610780600480360381019061077b9190613241565b611780565b60405161078d9190612e5d565b60405180910390f35b3480156107a1575f80fd5b506107aa611802565b6040516107b79190612e5d565b60405180910390f35b3480156107cb575f80fd5b506107d4611808565b6040516107e19190612e5d565b60405180910390f35b3480156107f5575f80fd5b50610810600480360381019061080b91906130a9565b61180e565b005b34801561081d575f80fd5b50610826611890565b6040516108339190612e5d565b60405180910390f35b348015610847575f80fd5b50610850611896565b60405161085d9190612e35565b60405180910390f35b61086e6118a8565b5f6108776109a7565b905080600b8190555080600c8190555050565b6108926118a8565b601e82111580156108a4575060638111155b6108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da906132c9565b60405180910390fd5b81600f81905550806010819055505050565b60606003805461090490613314565b80601f016020809104026020016040519081016040528092919081815260200182805461093090613314565b801561097b5780601f106109525761010080835404028352916020019161097b565b820191905f5260205f20905b81548152906001019060200180831161095e57829003601f168201915b5050505050905090565b5f8061098f611926565b905061099c81858561192d565b600191505092915050565b5f600254905090565b5f806109ba611926565b90506109c7858285611af0565b6109d2858585611b7b565b60019150509392505050565b600a5481565b5f6012905090565b6109f46118a8565b5f5b8151811015610a80575f60095f848481518110610a1657610a15613344565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610a789061339e565b9150506109f6565b5050565b5f80610a8e611926565b9050610aaf818585610aa08589611780565b610aaa91906133e5565b61192d565b600191505092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b610b5d6118a8565b600e5f9054906101000a900460ff1615610bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba390613462565b60405180910390fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190613494565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce29190613494565b6040518363ffffffff1660e01b8152600401610cff9291906134bf565b6020604051808303815f875af1158015610d1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3f9190613494565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610daa60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161104c565b610dd660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612503565b610e03307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600a5461192d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e5d6050610e4f30610ff4565b6125a190919063ffffffff16565b5f80610e676110ac565b426040518863ffffffff1660e01b8152600401610e899695949392919061351f565b60606040518083038185885af1158015610ea5573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610eca9190613592565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f699291906135e2565b6020604051808303815f875af1158015610f85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa9919061361d565b506001600e60016101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff021916908315150217905550565b600e60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6110416118a8565b61104a5f612606565b565b6110546118a8565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546110e390613314565b80601f016020809104026020016040519081016040528092919081815260200182805461110f90613314565b801561115a5780601f106111315761010080835404028352916020019161115a565b820191905f5260205f20905b81548152906001019060200180831161113d57829003601f168201915b5050505050905090565b61116c6118a8565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906136b8565b60405180910390fd5b6112058282612503565b5050565b5f80611213611926565b90505f6112208286611780565b905083811015611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90613746565b60405180910390fd5b611272828686840361192d565b60019250505092915050565b5f80611288611926565b9050611295818585611b7b565b600191505092915050565b6112a86118a8565b670de0b6b3a7640000816112bc9190613764565b600d8190555050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611305611926565b73ffffffffffffffffffffffffffffffffffffffff1614611324575f80fd5b5f61132d6109a7565b90505f61133930610ff4565b90505f6064848461134a9190613764565b61135491906137d2565b905080821015611399576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113909061384c565b60405180910390fd5b6113a2816126c9565b50505050565b6113b06118a8565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161144a9190612e35565b60405180910390a25050565b600b5481565b60105481565b61146a6118a8565b5f5b81518110156114f757600160095f84848151811061148d5761148c613344565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806114ef9061339e565b91505061146c565b5050565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115359190613090565b602060405180830381865afa158015611550573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611574919061386a565b90505f81116115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af906138df565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115f8611926565b73ffffffffffffffffffffffffffffffffffffffff1614611617575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61dead836040518363ffffffff1660e01b81526004016116549291906135e2565b6020604051808303815f875af1158015611670573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611694919061361d565b505050565b5f47116116db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d290613947565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661171b611926565b73ffffffffffffffffffffffffffffffffffffffff161461173a575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561177d573d5f803e3d5ffd5b50565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b600d5481565b6118166118a8565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187b906139d5565b60405180910390fd5b61188d81612606565b50565b600c5481565b600e5f9054906101000a900460ff1681565b6118b0611926565b73ffffffffffffffffffffffffffffffffffffffff166118ce6110ac565b73ffffffffffffffffffffffffffffffffffffffff1614611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613a3d565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613acb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090613b59565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae39190612e5d565b60405180910390a3505050565b5f611afb8484611780565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b755781811015611b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5e90613bc1565b60405180910390fd5b611b74848484840361192d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090613c4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e90613cdd565b60405180910390fd5b5f8103611c6e57611c6983835f61291d565b6124fe565b611c766110ac565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ce45750611cb46110ac565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d56575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d6f5750600860149054906101000a900460ff16155b156121e25760095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611e12575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611e1a575f80fd5b600e5f9054906101000a900460ff16611f085760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611ec8575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efe90613d45565b60405180910390fd5b5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611fa5575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561204c57600b54811115611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe690613dd3565b60405180910390fd5b600c54611ffb83610ff4565b8261200691906133e5565b1115612047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203e90613e3b565b60405180910390fd5b6121e1565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156120e9575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561213857600b54811115612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212a90613ec9565b60405180910390fd5b6121e0565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166121df57600c5461219283610ff4565b8261219d91906133e5565b11156121de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d590613e3b565b60405180910390fd5b5b5b5b5b5f6121ec30610ff4565b90505f808211905080801561220d5750600e60019054906101000a900460ff165b80156122265750600860149054906101000a900460ff16155b8015612279575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156122cc575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561231f575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612363576001600860146101000a81548160ff02191690831515021790555061234883612b89565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff1615905060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612412575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561241b575f90505b5f81156124ee5760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156124a057612499606461248b60105488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90506124cb565b6124c860646124ba600f5488612c2390919063ffffffff16565b612c3890919063ffffffff16565b90505b5f8111156124df576124de87308361291d565b5b80856124eb9190613ee7565b94505b6124f987878761291d565b505050505b505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60648211156125e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dd90613f8a565b60405180910390fd5b606482846125f49190613764565b6125fe91906137d2565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff8111156126e5576126e4612efe565b5b6040519080825280602002602001820160405280156127135781602001602082028036833780820191505090505b50905030815f8151811061272a57612729613344565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f19190613494565b8160018151811061280557612804613344565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461192d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016128ec95949392919061405f565b5f604051808303815f87803b158015612903575f80fd5b505af1158015612915573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361298b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298290613c4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f090613cdd565b60405180910390fd5b612a04838383612c4d565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7e90614127565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b709190612e5d565b60405180910390a3612b83848484612c52565b50505050565b5f612b9330610ff4565b90505f808203612ba4575050612c20565b5f82118015612bb45750600d5482105b15612bc157819050612c14565b5f612bea6064612bdc60105487612c2390919063ffffffff16565b612c3890919063ffffffff16565b90508084612bf89190613ee7565b9350600d54841115612c0e57600d549150612c12565b8391505b505b612c1d816126c9565b50505b50565b5f8183612c309190613764565b905092915050565b5f8183612c4591906137d2565b905092915050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b612c7a81612c68565b8114612c84575f80fd5b50565b5f81359050612c9581612c71565b92915050565b5f8060408385031215612cb157612cb0612c60565b5b5f612cbe85828601612c87565b9250506020612ccf85828601612c87565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612d10578082015181840152602081019050612cf5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612d3582612cd9565b612d3f8185612ce3565b9350612d4f818560208601612cf3565b612d5881612d1b565b840191505092915050565b5f6020820190508181035f830152612d7b8184612d2b565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612dac82612d83565b9050919050565b612dbc81612da2565b8114612dc6575f80fd5b50565b5f81359050612dd781612db3565b92915050565b5f8060408385031215612df357612df2612c60565b5b5f612e0085828601612dc9565b9250506020612e1185828601612c87565b9150509250929050565b5f8115159050919050565b612e2f81612e1b565b82525050565b5f602082019050612e485f830184612e26565b92915050565b612e5781612c68565b82525050565b5f602082019050612e705f830184612e4e565b92915050565b5f805f60608486031215612e8d57612e8c612c60565b5b5f612e9a86828701612dc9565b9350506020612eab86828701612dc9565b9250506040612ebc86828701612c87565b9150509250925092565b5f60ff82169050919050565b612edb81612ec6565b82525050565b5f602082019050612ef45f830184612ed2565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612f3482612d1b565b810181811067ffffffffffffffff82111715612f5357612f52612efe565b5b80604052505050565b5f612f65612c57565b9050612f718282612f2b565b919050565b5f67ffffffffffffffff821115612f9057612f8f612efe565b5b602082029050602081019050919050565b5f80fd5b5f612fb7612fb284612f76565b612f5c565b90508083825260208201905060208402830185811115612fda57612fd9612fa1565b5b835b818110156130035780612fef8882612dc9565b845260208401935050602081019050612fdc565b5050509392505050565b5f82601f83011261302157613020612efa565b5b8135613031848260208601612fa5565b91505092915050565b5f6020828403121561304f5761304e612c60565b5b5f82013567ffffffffffffffff81111561306c5761306b612c64565b5b6130788482850161300d565b91505092915050565b61308a81612da2565b82525050565b5f6020820190506130a35f830184613081565b92915050565b5f602082840312156130be576130bd612c60565b5b5f6130cb84828501612dc9565b91505092915050565b5f819050919050565b5f6130f76130f26130ed84612d83565b6130d4565b612d83565b9050919050565b5f613108826130dd565b9050919050565b5f613119826130fe565b9050919050565b6131298161310f565b82525050565b5f6020820190506131425f830184613120565b92915050565b61315181612e1b565b811461315b575f80fd5b50565b5f8135905061316c81613148565b92915050565b5f806040838503121561318857613187612c60565b5b5f61319585828601612dc9565b92505060206131a68582860161315e565b9150509250929050565b5f602082840312156131c5576131c4612c60565b5b5f6131d284828501612c87565b91505092915050565b5f6131e582612da2565b9050919050565b6131f5816131db565b81146131ff575f80fd5b50565b5f81359050613210816131ec565b92915050565b5f6020828403121561322b5761322a612c60565b5b5f61323884828501613202565b91505092915050565b5f806040838503121561325757613256612c60565b5b5f61326485828601612dc9565b925050602061327585828601612dc9565b9150509250929050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6132b3601683612ce3565b91506132be8261327f565b602082019050919050565b5f6020820190508181035f8301526132e0816132a7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061332b57607f821691505b60208210810361333e5761333d6132e7565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133a882612c68565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133da576133d9613371565b5b600182019050919050565b5f6133ef82612c68565b91506133fa83612c68565b925082820190508082111561341257613411613371565b5b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61344c601783612ce3565b915061345782613418565b602082019050919050565b5f6020820190508181035f83015261347981613440565b9050919050565b5f8151905061348e81612db3565b92915050565b5f602082840312156134a9576134a8612c60565b5b5f6134b684828501613480565b91505092915050565b5f6040820190506134d25f830185613081565b6134df6020830184613081565b9392505050565b5f819050919050565b5f6135096135046134ff846134e6565b6130d4565b612c68565b9050919050565b613519816134ef565b82525050565b5f60c0820190506135325f830189613081565b61353f6020830188612e4e565b61354c6040830187613510565b6135596060830186613510565b6135666080830185613081565b61357360a0830184612e4e565b979650505050505050565b5f8151905061358c81612c71565b92915050565b5f805f606084860312156135a9576135a8612c60565b5b5f6135b68682870161357e565b93505060206135c78682870161357e565b92505060406135d88682870161357e565b9150509250925092565b5f6040820190506135f55f830185613081565b6136026020830184612e4e565b9392505050565b5f8151905061361781613148565b92915050565b5f6020828403121561363257613631612c60565b5b5f61363f84828501613609565b91505092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6136a2603983612ce3565b91506136ad82613648565b604082019050919050565b5f6020820190508181035f8301526136cf81613696565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613730602583612ce3565b915061373b826136d6565b604082019050919050565b5f6020820190508181035f83015261375d81613724565b9050919050565b5f61376e82612c68565b915061377983612c68565b925082820261378781612c68565b9150828204841483151761379e5761379d613371565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137dc82612c68565b91506137e783612c68565b9250826137f7576137f66137a5565b5b828204905092915050565b7f4e6f7420656e6f75676820746f6b656e730000000000000000000000000000005f82015250565b5f613836601183612ce3565b915061384182613802565b602082019050919050565b5f6020820190508181035f8301526138638161382a565b9050919050565b5f6020828403121561387f5761387e612c60565b5b5f61388c8482850161357e565b91505092915050565b7f546f6b656e3a206e6f20746f6b656e7320746f206275726e00000000000000005f82015250565b5f6138c9601883612ce3565b91506138d482613895565b602082019050919050565b5f6020820190508181035f8301526138f6816138bd565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f613931601683612ce3565b915061393c826138fd565b602082019050919050565b5f6020820190508181035f83015261395e81613925565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6139bf602683612ce3565b91506139ca82613965565b604082019050919050565b5f6020820190508181035f8301526139ec816139b3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a27602083612ce3565b9150613a32826139f3565b602082019050919050565b5f6020820190508181035f830152613a5481613a1b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ab5602483612ce3565b9150613ac082613a5b565b604082019050919050565b5f6020820190508181035f830152613ae281613aa9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b43602283612ce3565b9150613b4e82613ae9565b604082019050919050565b5f6020820190508181035f830152613b7081613b37565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613bab601d83612ce3565b9150613bb682613b77565b602082019050919050565b5f6020820190508181035f830152613bd881613b9f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613c39602583612ce3565b9150613c4482613bdf565b604082019050919050565b5f6020820190508181035f830152613c6681613c2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613cc7602383612ce3565b9150613cd282613c6d565b604082019050919050565b5f6020820190508181035f830152613cf481613cbb565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613d2f601683612ce3565b9150613d3a82613cfb565b602082019050919050565b5f6020820190508181035f830152613d5c81613d23565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613dbd603583612ce3565b9150613dc882613d63565b604082019050919050565b5f6020820190508181035f830152613dea81613db1565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613e25601383612ce3565b9150613e3082613df1565b602082019050919050565b5f6020820190508181035f830152613e5281613e19565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613eb3603683612ce3565b9150613ebe82613e59565b604082019050919050565b5f6020820190508181035f830152613ee081613ea7565b9050919050565b5f613ef182612c68565b9150613efc83612c68565b9250828203905081811115613f1457613f13613371565b5b92915050565b7f50657263656e74616765206d757374206265206265747765656e203020616e645f8201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b5f613f74602483612ce3565b9150613f7f82613f1a565b604082019050919050565b5f6020820190508181035f830152613fa181613f68565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613fda81612da2565b82525050565b5f613feb8383613fd1565b60208301905092915050565b5f602082019050919050565b5f61400d82613fa8565b6140178185613fb2565b935061402283613fc2565b805f5b838110156140525781516140398882613fe0565b975061404483613ff7565b925050600181019050614025565b5085935050505092915050565b5f60a0820190506140725f830188612e4e565b61407f6020830187613510565b81810360408301526140918186614003565b90506140a06060830185613081565b6140ad6080830184612e4e565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614111602683612ce3565b915061411c826140b7565b604082019050919050565b5f6020820190508181035f83015261413e81614105565b905091905056fea2646970667358221220800f5aa823d298bdf0f50e8ae62b2401a9f45fff68405db52afc821b44e7fa6f64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c0480b6277e6598c74d1934ba5ae824da1d14e06
-----Decoded View---------------
Arg [0] : wallet (address): 0xc0480B6277e6598C74D1934bA5ae824Da1D14E06
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c0480b6277e6598c74d1934ba5ae824da1d14e06
Deployed Bytecode Sourcemap
15066:9196:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22094:196;;;;;;;;;;;;;:::i;:::-;;23408:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10294:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11226:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10615:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11435:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15545:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10514:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19058:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11704:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15201:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18749:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15142:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17171:740;;;;;;;;;;;;;:::i;:::-;;15808:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10731:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1393:103;;;;;;;;;;;;;:::i;:::-;;17917:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1158:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10402:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18282:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11950:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10866:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22858:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22993:407;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18092:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15604:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15881:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18883:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22532:318;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22298:226;;;;;;;;;;;;;:::i;:::-;;11067:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15848:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15711:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1504:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15663:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15770:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22094:196;1117:13;:11;:13::i;:::-;22150:25:::1;22178:13;:11;:13::i;:::-;22150:41;;22225:17;22202:20;:40;;;;22265:17;22253:9;:29;;;;22139:151;22094:196::o:0;23408:211::-;1117:13;:11;:13::i;:::-;23508:2:::1;23497:7;:13;;:31;;;;;23526:2;23514:8;:14;;23497:31;23489:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;23575:7;23566:6;:16;;;;23603:8;23593:7;:18;;;;23408:211:::0;;:::o;10294:100::-;10348:13;10381:5;10374:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10294:100;:::o;11226:201::-;11309:4;11326:13;11342:12;:10;:12::i;:::-;11326:28;;11365:32;11374:5;11381:7;11390:6;11365:8;:32::i;:::-;11415:4;11408:11;;;11226:201;;;;:::o;10615:108::-;10676:7;10703:12;;10696:19;;10615:108;:::o;11435:261::-;11532:4;11549:15;11567:12;:10;:12::i;:::-;11549:30;;11590:38;11606:4;11612:7;11621:6;11590:15;:38::i;:::-;11639:27;11649:4;11655:2;11659:6;11639:9;:27::i;:::-;11684:4;11677:11;;;11435:261;;;;;:::o;15545:52::-;;;;:::o;10514:93::-;10572:5;10597:2;10590:9;;10514:93;:::o;19058:171::-;1117:13;:11;:13::i;:::-;19133:9:::1;19128:94;19152:6;:13;19148:1;:17;19128:94;;;19205:5;19187:4;:15;19192:6;19199:1;19192:9;;;;;;;;:::i;:::-;;;;;;;;19187:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;19167:3;;;;;:::i;:::-;;;;19128:94;;;;19058:171:::0;:::o;11704:238::-;11792:4;11809:13;11825:12;:10;:12::i;:::-;11809:28;;11848:64;11857:5;11864:7;11901:10;11873:25;11883:5;11890:7;11873:9;:25::i;:::-;:38;;;;:::i;:::-;11848:8;:64::i;:::-;11930:4;11923:11;;;11704:238;;;;:::o;15201:28::-;;;;;;;;;;;;;:::o;18749:126::-;18815:4;18839:19;:28;18859:7;18839:28;;;;;;;;;;;;;;;;;;;;;;;;;18832:35;;18749:126;;;:::o;15142:52::-;;;:::o;17171:740::-;1117:13;:11;:13::i;:::-;17236:11:::1;;;;;;;;;;;17235:12;17227:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;17319:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17301:56;;;17366:4;17373:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17301:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17285:13;;:112;;;;;;;;;;;;;;;;;;17408:55;17442:13;;;;;;;;;;;17458:4;17408:25;:55::i;:::-;17474:58;17511:13;;;;;;;;;;;17527:4;17474:28;:58::i;:::-;17543:70;17560:4;17575:16;17594:18;;17543:8;:70::i;:::-;17624:16;:32;;;17664:21;17695:4;17701:32;17730:2;17701:24;17719:4;17701:9;:24::i;:::-;:28;;:32;;;;:::i;:::-;17734:1;17736::::0;17738:7:::1;:5;:7::i;:::-;17746:15;17624:138;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17780:13;;;;;;;;;;;17773:29;;;17811:16;17830:14;17773:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17870:4;17856:11;;:18;;;;;;;;;;;;;;;;;;17899:4;17885:11;;:18;;;;;;;;;;;;;;;;;;17171:740::o:0;15808:31::-;;;;;;;;;;;;;:::o;10731:127::-;10805:7;10832:9;:18;10842:7;10832:18;;;;;;;;;;;;;;;;10825:25;;10731:127;;;:::o;1393:103::-;1117:13;:11;:13::i;:::-;1458:30:::1;1485:1;1458:18;:30::i;:::-;1393:103::o:0;17917:167::-;1117:13;:11;:13::i;:::-;18072:4:::1;18030:31;:39;18062:6;18030:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;17917:167:::0;;:::o;1158:87::-;1204:7;1231:6;;;;;;;;;;;1224:13;;1158:87;:::o;10402:104::-;10458:13;10491:7;10484:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10402:104;:::o;18282:265::-;1117:13;:11;:13::i;:::-;18412::::1;;;;;;;;;;;18404:21;;:4;:21;;::::0;18396:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18498:41;18527:4;18533:5;18498:28;:41::i;:::-;18282:265:::0;;:::o;11950:436::-;12043:4;12060:13;12076:12;:10;:12::i;:::-;12060:28;;12099:24;12126:25;12136:5;12143:7;12126:9;:25::i;:::-;12099:52;;12190:15;12170:16;:35;;12162:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12283:60;12292:5;12299:7;12327:15;12308:16;:34;12283:8;:60::i;:::-;12374:4;12367:11;;;;11950:436;;;;:::o;10866:193::-;10945:4;10962:13;10978:12;:10;:12::i;:::-;10962:28;;11001;11011:5;11018:2;11022:6;11001:9;:28::i;:::-;11047:4;11040:11;;;10866:193;;;;:::o;22858:127::-;1117:13;:11;:13::i;:::-;22968:8:::1;22957:7;:20;;;;:::i;:::-;22936:18;:41;;;;22858:127:::0;:::o;22993:407::-;23074:15;;;;;;;;;;;23058:31;;:12;:10;:12::i;:::-;:31;;;23050:40;;;;;;23101:25;23129:13;:11;:13::i;:::-;23101:41;;23153:23;23179:24;23197:4;23179:9;:24::i;:::-;23153:50;;23214:23;23270:3;23260:7;23240:17;:27;;;;:::i;:::-;:33;;;;:::i;:::-;23214:59;;23311:15;23292;:34;;23284:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;23359:33;23376:15;23359:16;:33::i;:::-;23039:361;;;22993:407;:::o;18092:182::-;1117:13;:11;:13::i;:::-;18208:8:::1;18177:19;:28;18197:7;18177:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18248:7;18232:34;;;18257:8;18232:34;;;;;;:::i;:::-;;;;;;;;18092:182:::0;;:::o;15604:52::-;;;;:::o;15881:27::-;;;;:::o;18883:167::-;1117:13;:11;:13::i;:::-;18957:9:::1;18952:91;18976:5;:12;18972:1;:16;18952:91;;;19027:4;19010;:14;19015:5;19021:1;19015:8;;;;;;;;:::i;:::-;;;;;;;;19010:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;18990:3;;;;;:::i;:::-;;;;18952:91;;;;18883:167:::0;:::o;22532:318::-;22599:23;22625:12;:22;;;22656:4;22625:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22599:63;;22699:1;22681:15;:19;22673:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;22764:15;;;;;;;;;;;22748:31;;:12;:10;:12::i;:::-;:31;;;22740:40;;;;;;22791:12;:21;;;15358:6;22826:15;22791:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22588:262;22532:318;:::o;22298:226::-;22375:1;22351:21;:25;22343:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;22438:15;;;;;;;;;;;22422:31;;:12;:10;:12::i;:::-;:31;;;22414:40;;;;;;22473:10;22465:28;;:51;22494:21;22465:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22298:226::o;11067:151::-;11156:7;11183:11;:18;11195:5;11183:18;;;;;;;;;;;;;;;:27;11202:7;11183:27;;;;;;;;;;;;;;;;11176:34;;11067:151;;;;:::o;15848:26::-;;;;:::o;15711:50::-;;;;:::o;1504:201::-;1117:13;:11;:13::i;:::-;1613:1:::1;1593:22;;:8;:22;;::::0;1585:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1669:28;1688:8;1669:18;:28::i;:::-;1504:201:::0;:::o;15663:41::-;;;;:::o;15770:31::-;;;;;;;;;;;;;:::o;1253:132::-;1328:12;:10;:12::i;:::-;1317:23;;:7;:5;:7::i;:::-;:23;;;1309:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1253:132::o;631:98::-;684:7;711:10;704:17;;631:98;:::o;14089:346::-;14208:1;14191:19;;:5;:19;;;14183:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14289:1;14270:21;;:7;:21;;;14262:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14373:6;14343:11;:18;14355:5;14343:18;;;;;;;;;;;;;;;:27;14362:7;14343:27;;;;;;;;;;;;;;;:36;;;;14411:7;14395:32;;14404:5;14395:32;;;14420:6;14395:32;;;;;;:::i;:::-;;;;;;;;14089:346;;;:::o;14443:419::-;14544:24;14571:25;14581:5;14588:7;14571:9;:25::i;:::-;14544:52;;14631:17;14611:16;:37;14607:248;;14693:6;14673:16;:26;;14665:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14777:51;14786:5;14793:7;14821:6;14802:16;:25;14777:8;:51::i;:::-;14607:248;14533:329;14443:419;;;:::o;19237:2363::-;19351:1;19335:18;;:4;:18;;;19327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19428:1;19414:16;;:2;:16;;;19406:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19505:1;19495:6;:11;19491:93;;19523:28;19539:4;19545:2;19549:1;19523:15;:28::i;:::-;19566:7;;19491:93;19608:7;:5;:7::i;:::-;19600:15;;:4;:15;;;;:32;;;;;19625:7;:5;:7::i;:::-;19619:13;;:2;:13;;;;19600:32;:52;;;;;19650:1;19636:16;;:2;:16;;;;19600:52;:77;;;;;19670:6;19656:21;;:2;:21;;;;19600:77;:90;;;;;19682:8;;;;;;;;;;;19681:9;19600:90;19596:1044;;;19716:4;:10;19721:4;19716:10;;;;;;;;;;;;;;;;;;;;;;;;;19715:11;:24;;;;;19731:4;:8;19736:2;19731:8;;;;;;;;;;;;;;;;;;;;;;;;;19730:9;19715:24;19707:33;;;;;;19762:11;;;;;;;;;;;19757:140;;19802:19;:25;19822:4;19802:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;19831:19;:23;19851:2;19831:23;;;;;;;;;;;;;;;;;;;;;;;;;19802:52;19794:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;19757:140;19917:25;:31;19943:4;19917:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19953:31;:35;19985:2;19953:35;;;;;;;;;;;;;;;;;;;;;;;;;19952:36;19917:71;19913:716;;;20041:20;;20031:6;:30;;20023:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;20172:9;;20155:13;20165:2;20155:9;:13::i;:::-;20146:6;:22;;;;:::i;:::-;:35;;20138:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19913:716;;;20246:25;:29;20272:2;20246:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20280:31;:37;20312:4;20280:37;;;;;;;;;;;;;;;;;;;;;;;;;20279:38;20246:71;20242:387;;;20356:20;;20346:6;:30;;20338:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;20242:387;;;20490:31;:35;20522:2;20490:35;;;;;;;;;;;;;;;;;;;;;;;;;20485:144;;20580:9;;20563:13;20573:2;20563:9;:13::i;:::-;20554:6;:22;;;;:::i;:::-;:35;;20546:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20485:144;20242:387;19913:716;19596:1044;20652:28;20683:24;20701:4;20683:9;:24::i;:::-;20652:55;;20720:12;20758:1;20735:20;:24;20720:39;;20776:7;:22;;;;;20787:11;;;;;;;;;;;20776:22;:35;;;;;20803:8;;;;;;;;;;;20802:9;20776:35;:71;;;;;20816:25;:31;20842:4;20816:31;;;;;;;;;;;;;;;;;;;;;;;;;20815:32;20776:71;:101;;;;;20852:19;:25;20872:4;20852:25;;;;;;;;;;;;;;;;;;;;;;;;;20851:26;20776:101;:129;;;;;20882:19;:23;20902:2;20882:23;;;;;;;;;;;;;;;;;;;;;;;;;20881:24;20776:129;20772:239;;;20933:4;20922:8;;:15;;;;;;;;;;;;;;;;;;20952:16;20961:6;20952:8;:16::i;:::-;20994:5;20983:8;;:16;;;;;;;;;;;;;;;;;;20772:239;21023:12;21039:8;;;;;;;;;;;21038:9;21023:24;;21064:19;:25;21084:4;21064:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;21093:19;:23;21113:2;21093:23;;;;;;;;;;;;;;;;;;;;;;;;;21064:52;21060:100;;;21143:5;21133:15;;21060:100;21172:12;21205:7;21201:348;;;21233:25;:29;21259:2;21233:29;;;;;;;;;;;;;;;;;;;;;;;;;21229:193;;;21290:28;21314:3;21290:19;21301:7;;21290:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;21283:35;;21229:193;;;21379:27;21402:3;21379:18;21390:6;;21379;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;21372:34;;21229:193;21445:1;21438:4;:8;21434:83;;;21463:42;21479:4;21493;21500;21463:15;:42::i;:::-;21434:83;21537:4;21527:14;;;;;:::i;:::-;;;21201:348;21559:33;21575:4;21581:2;21585:6;21559:15;:33::i;:::-;19316:2284;;;;19237:2363;;;;:::o;18555:186::-;18672:5;18638:25;:31;18664:4;18638:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18727:5;18693:40;;18721:4;18693:40;;;;;;;;;;;;18555:186;;:::o;9283:172::-;9341:7;9374:3;9369:1;:8;;9361:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9444:3;9440:1;9436;:5;;;;:::i;:::-;:11;;;;:::i;:::-;9429:18;;9283:172;;;;:::o;1713:191::-;1787:16;1806:6;;;;;;;;;;;1787:25;;1832:8;1823:6;;:17;;;;;;;;;;;;;;;;;;1887:8;1856:40;;1877:8;1856:40;;;;;;;;;;;;1776:128;1713:191;:::o;21608:478::-;21676:21;21714:1;21700:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21676:40;;21745:4;21727;21732:1;21727:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21771:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21761:4;21766:1;21761:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;21805:63;21822:4;21837:16;21856:11;21805:8;:63::i;:::-;21879:16;:67;;;21961:11;21987:1;22003:4;22022:15;;;;;;;;;;;22052;21879:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21663:423;21608:478;:::o;12394:641::-;12507:1;12491:18;;:4;:18;;;12483:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12584:1;12570:16;;:2;:16;;;12562:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12639:38;12660:4;12666:2;12670:6;12639:20;:38::i;:::-;12690:19;12712:9;:15;12722:4;12712:15;;;;;;;;;;;;;;;;12690:37;;12761:6;12746:11;:21;;12738:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12878:6;12864:11;:20;12846:9;:15;12856:4;12846:15;;;;;;;;;;;;;;;:38;;;;12916:6;12899:9;:13;12909:2;12899:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12966:2;12951:26;;12960:4;12951:26;;;12970:6;12951:26;;;;;;:::i;:::-;;;;;;;;12990:37;13010:4;13016:2;13020:6;12990:19;:37::i;:::-;12472:563;12394:641;;;:::o;23627:632::-;23680:23;23706:24;23724:4;23706:9;:24::i;:::-;23680:50;;23741:20;23791:1;23772:15;:20;23768:449;;23805:7;;;;23768:449;23852:1;23834:15;:19;:59;;;;;23875:18;;23857:15;:36;23834:59;23831:386;;;23921:15;23906:30;;23831:386;;;23966:21;23990:28;24014:3;23990:19;24001:7;;23990:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;23966:52;;24039:13;24029:23;;;;;:::i;:::-;;;24076:18;;24067:6;:27;24063:147;;;24126:18;;24111:33;;24063:147;;;24192:6;24177:21;;24063:147;23955:262;23831:386;24223:30;24240:12;24223:16;:30::i;:::-;23669:590;;23627:632;;:::o;8751:98::-;8809:7;8840:1;8836;:5;;;;:::i;:::-;8829:12;;8751:98;;;;:::o;8857:::-;8915:7;8946:1;8942;:5;;;;:::i;:::-;8935:12;;8857:98;;;;:::o;14870:91::-;;;;:::o;14969:90::-;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:246::-;1531:1;1541:113;1555:6;1552:1;1549:13;1541:113;;;1640:1;1635:3;1631:11;1625:18;1621:1;1616:3;1612:11;1605:39;1577:2;1574:1;1570:10;1565:15;;1541:113;;;1688:1;1679:6;1674:3;1670:16;1663:27;1512:184;1450:246;;;:::o;1702:102::-;1743:6;1794:2;1790:7;1785:2;1778:5;1774:14;1770:28;1760:38;;1702:102;;;:::o;1810:377::-;1898:3;1926:39;1959:5;1926:39;:::i;:::-;1981:71;2045:6;2040:3;1981:71;:::i;:::-;1974:78;;2061:65;2119:6;2114:3;2107:4;2100:5;2096:16;2061:65;:::i;:::-;2151:29;2173:6;2151:29;:::i;:::-;2146:3;2142:39;2135:46;;1902:285;1810:377;;;;:::o;2193:313::-;2306:4;2344:2;2333:9;2329:18;2321:26;;2393:9;2387:4;2383:20;2379:1;2368:9;2364:17;2357:47;2421:78;2494:4;2485:6;2421:78;:::i;:::-;2413:86;;2193:313;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:117::-;5442:1;5439;5432:12;5456:180;5504:77;5501:1;5494:88;5601:4;5598:1;5591:15;5625:4;5622:1;5615:15;5642:281;5725:27;5747:4;5725:27;:::i;:::-;5717:6;5713:40;5855:6;5843:10;5840:22;5819:18;5807:10;5804:34;5801:62;5798:88;;;5866:18;;:::i;:::-;5798:88;5906:10;5902:2;5895:22;5685:238;5642:281;;:::o;5929:129::-;5963:6;5990:20;;:::i;:::-;5980:30;;6019:33;6047:4;6039:6;6019:33;:::i;:::-;5929:129;;;:::o;6064:311::-;6141:4;6231:18;6223:6;6220:30;6217:56;;;6253:18;;:::i;:::-;6217:56;6303:4;6295:6;6291:17;6283:25;;6363:4;6357;6353:15;6345:23;;6064:311;;;:::o;6381:117::-;6490:1;6487;6480:12;6521:710;6617:5;6642:81;6658:64;6715:6;6658:64;:::i;:::-;6642:81;:::i;:::-;6633:90;;6743:5;6772:6;6765:5;6758:21;6806:4;6799:5;6795:16;6788:23;;6859:4;6851:6;6847:17;6839:6;6835:30;6888:3;6880:6;6877:15;6874:122;;;6907:79;;:::i;:::-;6874:122;7022:6;7005:220;7039:6;7034:3;7031:15;7005:220;;;7114:3;7143:37;7176:3;7164:10;7143:37;:::i;:::-;7138:3;7131:50;7210:4;7205:3;7201:14;7194:21;;7081:144;7065:4;7060:3;7056:14;7049:21;;7005:220;;;7009:21;6623:608;;6521:710;;;;;:::o;7254:370::-;7325:5;7374:3;7367:4;7359:6;7355:17;7351:27;7341:122;;7382:79;;:::i;:::-;7341:122;7499:6;7486:20;7524:94;7614:3;7606:6;7599:4;7591:6;7587:17;7524:94;:::i;:::-;7515:103;;7331:293;7254:370;;;;:::o;7630:539::-;7714:6;7763:2;7751:9;7742:7;7738:23;7734:32;7731:119;;;7769:79;;:::i;:::-;7731:119;7917:1;7906:9;7902:17;7889:31;7947:18;7939:6;7936:30;7933:117;;;7969:79;;:::i;:::-;7933:117;8074:78;8144:7;8135:6;8124:9;8120:22;8074:78;:::i;:::-;8064:88;;7860:302;7630:539;;;;:::o;8175:118::-;8262:24;8280:5;8262:24;:::i;:::-;8257:3;8250:37;8175:118;;:::o;8299:222::-;8392:4;8430:2;8419:9;8415:18;8407:26;;8443:71;8511:1;8500:9;8496:17;8487:6;8443:71;:::i;:::-;8299:222;;;;:::o;8527:329::-;8586:6;8635:2;8623:9;8614:7;8610:23;8606:32;8603:119;;;8641:79;;:::i;:::-;8603:119;8761:1;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8732:117;8527:329;;;;:::o;8862:60::-;8890:3;8911:5;8904:12;;8862:60;;;:::o;8928:142::-;8978:9;9011:53;9029:34;9038:24;9056:5;9038:24;:::i;:::-;9029:34;:::i;:::-;9011:53;:::i;:::-;8998:66;;8928:142;;;:::o;9076:126::-;9126:9;9159:37;9190:5;9159:37;:::i;:::-;9146:50;;9076:126;;;:::o;9208:152::-;9284:9;9317:37;9348:5;9317:37;:::i;:::-;9304:50;;9208:152;;;:::o;9366:183::-;9479:63;9536:5;9479:63;:::i;:::-;9474:3;9467:76;9366:183;;:::o;9555:274::-;9674:4;9712:2;9701:9;9697:18;9689:26;;9725:97;9819:1;9808:9;9804:17;9795:6;9725:97;:::i;:::-;9555:274;;;;:::o;9835:116::-;9905:21;9920:5;9905:21;:::i;:::-;9898:5;9895:32;9885:60;;9941:1;9938;9931:12;9885:60;9835:116;:::o;9957:133::-;10000:5;10038:6;10025:20;10016:29;;10054:30;10078:5;10054:30;:::i;:::-;9957:133;;;;:::o;10096:468::-;10161:6;10169;10218:2;10206:9;10197:7;10193:23;10189:32;10186:119;;;10224:79;;:::i;:::-;10186:119;10344:1;10369:53;10414:7;10405:6;10394:9;10390:22;10369:53;:::i;:::-;10359:63;;10315:117;10471:2;10497:50;10539:7;10530:6;10519:9;10515:22;10497:50;:::i;:::-;10487:60;;10442:115;10096:468;;;;;:::o;10570:329::-;10629:6;10678:2;10666:9;10657:7;10653:23;10649:32;10646:119;;;10684:79;;:::i;:::-;10646:119;10804:1;10829:53;10874:7;10865:6;10854:9;10850:22;10829:53;:::i;:::-;10819:63;;10775:117;10570:329;;;;:::o;10905:110::-;10956:7;10985:24;11003:5;10985:24;:::i;:::-;10974:35;;10905:110;;;:::o;11021:150::-;11108:38;11140:5;11108:38;:::i;:::-;11101:5;11098:49;11088:77;;11161:1;11158;11151:12;11088:77;11021:150;:::o;11177:167::-;11237:5;11275:6;11262:20;11253:29;;11291:47;11332:5;11291:47;:::i;:::-;11177:167;;;;:::o;11350:357::-;11423:6;11472:2;11460:9;11451:7;11447:23;11443:32;11440:119;;;11478:79;;:::i;:::-;11440:119;11598:1;11623:67;11682:7;11673:6;11662:9;11658:22;11623:67;:::i;:::-;11613:77;;11569:131;11350:357;;;;:::o;11713:474::-;11781:6;11789;11838:2;11826:9;11817:7;11813:23;11809:32;11806:119;;;11844:79;;:::i;:::-;11806:119;11964:1;11989:53;12034:7;12025:6;12014:9;12010:22;11989:53;:::i;:::-;11979:63;;11935:117;12091:2;12117:53;12162:7;12153:6;12142:9;12138:22;12117:53;:::i;:::-;12107:63;;12062:118;11713:474;;;;;:::o;12193:172::-;12333:24;12329:1;12321:6;12317:14;12310:48;12193:172;:::o;12371:366::-;12513:3;12534:67;12598:2;12593:3;12534:67;:::i;:::-;12527:74;;12610:93;12699:3;12610:93;:::i;:::-;12728:2;12723:3;12719:12;12712:19;;12371:366;;;:::o;12743:419::-;12909:4;12947:2;12936:9;12932:18;12924:26;;12996:9;12990:4;12986:20;12982:1;12971:9;12967:17;12960:47;13024:131;13150:4;13024:131;:::i;:::-;13016:139;;12743:419;;;:::o;13168:180::-;13216:77;13213:1;13206:88;13313:4;13310:1;13303:15;13337:4;13334:1;13327:15;13354:320;13398:6;13435:1;13429:4;13425:12;13415:22;;13482:1;13476:4;13472:12;13503:18;13493:81;;13559:4;13551:6;13547:17;13537:27;;13493:81;13621:2;13613:6;13610:14;13590:18;13587:38;13584:84;;13640:18;;:::i;:::-;13584:84;13405:269;13354:320;;;:::o;13680:180::-;13728:77;13725:1;13718:88;13825:4;13822:1;13815:15;13849:4;13846:1;13839:15;13866:180;13914:77;13911:1;13904:88;14011:4;14008:1;14001:15;14035:4;14032:1;14025:15;14052:233;14091:3;14114:24;14132:5;14114:24;:::i;:::-;14105:33;;14160:66;14153:5;14150:77;14147:103;;14230:18;;:::i;:::-;14147:103;14277:1;14270:5;14266:13;14259:20;;14052:233;;;:::o;14291:191::-;14331:3;14350:20;14368:1;14350:20;:::i;:::-;14345:25;;14384:20;14402:1;14384:20;:::i;:::-;14379:25;;14427:1;14424;14420:9;14413:16;;14448:3;14445:1;14442:10;14439:36;;;14455:18;;:::i;:::-;14439:36;14291:191;;;;:::o;14488:173::-;14628:25;14624:1;14616:6;14612:14;14605:49;14488:173;:::o;14667:366::-;14809:3;14830:67;14894:2;14889:3;14830:67;:::i;:::-;14823:74;;14906:93;14995:3;14906:93;:::i;:::-;15024:2;15019:3;15015:12;15008:19;;14667:366;;;:::o;15039:419::-;15205:4;15243:2;15232:9;15228:18;15220:26;;15292:9;15286:4;15282:20;15278:1;15267:9;15263:17;15256:47;15320:131;15446:4;15320:131;:::i;:::-;15312:139;;15039:419;;;:::o;15464:143::-;15521:5;15552:6;15546:13;15537:22;;15568:33;15595:5;15568:33;:::i;:::-;15464:143;;;;:::o;15613:351::-;15683:6;15732:2;15720:9;15711:7;15707:23;15703:32;15700:119;;;15738:79;;:::i;:::-;15700:119;15858:1;15883:64;15939:7;15930:6;15919:9;15915:22;15883:64;:::i;:::-;15873:74;;15829:128;15613:351;;;;:::o;15970:332::-;16091:4;16129:2;16118:9;16114:18;16106:26;;16142:71;16210:1;16199:9;16195:17;16186:6;16142:71;:::i;:::-;16223:72;16291:2;16280:9;16276:18;16267:6;16223:72;:::i;:::-;15970:332;;;;;:::o;16308:85::-;16353:7;16382:5;16371:16;;16308:85;;;:::o;16399:158::-;16457:9;16490:61;16508:42;16517:32;16543:5;16517:32;:::i;:::-;16508:42;:::i;:::-;16490:61;:::i;:::-;16477:74;;16399:158;;;:::o;16563:147::-;16658:45;16697:5;16658:45;:::i;:::-;16653:3;16646:58;16563:147;;:::o;16716:807::-;16965:4;17003:3;16992:9;16988:19;16980:27;;17017:71;17085:1;17074:9;17070:17;17061:6;17017:71;:::i;:::-;17098:72;17166:2;17155:9;17151:18;17142:6;17098:72;:::i;:::-;17180:80;17256:2;17245:9;17241:18;17232:6;17180:80;:::i;:::-;17270;17346:2;17335:9;17331:18;17322:6;17270:80;:::i;:::-;17360:73;17428:3;17417:9;17413:19;17404:6;17360:73;:::i;:::-;17443;17511:3;17500:9;17496:19;17487:6;17443:73;:::i;:::-;16716:807;;;;;;;;;:::o;17529:143::-;17586:5;17617:6;17611:13;17602:22;;17633:33;17660:5;17633:33;:::i;:::-;17529:143;;;;:::o;17678:663::-;17766:6;17774;17782;17831:2;17819:9;17810:7;17806:23;17802:32;17799:119;;;17837:79;;:::i;:::-;17799:119;17957:1;17982:64;18038:7;18029:6;18018:9;18014:22;17982:64;:::i;:::-;17972:74;;17928:128;18095:2;18121:64;18177:7;18168:6;18157:9;18153:22;18121:64;:::i;:::-;18111:74;;18066:129;18234:2;18260:64;18316:7;18307:6;18296:9;18292:22;18260:64;:::i;:::-;18250:74;;18205:129;17678:663;;;;;:::o;18347:332::-;18468:4;18506:2;18495:9;18491:18;18483:26;;18519:71;18587:1;18576:9;18572:17;18563:6;18519:71;:::i;:::-;18600:72;18668:2;18657:9;18653:18;18644:6;18600:72;:::i;:::-;18347:332;;;;;:::o;18685:137::-;18739:5;18770:6;18764:13;18755:22;;18786:30;18810:5;18786:30;:::i;:::-;18685:137;;;;:::o;18828:345::-;18895:6;18944:2;18932:9;18923:7;18919:23;18915:32;18912:119;;;18950:79;;:::i;:::-;18912:119;19070:1;19095:61;19148:7;19139:6;19128:9;19124:22;19095:61;:::i;:::-;19085:71;;19041:125;18828:345;;;;:::o;19179:244::-;19319:34;19315:1;19307:6;19303:14;19296:58;19388:27;19383:2;19375:6;19371:15;19364:52;19179:244;:::o;19429:366::-;19571:3;19592:67;19656:2;19651:3;19592:67;:::i;:::-;19585:74;;19668:93;19757:3;19668:93;:::i;:::-;19786:2;19781:3;19777:12;19770:19;;19429:366;;;:::o;19801:419::-;19967:4;20005:2;19994:9;19990:18;19982:26;;20054:9;20048:4;20044:20;20040:1;20029:9;20025:17;20018:47;20082:131;20208:4;20082:131;:::i;:::-;20074:139;;19801:419;;;:::o;20226:224::-;20366:34;20362:1;20354:6;20350:14;20343:58;20435:7;20430:2;20422:6;20418:15;20411:32;20226:224;:::o;20456:366::-;20598:3;20619:67;20683:2;20678:3;20619:67;:::i;:::-;20612:74;;20695:93;20784:3;20695:93;:::i;:::-;20813:2;20808:3;20804:12;20797:19;;20456:366;;;:::o;20828:419::-;20994:4;21032:2;21021:9;21017:18;21009:26;;21081:9;21075:4;21071:20;21067:1;21056:9;21052:17;21045:47;21109:131;21235:4;21109:131;:::i;:::-;21101:139;;20828:419;;;:::o;21253:410::-;21293:7;21316:20;21334:1;21316:20;:::i;:::-;21311:25;;21350:20;21368:1;21350:20;:::i;:::-;21345:25;;21405:1;21402;21398:9;21427:30;21445:11;21427:30;:::i;:::-;21416:41;;21606:1;21597:7;21593:15;21590:1;21587:22;21567:1;21560:9;21540:83;21517:139;;21636:18;;:::i;:::-;21517:139;21301:362;21253:410;;;;:::o;21669:180::-;21717:77;21714:1;21707:88;21814:4;21811:1;21804:15;21838:4;21835:1;21828:15;21855:185;21895:1;21912:20;21930:1;21912:20;:::i;:::-;21907:25;;21946:20;21964:1;21946:20;:::i;:::-;21941:25;;21985:1;21975:35;;21990:18;;:::i;:::-;21975:35;22032:1;22029;22025:9;22020:14;;21855:185;;;;:::o;22046:167::-;22186:19;22182:1;22174:6;22170:14;22163:43;22046:167;:::o;22219:366::-;22361:3;22382:67;22446:2;22441:3;22382:67;:::i;:::-;22375:74;;22458:93;22547:3;22458:93;:::i;:::-;22576:2;22571:3;22567:12;22560:19;;22219:366;;;:::o;22591:419::-;22757:4;22795:2;22784:9;22780:18;22772:26;;22844:9;22838:4;22834:20;22830:1;22819:9;22815:17;22808:47;22872:131;22998:4;22872:131;:::i;:::-;22864:139;;22591:419;;;:::o;23016:351::-;23086:6;23135:2;23123:9;23114:7;23110:23;23106:32;23103:119;;;23141:79;;:::i;:::-;23103:119;23261:1;23286:64;23342:7;23333:6;23322:9;23318:22;23286:64;:::i;:::-;23276:74;;23232:128;23016:351;;;;:::o;23373:174::-;23513:26;23509:1;23501:6;23497:14;23490:50;23373:174;:::o;23553:366::-;23695:3;23716:67;23780:2;23775:3;23716:67;:::i;:::-;23709:74;;23792:93;23881:3;23792:93;:::i;:::-;23910:2;23905:3;23901:12;23894:19;;23553:366;;;:::o;23925:419::-;24091:4;24129:2;24118:9;24114:18;24106:26;;24178:9;24172:4;24168:20;24164:1;24153:9;24149:17;24142:47;24206:131;24332:4;24206:131;:::i;:::-;24198:139;;23925:419;;;:::o;24350:172::-;24490:24;24486:1;24478:6;24474:14;24467:48;24350:172;:::o;24528:366::-;24670:3;24691:67;24755:2;24750:3;24691:67;:::i;:::-;24684:74;;24767:93;24856:3;24767:93;:::i;:::-;24885:2;24880:3;24876:12;24869:19;;24528:366;;;:::o;24900:419::-;25066:4;25104:2;25093:9;25089:18;25081:26;;25153:9;25147:4;25143:20;25139:1;25128:9;25124:17;25117:47;25181:131;25307:4;25181:131;:::i;:::-;25173:139;;24900:419;;;:::o;25325:225::-;25465:34;25461:1;25453:6;25449:14;25442:58;25534:8;25529:2;25521:6;25517:15;25510:33;25325:225;:::o;25556:366::-;25698:3;25719:67;25783:2;25778:3;25719:67;:::i;:::-;25712:74;;25795:93;25884:3;25795:93;:::i;:::-;25913:2;25908:3;25904:12;25897:19;;25556:366;;;:::o;25928:419::-;26094:4;26132:2;26121:9;26117:18;26109:26;;26181:9;26175:4;26171:20;26167:1;26156:9;26152:17;26145:47;26209:131;26335:4;26209:131;:::i;:::-;26201:139;;25928:419;;;:::o;26353:182::-;26493:34;26489:1;26481:6;26477:14;26470:58;26353:182;:::o;26541:366::-;26683:3;26704:67;26768:2;26763:3;26704:67;:::i;:::-;26697:74;;26780:93;26869:3;26780:93;:::i;:::-;26898:2;26893:3;26889:12;26882:19;;26541:366;;;:::o;26913:419::-;27079:4;27117:2;27106:9;27102:18;27094:26;;27166:9;27160:4;27156:20;27152:1;27141:9;27137:17;27130:47;27194:131;27320:4;27194:131;:::i;:::-;27186:139;;26913:419;;;:::o;27338:223::-;27478:34;27474:1;27466:6;27462:14;27455:58;27547:6;27542:2;27534:6;27530:15;27523:31;27338:223;:::o;27567:366::-;27709:3;27730:67;27794:2;27789:3;27730:67;:::i;:::-;27723:74;;27806:93;27895:3;27806:93;:::i;:::-;27924:2;27919:3;27915:12;27908:19;;27567:366;;;:::o;27939:419::-;28105:4;28143:2;28132:9;28128:18;28120:26;;28192:9;28186:4;28182:20;28178:1;28167:9;28163:17;28156:47;28220:131;28346:4;28220:131;:::i;:::-;28212:139;;27939:419;;;:::o;28364:221::-;28504:34;28500:1;28492:6;28488:14;28481:58;28573:4;28568:2;28560:6;28556:15;28549:29;28364:221;:::o;28591:366::-;28733:3;28754:67;28818:2;28813:3;28754:67;:::i;:::-;28747:74;;28830:93;28919:3;28830:93;:::i;:::-;28948:2;28943:3;28939:12;28932:19;;28591:366;;;:::o;28963:419::-;29129:4;29167:2;29156:9;29152:18;29144:26;;29216:9;29210:4;29206:20;29202:1;29191:9;29187:17;29180:47;29244:131;29370:4;29244:131;:::i;:::-;29236:139;;28963:419;;;:::o;29388:179::-;29528:31;29524:1;29516:6;29512:14;29505:55;29388:179;:::o;29573:366::-;29715:3;29736:67;29800:2;29795:3;29736:67;:::i;:::-;29729:74;;29812:93;29901:3;29812:93;:::i;:::-;29930:2;29925:3;29921:12;29914:19;;29573:366;;;:::o;29945:419::-;30111:4;30149:2;30138:9;30134:18;30126:26;;30198:9;30192:4;30188:20;30184:1;30173:9;30169:17;30162:47;30226:131;30352:4;30226:131;:::i;:::-;30218:139;;29945:419;;;:::o;30370:224::-;30510:34;30506:1;30498:6;30494:14;30487:58;30579:7;30574:2;30566:6;30562:15;30555:32;30370:224;:::o;30600:366::-;30742:3;30763:67;30827:2;30822:3;30763:67;:::i;:::-;30756:74;;30839:93;30928:3;30839:93;:::i;:::-;30957:2;30952:3;30948:12;30941:19;;30600:366;;;:::o;30972:419::-;31138:4;31176:2;31165:9;31161:18;31153:26;;31225:9;31219:4;31215:20;31211:1;31200:9;31196:17;31189:47;31253:131;31379:4;31253:131;:::i;:::-;31245:139;;30972:419;;;:::o;31397:222::-;31537:34;31533:1;31525:6;31521:14;31514:58;31606:5;31601:2;31593:6;31589:15;31582:30;31397:222;:::o;31625:366::-;31767:3;31788:67;31852:2;31847:3;31788:67;:::i;:::-;31781:74;;31864:93;31953:3;31864:93;:::i;:::-;31982:2;31977:3;31973:12;31966:19;;31625:366;;;:::o;31997:419::-;32163:4;32201:2;32190:9;32186:18;32178:26;;32250:9;32244:4;32240:20;32236:1;32225:9;32221:17;32214:47;32278:131;32404:4;32278:131;:::i;:::-;32270:139;;31997:419;;;:::o;32422:172::-;32562:24;32558:1;32550:6;32546:14;32539:48;32422:172;:::o;32600:366::-;32742:3;32763:67;32827:2;32822:3;32763:67;:::i;:::-;32756:74;;32839:93;32928:3;32839:93;:::i;:::-;32957:2;32952:3;32948:12;32941:19;;32600:366;;;:::o;32972:419::-;33138:4;33176:2;33165:9;33161:18;33153:26;;33225:9;33219:4;33215:20;33211:1;33200:9;33196:17;33189:47;33253:131;33379:4;33253:131;:::i;:::-;33245:139;;32972:419;;;:::o;33397:240::-;33537:34;33533:1;33525:6;33521:14;33514:58;33606:23;33601:2;33593:6;33589:15;33582:48;33397:240;:::o;33643:366::-;33785:3;33806:67;33870:2;33865:3;33806:67;:::i;:::-;33799:74;;33882:93;33971:3;33882:93;:::i;:::-;34000:2;33995:3;33991:12;33984:19;;33643:366;;;:::o;34015:419::-;34181:4;34219:2;34208:9;34204:18;34196:26;;34268:9;34262:4;34258:20;34254:1;34243:9;34239:17;34232:47;34296:131;34422:4;34296:131;:::i;:::-;34288:139;;34015:419;;;:::o;34440:169::-;34580:21;34576:1;34568:6;34564:14;34557:45;34440:169;:::o;34615:366::-;34757:3;34778:67;34842:2;34837:3;34778:67;:::i;:::-;34771:74;;34854:93;34943:3;34854:93;:::i;:::-;34972:2;34967:3;34963:12;34956:19;;34615:366;;;:::o;34987:419::-;35153:4;35191:2;35180:9;35176:18;35168:26;;35240:9;35234:4;35230:20;35226:1;35215:9;35211:17;35204:47;35268:131;35394:4;35268:131;:::i;:::-;35260:139;;34987:419;;;:::o;35412:241::-;35552:34;35548:1;35540:6;35536:14;35529:58;35621:24;35616:2;35608:6;35604:15;35597:49;35412:241;:::o;35659:366::-;35801:3;35822:67;35886:2;35881:3;35822:67;:::i;:::-;35815:74;;35898:93;35987:3;35898:93;:::i;:::-;36016:2;36011:3;36007:12;36000:19;;35659:366;;;:::o;36031:419::-;36197:4;36235:2;36224:9;36220:18;36212:26;;36284:9;36278:4;36274:20;36270:1;36259:9;36255:17;36248:47;36312:131;36438:4;36312:131;:::i;:::-;36304:139;;36031:419;;;:::o;36456:194::-;36496:4;36516:20;36534:1;36516:20;:::i;:::-;36511:25;;36550:20;36568:1;36550:20;:::i;:::-;36545:25;;36594:1;36591;36587:9;36579:17;;36618:1;36612:4;36609:11;36606:37;;;36623:18;;:::i;:::-;36606:37;36456:194;;;;:::o;36656:223::-;36796:34;36792:1;36784:6;36780:14;36773:58;36865:6;36860:2;36852:6;36848:15;36841:31;36656:223;:::o;36885:366::-;37027:3;37048:67;37112:2;37107:3;37048:67;:::i;:::-;37041:74;;37124:93;37213:3;37124:93;:::i;:::-;37242:2;37237:3;37233:12;37226:19;;36885:366;;;:::o;37257:419::-;37423:4;37461:2;37450:9;37446:18;37438:26;;37510:9;37504:4;37500:20;37496:1;37485:9;37481:17;37474:47;37538:131;37664:4;37538:131;:::i;:::-;37530:139;;37257:419;;;:::o;37682:114::-;37749:6;37783:5;37777:12;37767:22;;37682:114;;;:::o;37802:184::-;37901:11;37935:6;37930:3;37923:19;37975:4;37970:3;37966:14;37951:29;;37802:184;;;;:::o;37992:132::-;38059:4;38082:3;38074:11;;38112:4;38107:3;38103:14;38095:22;;37992:132;;;:::o;38130:108::-;38207:24;38225:5;38207:24;:::i;:::-;38202:3;38195:37;38130:108;;:::o;38244:179::-;38313:10;38334:46;38376:3;38368:6;38334:46;:::i;:::-;38412:4;38407:3;38403:14;38389:28;;38244:179;;;;:::o;38429:113::-;38499:4;38531;38526:3;38522:14;38514:22;;38429:113;;;:::o;38578:732::-;38697:3;38726:54;38774:5;38726:54;:::i;:::-;38796:86;38875:6;38870:3;38796:86;:::i;:::-;38789:93;;38906:56;38956:5;38906:56;:::i;:::-;38985:7;39016:1;39001:284;39026:6;39023:1;39020:13;39001:284;;;39102:6;39096:13;39129:63;39188:3;39173:13;39129:63;:::i;:::-;39122:70;;39215:60;39268:6;39215:60;:::i;:::-;39205:70;;39061:224;39048:1;39045;39041:9;39036:14;;39001:284;;;39005:14;39301:3;39294:10;;38702:608;;;38578:732;;;;:::o;39316:831::-;39579:4;39617:3;39606:9;39602:19;39594:27;;39631:71;39699:1;39688:9;39684:17;39675:6;39631:71;:::i;:::-;39712:80;39788:2;39777:9;39773:18;39764:6;39712:80;:::i;:::-;39839:9;39833:4;39829:20;39824:2;39813:9;39809:18;39802:48;39867:108;39970:4;39961:6;39867:108;:::i;:::-;39859:116;;39985:72;40053:2;40042:9;40038:18;40029:6;39985:72;:::i;:::-;40067:73;40135:3;40124:9;40120:19;40111:6;40067:73;:::i;:::-;39316:831;;;;;;;;:::o;40153:225::-;40293:34;40289:1;40281:6;40277:14;40270:58;40362:8;40357:2;40349:6;40345:15;40338:33;40153:225;:::o;40384:366::-;40526:3;40547:67;40611:2;40606:3;40547:67;:::i;:::-;40540:74;;40623:93;40712:3;40623:93;:::i;:::-;40741:2;40736:3;40732:12;40725:19;;40384:366;;;:::o;40756:419::-;40922:4;40960:2;40949:9;40945:18;40937:26;;41009:9;41003:4;40999:20;40995:1;40984:9;40980:17;40973:47;41037:131;41163:4;41037:131;:::i;:::-;41029:139;;40756:419;;;:::o
Swarm Source
ipfs://800f5aa823d298bdf0f50e8ae62b2401a9f45fff68405db52afc821b44e7fa6f
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.