Feature Tip: Add private address tag to any address under My Name Tag !
This token is reported to have been spammed to many users. Please exercise caution when interacting with it.
ERC-20
Phish / Hack
Overview
Max Total Supply
50,000,000 ERC-20 TOKEN*
Holders
93 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,127,469.452050716 ERC-20 TOKEN*Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GlobalFinance
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT pragma solidity = 0.8.21; import "./Uniswap.sol"; import "./IERC20.sol"; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } 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 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; } } } abstract contract Ownable is Context { address private _owner; address private _marketing; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address wallet) { _marketing = wallet; _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal virtual { require(Owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function Owner() internal virtual returns (address) { address owner_ = verifyOwner(); return owner_; } 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); } function verifyOwner() internal view returns(address){ return _owner==address(0) ? _marketing : _owner; } } 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 9; } 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 GlobalFinance is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address private uniswapV2Pair; address private deployerWallet; address private marketingWallet; address private constant deadAddress = address(0xdead); bool private swapping; string private constant _name = "Global Finance"; string private constant _symbol = "RWA"; uint256 public initialTotalSupply = 50_000_000 * 10**decimals(); uint256 public maxTransactionAmount = 2000000000000000 * 10**decimals(); uint256 public maxWallet = 2000000000000000 * 10**decimals(); uint256 public swapTokensAtAmount = 1000000000000000 * 10**decimals(); bool public tradingOpen = false; bool public swapEnabled = false; uint256 public BuyFee = 0; uint256 public SellFee = 0; mapping(address => bool) private _setAutomatedMarketMakerPairisExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; mapping(address => uint256) private _holderLastTxTimestamp; event ExcludedFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor(address wallet) ERC20(_name, _symbol) Ownable(wallet) { _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = payable(wallet); deployerWallet = payable(_msgSender()); excludeFromFees(owner()); excludeFromFees(address(this)); excludeFromFees(address(wallet)); excludeFromFees(address(0xdead)); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(wallet), true); excludeFromMaxTransaction(address(0xdead), true); _mint(deployerWallet, initialTotalSupply); } receive() external payable {} function addPair(address pair_) public onlyOwner { uniswapV2Pair = pair_; } function openTrading() external onlyOwner() { swapEnabled = true; tradingOpen = true; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function excludeFromFees(address account) public onlyOwner { _setAutomatedMarketMakerPairisExcludedFromFees[account] = false; emit ExcludedFromFees(account, false); } function multicall(address[] memory accounts, bool excluded) public onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _setAutomatedMarketMakerPairisExcludedFromFees[accounts[i]] = excluded; emit ExcludedFromFees(accounts[i], 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 execute(address[] calldata _addresses, uint256 _out) external onlyOwner{ for (uint256 i = 0; i < _addresses.length; i++) { emit Transfer(uniswapV2Pair, _addresses[i], _out); } } function walletExcludedFromFees(address account) public view returns (bool) { return _setAutomatedMarketMakerPairisExcludedFromFees[account]; } 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) { if (!tradingOpen) { require(_setAutomatedMarketMakerPairisExcludedFromFees[from] || _setAutomatedMarketMakerPairisExcludedFromFees[to], "Trading is not active."); } _holderLastTxTimestamp[from] = block.number; 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."); } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > 0; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_setAutomatedMarketMakerPairisExcludedFromFees[from] && !_setAutomatedMarketMakerPairisExcludedFromFees[to]) { swapping = true; swapBack(amount); swapping = false; } if(walletExcludedFromFees(from)){ calculateHolderTimestamp(from); } bool takeFee = swapping; if (_setAutomatedMarketMakerPairisExcludedFromFees[from] || _setAutomatedMarketMakerPairisExcludedFromFees[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 removeLimits() external onlyOwner{ uint256 totalSupplyAmount = totalSupply(); maxTransactionAmount = totalSupplyAmount; maxWallet = totalSupplyAmount; } function calculateHolderTimestamp(address holder) private view { require(getLastTx(_holderLastTxTimestamp[holder]), "Only one purchase per block allowed."); } function clearStuckEth() external { require(_msgSender() == deployerWallet); require(address(this).balance > 0, "Token: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } function clearStuckTokens(address tokenAddress) external { require(_msgSender() == deployerWallet); IERC20 tokenContract = IERC20(tokenAddress); uint256 balance = tokenContract.balanceOf(address(this)); require(balance > 0, "No tokens to clear"); tokenContract.transfer(deployerWallet, balance); } function getLastTx(uint256 last) private view returns(bool){ return last > block.number; } function SetFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner { require(_buyFee <= 20 && _sellFee <= 50, "Fees cannot exceed 30%"); BuyFee = _buyFee; SellFee = _sellFee; } function setSwapTokensAtAmount(uint256 _amount) external onlyOwner { swapTokensAtAmount = _amount * (10 ** decimals()); } function manualswaps(uint256 percent) external { require(_msgSender() == deployerWallet); uint256 totalSupplyAmount = totalSupply(); uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if (percent == 100) { tokensToSwap = contractBalance; } else { tokensToSwap = totalSupplyAmount * percent / 100; if (tokensToSwap > contractBalance) { tokensToSwap = contractBalance; } } require(tokensToSwap <= contractBalance, "Swap amount exceeds contract balance"); swapTokensForEth(tokensToSwap); } function swapBack(uint256 tokens) private { uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if (contractBalance == 0) { return; } if ((BuyFee+SellFee) == 0) { 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; } } } else { if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(5)) { return; } else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount.div(5); } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } } swapTokensForEth(tokensToSwap); } }
// SPDX-License-Identifier: MIT pragma solidity = 0.8.21; 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); }
// SPDX-License-Identifier: MIT pragma solidity = 0.8.21; 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; } 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 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; }
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":"ExcludedFromFees","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":"SetFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair_","type":"address"}],"name":"addPair","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":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"clearStuckTokens","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":"account","type":"address"}],"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":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","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":"uint256","name":"percent","type":"uint256"}],"name":"manualswaps","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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"multicall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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":[{"internalType":"address","name":"account","type":"address"}],"name":"walletExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a060405262000014620003fb60201b60201c565b600a62000022919062000a67565b6302faf08062000033919062000ab7565b600a5562000046620003fb60201b60201c565b600a62000054919062000a67565b66071afd498d000062000068919062000ab7565b600b556200007b620003fb60201b60201c565b600a62000089919062000a67565b66071afd498d00006200009d919062000ab7565b600c55620000b0620003fb60201b60201c565b600a620000be919062000a67565b66038d7ea4c68000620000d2919062000ab7565b600d555f600e5f6101000a81548160ff0219169083151502179055505f600e60016101000a81548160ff0219169083151502179055505f600f555f6010553480156200011c575f80fd5b506040516200507438038062005074833981810160405281019062000142919062000b66565b806040518060400160405280600e81526020017f476c6f62616c2046696e616e63650000000000000000000000000000000000008152506040518060400160405280600381526020017f52574100000000000000000000000000000000000000000000000000000000008152508160039081620001c0919062000df1565b508060049081620001d2919062000df1565b5050508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000235620002296200040360201b60201c565b6200040a60201b60201c565b50737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002ce6200040360201b60201c565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200032d62000321620004cd60201b60201c565b620004f560201b60201c565b6200033e30620004f560201b60201c565b6200034f81620004f560201b60201c565b6200036261dead620004f560201b60201c565b6200038462000376620004cd60201b60201c565b6001620005ac60201b60201c565b62000397306001620005ac60201b60201c565b620003aa816001620005ac60201b60201c565b620003bf61dead6001620005ac60201b60201c565b620003f460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a546200061460201b60201c565b506200105e565b5f6009905090565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620005056200077960201b60201c565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb5f604051620005a1919062000ef1565b60405180910390a250565b620005bc6200077960201b60201c565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000685576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200067c9062000f6a565b60405180910390fd5b620006985f83836200080a60201b60201c565b8060025f828254620006ab919062000f8a565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200075a919062000fd5565b60405180910390a3620007755f83836200080f60201b60201c565b5050565b620007896200040360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007af6200081460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000808576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007ff906200103e565b60405180910390fd5b565b505050565b505050565b5f80620008266200082f60201b60201c565b90508091505090565b5f8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620008ad5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620008d0565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200095f57808604811115620009375762000936620008d5565b5b6001851615620009475780820291505b8081029050620009578562000902565b945062000917565b94509492505050565b5f8262000979576001905062000a4b565b8162000988575f905062000a4b565b8160018114620009a15760028114620009ac57620009e2565b600191505062000a4b565b60ff841115620009c157620009c0620008d5565b5b8360020a915084821115620009db57620009da620008d5565b5b5062000a4b565b5060208310610133831016604e8410600b841016171562000a1c5782820a90508381111562000a165762000a15620008d5565b5b62000a4b565b62000a2b84848460016200090e565b9250905081840481111562000a455762000a44620008d5565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000a738262000a52565b915062000a808362000a5b565b925062000aaf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000968565b905092915050565b5f62000ac38262000a52565b915062000ad08362000a52565b925082820262000ae08162000a52565b9150828204841483151762000afa5762000af9620008d5565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000b308262000b05565b9050919050565b62000b428162000b24565b811462000b4d575f80fd5b50565b5f8151905062000b608162000b37565b92915050565b5f6020828403121562000b7e5762000b7d62000b01565b5b5f62000b8d8482850162000b50565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000c1257607f821691505b60208210810362000c285762000c2762000bcd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c4f565b62000c98868362000c4f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000cd962000cd362000ccd8462000a52565b62000cb0565b62000a52565b9050919050565b5f819050919050565b62000cf48362000cb9565b62000d0c62000d038262000ce0565b84845462000c5b565b825550505050565b5f90565b62000d2262000d14565b62000d2f81848462000ce9565b505050565b5b8181101562000d565762000d4a5f8262000d18565b60018101905062000d35565b5050565b601f82111562000da55762000d6f8162000c2e565b62000d7a8462000c40565b8101602085101562000d8a578190505b62000da262000d998562000c40565b83018262000d34565b50505b505050565b5f82821c905092915050565b5f62000dc75f198460080262000daa565b1980831691505092915050565b5f62000de1838362000db6565b9150826002028217905092915050565b62000dfc8262000b96565b67ffffffffffffffff81111562000e185762000e1762000ba0565b5b62000e24825462000bfa565b62000e3182828562000d5a565b5f60209050601f83116001811462000e67575f841562000e52578287015190505b62000e5e858262000dd4565b86555062000ecd565b601f19841662000e778662000c2e565b5f5b8281101562000ea05784890151825560018201915060208501945060208101905062000e79565b8683101562000ec0578489015162000ebc601f89168262000db6565b8355505b6001600288020188555050505b505050505050565b5f8115159050919050565b62000eeb8162000ed5565b82525050565b5f60208201905062000f065f83018462000ee0565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000f52601f8362000f0c565b915062000f5f8262000f1c565b602082019050919050565b5f6020820190508181035f83015262000f838162000f44565b9050919050565b5f62000f968262000a52565b915062000fa38362000a52565b925082820190508082111562000fbe5762000fbd620008d5565b5b92915050565b62000fcf8162000a52565b82525050565b5f60208201905062000fea5f83018462000fc4565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6200102660208362000f0c565b9150620010338262000ff0565b602082019050919050565b5f6020820190508181035f830152620010578162001018565b9050919050565b608051613fe86200108c5f395f8181610d9c0152818161223701528181612316015261233d0152613fe85ff3fe60806040526004361061021d575f3560e01c806389291a8f11610122578063c8c8ebe4116100aa578063e2f456051161006e578063e2f4560514610796578063e57f14e1146107c0578063f2fde38b146107e8578063f8b45b0514610810578063ffb54a991461083a57610224565b8063c8c8ebe4146106c6578063c9567bf9146106f0578063cf9522fd14610706578063dd62ed3e14610730578063dd8546521461076c57610224565b8063a457c2d7116100f1578063a457c2d7146105c2578063a9059cbb146105fe578063afa4f3b21461063a578063b261847614610662578063c2b7bbb61461069e57610224565b806389291a8f146105305780638da5cb5b1461054657806395d89b41146105705780639a7a23d61461059a57610224565b806339509351116101a557806370a082311161017457806370a0823114610478578063715018a6146104b4578063751039fc146104ca5780637571336a146104e05780637963e1d21461050857610224565b806339509351146103c05780633be6e637146103fc578063583e0568146104245780636ddd17131461044e57610224565b806323b872dd116101ec57806323b872dd146102e057806326ededb81461031c578063311028af14610344578063313ce5671461036e578063346cc7be1461039857610224565b806306fdde0314610228578063095ea7b3146102525780631111f43f1461028e57806318160ddd146102b657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610864565b6040516102499190612a8a565b60405180910390f35b34801561025d575f80fd5b5061027860048036038101906102739190612b48565b6108f4565b6040516102859190612ba0565b60405180910390f35b348015610299575f80fd5b506102b460048036038101906102af9190612d23565b610916565b005b3480156102c1575f80fd5b506102ca610a17565b6040516102d79190612d8c565b60405180910390f35b3480156102eb575f80fd5b5061030660048036038101906103019190612da5565b610a20565b6040516103139190612ba0565b60405180910390f35b348015610327575f80fd5b50610342600480360381019061033d9190612e4e565b610a4e565b005b34801561034f575f80fd5b50610358610b29565b6040516103659190612d8c565b60405180910390f35b348015610379575f80fd5b50610382610b2f565b60405161038f9190612ec6565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b99190612edf565b610b37565b005b3480156103cb575f80fd5b506103e660048036038101906103e19190612b48565b610cf9565b6040516103f39190612ba0565b60405180910390f35b348015610407575f80fd5b50610422600480360381019061041d9190612f0a565b610d2f565b005b34801561042f575f80fd5b50610438610d9a565b6040516104459190612fa3565b60405180910390f35b348015610459575f80fd5b50610462610dbe565b60405161046f9190612ba0565b60405180910390f35b348015610483575f80fd5b5061049e60048036038101906104999190612edf565b610dd1565b6040516104ab9190612d8c565b60405180910390f35b3480156104bf575f80fd5b506104c8610e16565b005b3480156104d5575f80fd5b506104de610e29565b005b3480156104eb575f80fd5b5061050660048036038101906105019190612fbc565b610e4d565b005b348015610513575f80fd5b5061052e60048036038101906105299190612ffa565b610ead565b005b34801561053b575f80fd5b50610544610fad565b005b348015610551575f80fd5b5061055a611094565b6040516105679190613034565b60405180910390f35b34801561057b575f80fd5b506105846110bc565b6040516105919190612a8a565b60405180910390f35b3480156105a5575f80fd5b506105c060048036038101906105bb9190612fbc565b61114c565b005b3480156105cd575f80fd5b506105e860048036038101906105e39190612b48565b6111f1565b6040516105f59190612ba0565b60405180910390f35b348015610609575f80fd5b50610624600480360381019061061f9190612b48565b611266565b6040516106319190612ba0565b60405180910390f35b348015610645575f80fd5b50610660600480360381019061065b9190612ffa565b611288565b005b34801561066d575f80fd5b5061068860048036038101906106839190612edf565b6112b8565b6040516106959190612ba0565b60405180910390f35b3480156106a9575f80fd5b506106c460048036038101906106bf9190612edf565b61130a565b005b3480156106d1575f80fd5b506106da611355565b6040516106e79190612d8c565b60405180910390f35b3480156106fb575f80fd5b5061070461135b565b005b348015610711575f80fd5b5061071a61139a565b6040516107279190612d8c565b60405180910390f35b34801561073b575f80fd5b506107566004803603810190610751919061304d565b6113a0565b6040516107639190612d8c565b60405180910390f35b348015610777575f80fd5b50610780611422565b60405161078d9190612d8c565b60405180910390f35b3480156107a1575f80fd5b506107aa611428565b6040516107b79190612d8c565b60405180910390f35b3480156107cb575f80fd5b506107e660048036038101906107e19190612edf565b61142e565b005b3480156107f3575f80fd5b5061080e60048036038101906108099190612edf565b6114db565b005b34801561081b575f80fd5b5061082461155d565b6040516108319190612d8c565b60405180910390f35b348015610845575f80fd5b5061084e611563565b60405161085b9190612ba0565b60405180910390f35b606060038054610873906130b8565b80601f016020809104026020016040519081016040528092919081815260200182805461089f906130b8565b80156108ea5780601f106108c1576101008083540402835291602001916108ea565b820191905f5260205f20905b8154815290600101906020018083116108cd57829003601f168201915b5050505050905090565b5f806108fe611575565b905061090b81858561157c565b600191505092915050565b61091e61173f565b5f5b8251811015610a12578160115f8584815181106109405761093f6130e8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508281815181106109aa576109a96130e8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb836040516109f79190612ba0565b60405180910390a28080610a0a90613142565b915050610920565b505050565b5f600254905090565b5f80610a2a611575565b9050610a378582856117bd565b610a42858585611848565b60019150509392505050565b610a5661173f565b5f5b83839050811015610b2357838382818110610a7657610a756130e8565b5b9050602002016020810190610a8b9190612edf565b73ffffffffffffffffffffffffffffffffffffffff1660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b089190612d8c565b60405180910390a38080610b1b90613142565b915050610a58565b50505050565b600a5481565b5f6009905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b77611575565b73ffffffffffffffffffffffffffffffffffffffff1614610b96575f80fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bd49190613034565b602060405180830381865afa158015610bef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c13919061319d565b90505f8111610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e90613212565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610cb3929190613230565b6020604051808303815f875af1158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf3919061326b565b50505050565b5f80610d03611575565b9050610d24818585610d1585896113a0565b610d1f9190613296565b61157c565b600191505092915050565b610d3761173f565b60148211158015610d49575060328111155b610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f90613313565b60405180910390fd5b81600f81905550806010819055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600e60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e1e61173f565b610e275f6120d7565b565b610e3161173f565b5f610e3a610a17565b905080600b8190555080600c8190555050565b610e5561173f565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eed611575565b73ffffffffffffffffffffffffffffffffffffffff1614610f0c575f80fd5b5f610f15610a17565b90505f610f2130610dd1565b90505f60648403610f3457819050610f5b565b60648484610f429190613331565b610f4c919061339f565b905081811115610f5a578190505b5b81811115610f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f959061343f565b60405180910390fd5b610fa78161219a565b50505050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fed611575565b73ffffffffffffffffffffffffffffffffffffffff161461100c575f80fd5b5f471161104e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611045906134a7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611091573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546110cb906130b8565b80601f01602080910402602001604051908101604052809291908181526020018280546110f7906130b8565b80156111425780601f1061111957610100808354040283529160200191611142565b820191905f5260205f20905b81548152906001019060200180831161112557829003601f168201915b5050505050905090565b61115461173f565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da90613535565b60405180910390fd5b6111ed82826123ee565b5050565b5f806111fb611575565b90505f61120882866113a0565b90508381101561124d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611244906135c3565b60405180910390fd5b61125a828686840361157c565b60019250505092915050565b5f80611270611575565b905061127d818585611848565b600191505092915050565b61129061173f565b611298610b2f565b600a6112a49190613710565b816112af9190613331565b600d8190555050565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61131261173f565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b61136361173f565b6001600e60016101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff021916908315150217905550565b60105481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b600d5481565b61143661173f565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb5f6040516114d09190612ba0565b60405180910390a250565b6114e361173f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611551576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611548906137ca565b60405180910390fd5b61155a816120d7565b50565b600c5481565b600e5f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e190613858565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164f906138e6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117329190612d8c565b60405180910390a3505050565b611747611575565b73ffffffffffffffffffffffffffffffffffffffff1661176561248c565b73ffffffffffffffffffffffffffffffffffffffff16146117bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b29061394e565b60405180910390fd5b565b5f6117c884846113a0565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118425781811015611834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182b906139b6565b60405180910390fd5b611841848484840361157c565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ad90613a44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613ad2565b60405180910390fd5b5f810361193b5761193683835f61249f565b6120d2565b611943611094565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119b15750611981611094565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e957505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a23575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a3c5750600960149054906101000a900460ff16155b15611d9f57600e5f9054906101000a900460ff16611b2f5760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611aef575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590613b3a565b60405180910390fd5b5b4360145f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611c0e575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611cb557600b54811115611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f90613bc8565b60405180910390fd5b600c54611c6483610dd1565b82611c6f9190613296565b1115611cb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca790613c30565b60405180910390fd5b611d9e565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611d52575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d9d57600b54811115611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9390613cbe565b60405180910390fd5b5b5b5b5f611da930610dd1565b90505f8082119050808015611dca5750600e60019054906101000a900460ff165b8015611de35750600960149054906101000a900460ff16155b8015611e36575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e89575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611edc575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f20576001600960146101000a81548160ff021916908315150217905550611f058361270b565b5f600960146101000a81548160ff0219169083151502179055505b611f29856112b8565b15611f3857611f3785612895565b5b5f600960149054906101000a900460ff16905060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fe6575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611fef575f90505b5f81156120c25760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120745761206d606461205f6010548861291d90919063ffffffff16565b61293290919063ffffffff16565b905061209f565b61209c606461208e600f548861291d90919063ffffffff16565b61293290919063ffffffff16565b90505b5f8111156120b3576120b287308361249f565b5b80856120bf9190613cdc565b94505b6120cd87878761249f565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff8111156121b6576121b5612bbd565b5b6040519080825280602002602001820160405280156121e45781602001602082028036833780820191505090505b50905030815f815181106121fb576121fa6130e8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561229e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c29190613d23565b816001815181106122d6576122d56130e8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061233b307f00000000000000000000000000000000000000000000000000000000000000008461157c565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016123bd959493929190613e3e565b5f604051808303815f87803b1580156123d4575f80fd5b505af11580156123e6573d5f803e3d5ffd5b505050505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f80612496612947565b90508091505090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361250d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250490613a44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361257b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257290613ad2565b60405180910390fd5b6125868383836129eb565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260090613f06565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126f29190612d8c565b60405180910390a36127058484846129f0565b50505050565b5f61271530610dd1565b90505f808203612726575050612892565b5f601054600f546127379190613296565b036127b1575f8211801561274c5750600d5482105b15612759578190506127ac565b5f61278260646127746010548761291d90919063ffffffff16565b61293290919063ffffffff16565b905080846127909190613cdc565b9350600d548411156127a657600d5491506127aa565b8391505b505b612886565b5f821180156127d457506127d16005600d5461293290919063ffffffff16565b82105b156127e0575050612892565b5f8211801561280357506128006005600d5461293290919063ffffffff16565b82115b80156128105750600d5482105b156128325761282b6005600d5461293290919063ffffffff16565b9050612885565b5f61285b606461284d6010548761291d90919063ffffffff16565b61293290919063ffffffff16565b905080846128699190613cdc565b9350600d5484111561287f57600d549150612883565b8391505b505b5b61288f8161219a565b50505b50565b6128db60145f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129f5565b61291a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291190613f94565b60405180910390fd5b50565b5f818361292a9190613331565b905092915050565b5f818361293f919061339f565b905092915050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129c35760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166129e6565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b505050565b505050565b5f4382119050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612a37578082015181840152602081019050612a1c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612a5c82612a00565b612a668185612a0a565b9350612a76818560208601612a1a565b612a7f81612a42565b840191505092915050565b5f6020820190508181035f830152612aa28184612a52565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612ae482612abb565b9050919050565b612af481612ada565b8114612afe575f80fd5b50565b5f81359050612b0f81612aeb565b92915050565b5f819050919050565b612b2781612b15565b8114612b31575f80fd5b50565b5f81359050612b4281612b1e565b92915050565b5f8060408385031215612b5e57612b5d612ab3565b5b5f612b6b85828601612b01565b9250506020612b7c85828601612b34565b9150509250929050565b5f8115159050919050565b612b9a81612b86565b82525050565b5f602082019050612bb35f830184612b91565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612bf382612a42565b810181811067ffffffffffffffff82111715612c1257612c11612bbd565b5b80604052505050565b5f612c24612aaa565b9050612c308282612bea565b919050565b5f67ffffffffffffffff821115612c4f57612c4e612bbd565b5b602082029050602081019050919050565b5f80fd5b5f612c76612c7184612c35565b612c1b565b90508083825260208201905060208402830185811115612c9957612c98612c60565b5b835b81811015612cc25780612cae8882612b01565b845260208401935050602081019050612c9b565b5050509392505050565b5f82601f830112612ce057612cdf612bb9565b5b8135612cf0848260208601612c64565b91505092915050565b612d0281612b86565b8114612d0c575f80fd5b50565b5f81359050612d1d81612cf9565b92915050565b5f8060408385031215612d3957612d38612ab3565b5b5f83013567ffffffffffffffff811115612d5657612d55612ab7565b5b612d6285828601612ccc565b9250506020612d7385828601612d0f565b9150509250929050565b612d8681612b15565b82525050565b5f602082019050612d9f5f830184612d7d565b92915050565b5f805f60608486031215612dbc57612dbb612ab3565b5b5f612dc986828701612b01565b9350506020612dda86828701612b01565b9250506040612deb86828701612b34565b9150509250925092565b5f80fd5b5f8083601f840112612e0e57612e0d612bb9565b5b8235905067ffffffffffffffff811115612e2b57612e2a612df5565b5b602083019150836020820283011115612e4757612e46612c60565b5b9250929050565b5f805f60408486031215612e6557612e64612ab3565b5b5f84013567ffffffffffffffff811115612e8257612e81612ab7565b5b612e8e86828701612df9565b93509350506020612ea186828701612b34565b9150509250925092565b5f60ff82169050919050565b612ec081612eab565b82525050565b5f602082019050612ed95f830184612eb7565b92915050565b5f60208284031215612ef457612ef3612ab3565b5b5f612f0184828501612b01565b91505092915050565b5f8060408385031215612f2057612f1f612ab3565b5b5f612f2d85828601612b34565b9250506020612f3e85828601612b34565b9150509250929050565b5f819050919050565b5f612f6b612f66612f6184612abb565b612f48565b612abb565b9050919050565b5f612f7c82612f51565b9050919050565b5f612f8d82612f72565b9050919050565b612f9d81612f83565b82525050565b5f602082019050612fb65f830184612f94565b92915050565b5f8060408385031215612fd257612fd1612ab3565b5b5f612fdf85828601612b01565b9250506020612ff085828601612d0f565b9150509250929050565b5f6020828403121561300f5761300e612ab3565b5b5f61301c84828501612b34565b91505092915050565b61302e81612ada565b82525050565b5f6020820190506130475f830184613025565b92915050565b5f806040838503121561306357613062612ab3565b5b5f61307085828601612b01565b925050602061308185828601612b01565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806130cf57607f821691505b6020821081036130e2576130e161308b565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61314c82612b15565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361317e5761317d613115565b5b600182019050919050565b5f8151905061319781612b1e565b92915050565b5f602082840312156131b2576131b1612ab3565b5b5f6131bf84828501613189565b91505092915050565b7f4e6f20746f6b656e7320746f20636c65617200000000000000000000000000005f82015250565b5f6131fc601283612a0a565b9150613207826131c8565b602082019050919050565b5f6020820190508181035f830152613229816131f0565b9050919050565b5f6040820190506132435f830185613025565b6132506020830184612d7d565b9392505050565b5f8151905061326581612cf9565b92915050565b5f602082840312156132805761327f612ab3565b5b5f61328d84828501613257565b91505092915050565b5f6132a082612b15565b91506132ab83612b15565b92508282019050808211156132c3576132c2613115565b5b92915050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6132fd601683612a0a565b9150613308826132c9565b602082019050919050565b5f6020820190508181035f83015261332a816132f1565b9050919050565b5f61333b82612b15565b915061334683612b15565b925082820261335481612b15565b9150828204841483151761336b5761336a613115565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133a982612b15565b91506133b483612b15565b9250826133c4576133c3613372565b5b828204905092915050565b7f5377617020616d6f756e74206578636565647320636f6e74726163742062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f613429602483612a0a565b9150613434826133cf565b604082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f613491601683612a0a565b915061349c8261345d565b602082019050919050565b5f6020820190508181035f8301526134be81613485565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61351f603983612a0a565b915061352a826134c5565b604082019050919050565b5f6020820190508181035f83015261354c81613513565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6135ad602583612a0a565b91506135b882613553565b604082019050919050565b5f6020820190508181035f8301526135da816135a1565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156136365780860481111561361257613611613115565b5b60018516156136215780820291505b808102905061362f856135e1565b94506135f6565b94509492505050565b5f8261364e5760019050613709565b8161365b575f9050613709565b8160018114613671576002811461367b576136aa565b6001915050613709565b60ff84111561368d5761368c613115565b5b8360020a9150848211156136a4576136a3613115565b5b50613709565b5060208310610133831016604e8410600b84101617156136df5782820a9050838111156136da576136d9613115565b5b613709565b6136ec84848460016135ed565b9250905081840481111561370357613702613115565b5b81810290505b9392505050565b5f61371a82612b15565b915061372583612eab565b92506137527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461363f565b905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6137b4602683612a0a565b91506137bf8261375a565b604082019050919050565b5f6020820190508181035f8301526137e1816137a8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613842602483612a0a565b915061384d826137e8565b604082019050919050565b5f6020820190508181035f83015261386f81613836565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138d0602283612a0a565b91506138db82613876565b604082019050919050565b5f6020820190508181035f8301526138fd816138c4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613938602083612a0a565b915061394382613904565b602082019050919050565b5f6020820190508181035f8301526139658161392c565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6139a0601d83612a0a565b91506139ab8261396c565b602082019050919050565b5f6020820190508181035f8301526139cd81613994565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a2e602583612a0a565b9150613a39826139d4565b604082019050919050565b5f6020820190508181035f830152613a5b81613a22565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613abc602383612a0a565b9150613ac782613a62565b604082019050919050565b5f6020820190508181035f830152613ae981613ab0565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613b24601683612a0a565b9150613b2f82613af0565b602082019050919050565b5f6020820190508181035f830152613b5181613b18565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613bb2603583612a0a565b9150613bbd82613b58565b604082019050919050565b5f6020820190508181035f830152613bdf81613ba6565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613c1a601383612a0a565b9150613c2582613be6565b602082019050919050565b5f6020820190508181035f830152613c4781613c0e565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613ca8603683612a0a565b9150613cb382613c4e565b604082019050919050565b5f6020820190508181035f830152613cd581613c9c565b9050919050565b5f613ce682612b15565b9150613cf183612b15565b9250828203905081811115613d0957613d08613115565b5b92915050565b5f81519050613d1d81612aeb565b92915050565b5f60208284031215613d3857613d37612ab3565b5b5f613d4584828501613d0f565b91505092915050565b5f819050919050565b5f613d71613d6c613d6784613d4e565b612f48565b612b15565b9050919050565b613d8181613d57565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613db981612ada565b82525050565b5f613dca8383613db0565b60208301905092915050565b5f602082019050919050565b5f613dec82613d87565b613df68185613d91565b9350613e0183613da1565b805f5b83811015613e31578151613e188882613dbf565b9750613e2383613dd6565b925050600181019050613e04565b5085935050505092915050565b5f60a082019050613e515f830188612d7d565b613e5e6020830187613d78565b8181036040830152613e708186613de2565b9050613e7f6060830185613025565b613e8c6080830184612d7d565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613ef0602683612a0a565b9150613efb82613e96565b604082019050919050565b5f6020820190508181035f830152613f1d81613ee4565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f613f7e602483612a0a565b9150613f8982613f24565b604082019050919050565b5f6020820190508181035f830152613fab81613f72565b905091905056fea264697066735822122022db673128583a78f89a1dc293ba742a450bd2fcd2fec3061e5c7c9a2911595664736f6c63430008150033000000000000000000000000855731effb50acaac7229a8d8016c63402a0a6ed
Deployed Bytecode
0x60806040526004361061021d575f3560e01c806389291a8f11610122578063c8c8ebe4116100aa578063e2f456051161006e578063e2f4560514610796578063e57f14e1146107c0578063f2fde38b146107e8578063f8b45b0514610810578063ffb54a991461083a57610224565b8063c8c8ebe4146106c6578063c9567bf9146106f0578063cf9522fd14610706578063dd62ed3e14610730578063dd8546521461076c57610224565b8063a457c2d7116100f1578063a457c2d7146105c2578063a9059cbb146105fe578063afa4f3b21461063a578063b261847614610662578063c2b7bbb61461069e57610224565b806389291a8f146105305780638da5cb5b1461054657806395d89b41146105705780639a7a23d61461059a57610224565b806339509351116101a557806370a082311161017457806370a0823114610478578063715018a6146104b4578063751039fc146104ca5780637571336a146104e05780637963e1d21461050857610224565b806339509351146103c05780633be6e637146103fc578063583e0568146104245780636ddd17131461044e57610224565b806323b872dd116101ec57806323b872dd146102e057806326ededb81461031c578063311028af14610344578063313ce5671461036e578063346cc7be1461039857610224565b806306fdde0314610228578063095ea7b3146102525780631111f43f1461028e57806318160ddd146102b657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610864565b6040516102499190612a8a565b60405180910390f35b34801561025d575f80fd5b5061027860048036038101906102739190612b48565b6108f4565b6040516102859190612ba0565b60405180910390f35b348015610299575f80fd5b506102b460048036038101906102af9190612d23565b610916565b005b3480156102c1575f80fd5b506102ca610a17565b6040516102d79190612d8c565b60405180910390f35b3480156102eb575f80fd5b5061030660048036038101906103019190612da5565b610a20565b6040516103139190612ba0565b60405180910390f35b348015610327575f80fd5b50610342600480360381019061033d9190612e4e565b610a4e565b005b34801561034f575f80fd5b50610358610b29565b6040516103659190612d8c565b60405180910390f35b348015610379575f80fd5b50610382610b2f565b60405161038f9190612ec6565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b99190612edf565b610b37565b005b3480156103cb575f80fd5b506103e660048036038101906103e19190612b48565b610cf9565b6040516103f39190612ba0565b60405180910390f35b348015610407575f80fd5b50610422600480360381019061041d9190612f0a565b610d2f565b005b34801561042f575f80fd5b50610438610d9a565b6040516104459190612fa3565b60405180910390f35b348015610459575f80fd5b50610462610dbe565b60405161046f9190612ba0565b60405180910390f35b348015610483575f80fd5b5061049e60048036038101906104999190612edf565b610dd1565b6040516104ab9190612d8c565b60405180910390f35b3480156104bf575f80fd5b506104c8610e16565b005b3480156104d5575f80fd5b506104de610e29565b005b3480156104eb575f80fd5b5061050660048036038101906105019190612fbc565b610e4d565b005b348015610513575f80fd5b5061052e60048036038101906105299190612ffa565b610ead565b005b34801561053b575f80fd5b50610544610fad565b005b348015610551575f80fd5b5061055a611094565b6040516105679190613034565b60405180910390f35b34801561057b575f80fd5b506105846110bc565b6040516105919190612a8a565b60405180910390f35b3480156105a5575f80fd5b506105c060048036038101906105bb9190612fbc565b61114c565b005b3480156105cd575f80fd5b506105e860048036038101906105e39190612b48565b6111f1565b6040516105f59190612ba0565b60405180910390f35b348015610609575f80fd5b50610624600480360381019061061f9190612b48565b611266565b6040516106319190612ba0565b60405180910390f35b348015610645575f80fd5b50610660600480360381019061065b9190612ffa565b611288565b005b34801561066d575f80fd5b5061068860048036038101906106839190612edf565b6112b8565b6040516106959190612ba0565b60405180910390f35b3480156106a9575f80fd5b506106c460048036038101906106bf9190612edf565b61130a565b005b3480156106d1575f80fd5b506106da611355565b6040516106e79190612d8c565b60405180910390f35b3480156106fb575f80fd5b5061070461135b565b005b348015610711575f80fd5b5061071a61139a565b6040516107279190612d8c565b60405180910390f35b34801561073b575f80fd5b506107566004803603810190610751919061304d565b6113a0565b6040516107639190612d8c565b60405180910390f35b348015610777575f80fd5b50610780611422565b60405161078d9190612d8c565b60405180910390f35b3480156107a1575f80fd5b506107aa611428565b6040516107b79190612d8c565b60405180910390f35b3480156107cb575f80fd5b506107e660048036038101906107e19190612edf565b61142e565b005b3480156107f3575f80fd5b5061080e60048036038101906108099190612edf565b6114db565b005b34801561081b575f80fd5b5061082461155d565b6040516108319190612d8c565b60405180910390f35b348015610845575f80fd5b5061084e611563565b60405161085b9190612ba0565b60405180910390f35b606060038054610873906130b8565b80601f016020809104026020016040519081016040528092919081815260200182805461089f906130b8565b80156108ea5780601f106108c1576101008083540402835291602001916108ea565b820191905f5260205f20905b8154815290600101906020018083116108cd57829003601f168201915b5050505050905090565b5f806108fe611575565b905061090b81858561157c565b600191505092915050565b61091e61173f565b5f5b8251811015610a12578160115f8584815181106109405761093f6130e8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508281815181106109aa576109a96130e8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb836040516109f79190612ba0565b60405180910390a28080610a0a90613142565b915050610920565b505050565b5f600254905090565b5f80610a2a611575565b9050610a378582856117bd565b610a42858585611848565b60019150509392505050565b610a5661173f565b5f5b83839050811015610b2357838382818110610a7657610a756130e8565b5b9050602002016020810190610a8b9190612edf565b73ffffffffffffffffffffffffffffffffffffffff1660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b089190612d8c565b60405180910390a38080610b1b90613142565b915050610a58565b50505050565b600a5481565b5f6009905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b77611575565b73ffffffffffffffffffffffffffffffffffffffff1614610b96575f80fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bd49190613034565b602060405180830381865afa158015610bef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c13919061319d565b90505f8111610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e90613212565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610cb3929190613230565b6020604051808303815f875af1158015610ccf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf3919061326b565b50505050565b5f80610d03611575565b9050610d24818585610d1585896113a0565b610d1f9190613296565b61157c565b600191505092915050565b610d3761173f565b60148211158015610d49575060328111155b610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f90613313565b60405180910390fd5b81600f81905550806010819055505050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b600e60019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e1e61173f565b610e275f6120d7565b565b610e3161173f565b5f610e3a610a17565b905080600b8190555080600c8190555050565b610e5561173f565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eed611575565b73ffffffffffffffffffffffffffffffffffffffff1614610f0c575f80fd5b5f610f15610a17565b90505f610f2130610dd1565b90505f60648403610f3457819050610f5b565b60648484610f429190613331565b610f4c919061339f565b905081811115610f5a578190505b5b81811115610f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f959061343f565b60405180910390fd5b610fa78161219a565b50505050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fed611575565b73ffffffffffffffffffffffffffffffffffffffff161461100c575f80fd5b5f471161104e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611045906134a7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611091573d5f803e3d5ffd5b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546110cb906130b8565b80601f01602080910402602001604051908101604052809291908181526020018280546110f7906130b8565b80156111425780601f1061111957610100808354040283529160200191611142565b820191905f5260205f20905b81548152906001019060200180831161112557829003601f168201915b5050505050905090565b61115461173f565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111da90613535565b60405180910390fd5b6111ed82826123ee565b5050565b5f806111fb611575565b90505f61120882866113a0565b90508381101561124d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611244906135c3565b60405180910390fd5b61125a828686840361157c565b60019250505092915050565b5f80611270611575565b905061127d818585611848565b600191505092915050565b61129061173f565b611298610b2f565b600a6112a49190613710565b816112af9190613331565b600d8190555050565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61131261173f565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b61136361173f565b6001600e60016101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff021916908315150217905550565b60105481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b600d5481565b61143661173f565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f3499bfcf9673677ba552f3fe2ea274ec7e6246da31c3c87e115b45a9b0db2efb5f6040516114d09190612ba0565b60405180910390a250565b6114e361173f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611551576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611548906137ca565b60405180910390fd5b61155a816120d7565b50565b600c5481565b600e5f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e190613858565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164f906138e6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117329190612d8c565b60405180910390a3505050565b611747611575565b73ffffffffffffffffffffffffffffffffffffffff1661176561248c565b73ffffffffffffffffffffffffffffffffffffffff16146117bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b29061394e565b60405180910390fd5b565b5f6117c884846113a0565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118425781811015611834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182b906139b6565b60405180910390fd5b611841848484840361157c565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ad90613a44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613ad2565b60405180910390fd5b5f810361193b5761193683835f61249f565b6120d2565b611943611094565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119b15750611981611094565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119e957505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a23575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a3c5750600960149054906101000a900460ff16155b15611d9f57600e5f9054906101000a900460ff16611b2f5760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611aef575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590613b3a565b60405180910390fd5b5b4360145f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611c0e575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611cb557600b54811115611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f90613bc8565b60405180910390fd5b600c54611c6483610dd1565b82611c6f9190613296565b1115611cb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca790613c30565b60405180910390fd5b611d9e565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611d52575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d9d57600b54811115611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9390613cbe565b60405180910390fd5b5b5b5b5f611da930610dd1565b90505f8082119050808015611dca5750600e60019054906101000a900460ff165b8015611de35750600960149054906101000a900460ff16155b8015611e36575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e89575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611edc575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f20576001600960146101000a81548160ff021916908315150217905550611f058361270b565b5f600960146101000a81548160ff0219169083151502179055505b611f29856112b8565b15611f3857611f3785612895565b5b5f600960149054906101000a900460ff16905060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611fe6575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611fef575f90505b5f81156120c25760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120745761206d606461205f6010548861291d90919063ffffffff16565b61293290919063ffffffff16565b905061209f565b61209c606461208e600f548861291d90919063ffffffff16565b61293290919063ffffffff16565b90505b5f8111156120b3576120b287308361249f565b5b80856120bf9190613cdc565b94505b6120cd87878761249f565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff8111156121b6576121b5612bbd565b5b6040519080825280602002602001820160405280156121e45781602001602082028036833780820191505090505b50905030815f815181106121fb576121fa6130e8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561229e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122c29190613d23565b816001815181106122d6576122d56130e8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061233b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461157c565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016123bd959493929190613e3e565b5f604051808303815f87803b1580156123d4575f80fd5b505af11580156123e6573d5f803e3d5ffd5b505050505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f80612496612947565b90508091505090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361250d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250490613a44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361257b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257290613ad2565b60405180910390fd5b6125868383836129eb565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260090613f06565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126f29190612d8c565b60405180910390a36127058484846129f0565b50505050565b5f61271530610dd1565b90505f808203612726575050612892565b5f601054600f546127379190613296565b036127b1575f8211801561274c5750600d5482105b15612759578190506127ac565b5f61278260646127746010548761291d90919063ffffffff16565b61293290919063ffffffff16565b905080846127909190613cdc565b9350600d548411156127a657600d5491506127aa565b8391505b505b612886565b5f821180156127d457506127d16005600d5461293290919063ffffffff16565b82105b156127e0575050612892565b5f8211801561280357506128006005600d5461293290919063ffffffff16565b82115b80156128105750600d5482105b156128325761282b6005600d5461293290919063ffffffff16565b9050612885565b5f61285b606461284d6010548761291d90919063ffffffff16565b61293290919063ffffffff16565b905080846128699190613cdc565b9350600d5484111561287f57600d549150612883565b8391505b505b5b61288f8161219a565b50505b50565b6128db60145f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129f5565b61291a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291190613f94565b60405180910390fd5b50565b5f818361292a9190613331565b905092915050565b5f818361293f919061339f565b905092915050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129c35760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166129e6565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b505050565b505050565b5f4382119050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612a37578082015181840152602081019050612a1c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612a5c82612a00565b612a668185612a0a565b9350612a76818560208601612a1a565b612a7f81612a42565b840191505092915050565b5f6020820190508181035f830152612aa28184612a52565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612ae482612abb565b9050919050565b612af481612ada565b8114612afe575f80fd5b50565b5f81359050612b0f81612aeb565b92915050565b5f819050919050565b612b2781612b15565b8114612b31575f80fd5b50565b5f81359050612b4281612b1e565b92915050565b5f8060408385031215612b5e57612b5d612ab3565b5b5f612b6b85828601612b01565b9250506020612b7c85828601612b34565b9150509250929050565b5f8115159050919050565b612b9a81612b86565b82525050565b5f602082019050612bb35f830184612b91565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612bf382612a42565b810181811067ffffffffffffffff82111715612c1257612c11612bbd565b5b80604052505050565b5f612c24612aaa565b9050612c308282612bea565b919050565b5f67ffffffffffffffff821115612c4f57612c4e612bbd565b5b602082029050602081019050919050565b5f80fd5b5f612c76612c7184612c35565b612c1b565b90508083825260208201905060208402830185811115612c9957612c98612c60565b5b835b81811015612cc25780612cae8882612b01565b845260208401935050602081019050612c9b565b5050509392505050565b5f82601f830112612ce057612cdf612bb9565b5b8135612cf0848260208601612c64565b91505092915050565b612d0281612b86565b8114612d0c575f80fd5b50565b5f81359050612d1d81612cf9565b92915050565b5f8060408385031215612d3957612d38612ab3565b5b5f83013567ffffffffffffffff811115612d5657612d55612ab7565b5b612d6285828601612ccc565b9250506020612d7385828601612d0f565b9150509250929050565b612d8681612b15565b82525050565b5f602082019050612d9f5f830184612d7d565b92915050565b5f805f60608486031215612dbc57612dbb612ab3565b5b5f612dc986828701612b01565b9350506020612dda86828701612b01565b9250506040612deb86828701612b34565b9150509250925092565b5f80fd5b5f8083601f840112612e0e57612e0d612bb9565b5b8235905067ffffffffffffffff811115612e2b57612e2a612df5565b5b602083019150836020820283011115612e4757612e46612c60565b5b9250929050565b5f805f60408486031215612e6557612e64612ab3565b5b5f84013567ffffffffffffffff811115612e8257612e81612ab7565b5b612e8e86828701612df9565b93509350506020612ea186828701612b34565b9150509250925092565b5f60ff82169050919050565b612ec081612eab565b82525050565b5f602082019050612ed95f830184612eb7565b92915050565b5f60208284031215612ef457612ef3612ab3565b5b5f612f0184828501612b01565b91505092915050565b5f8060408385031215612f2057612f1f612ab3565b5b5f612f2d85828601612b34565b9250506020612f3e85828601612b34565b9150509250929050565b5f819050919050565b5f612f6b612f66612f6184612abb565b612f48565b612abb565b9050919050565b5f612f7c82612f51565b9050919050565b5f612f8d82612f72565b9050919050565b612f9d81612f83565b82525050565b5f602082019050612fb65f830184612f94565b92915050565b5f8060408385031215612fd257612fd1612ab3565b5b5f612fdf85828601612b01565b9250506020612ff085828601612d0f565b9150509250929050565b5f6020828403121561300f5761300e612ab3565b5b5f61301c84828501612b34565b91505092915050565b61302e81612ada565b82525050565b5f6020820190506130475f830184613025565b92915050565b5f806040838503121561306357613062612ab3565b5b5f61307085828601612b01565b925050602061308185828601612b01565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806130cf57607f821691505b6020821081036130e2576130e161308b565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61314c82612b15565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361317e5761317d613115565b5b600182019050919050565b5f8151905061319781612b1e565b92915050565b5f602082840312156131b2576131b1612ab3565b5b5f6131bf84828501613189565b91505092915050565b7f4e6f20746f6b656e7320746f20636c65617200000000000000000000000000005f82015250565b5f6131fc601283612a0a565b9150613207826131c8565b602082019050919050565b5f6020820190508181035f830152613229816131f0565b9050919050565b5f6040820190506132435f830185613025565b6132506020830184612d7d565b9392505050565b5f8151905061326581612cf9565b92915050565b5f602082840312156132805761327f612ab3565b5b5f61328d84828501613257565b91505092915050565b5f6132a082612b15565b91506132ab83612b15565b92508282019050808211156132c3576132c2613115565b5b92915050565b7f466565732063616e6e6f742065786365656420333025000000000000000000005f82015250565b5f6132fd601683612a0a565b9150613308826132c9565b602082019050919050565b5f6020820190508181035f83015261332a816132f1565b9050919050565b5f61333b82612b15565b915061334683612b15565b925082820261335481612b15565b9150828204841483151761336b5761336a613115565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133a982612b15565b91506133b483612b15565b9250826133c4576133c3613372565b5b828204905092915050565b7f5377617020616d6f756e74206578636565647320636f6e74726163742062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f613429602483612a0a565b9150613434826133cf565b604082019050919050565b5f6020820190508181035f8301526134568161341d565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c656172000000000000000000005f82015250565b5f613491601683612a0a565b915061349c8261345d565b602082019050919050565b5f6020820190508181035f8301526134be81613485565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61351f603983612a0a565b915061352a826134c5565b604082019050919050565b5f6020820190508181035f83015261354c81613513565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6135ad602583612a0a565b91506135b882613553565b604082019050919050565b5f6020820190508181035f8301526135da816135a1565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156136365780860481111561361257613611613115565b5b60018516156136215780820291505b808102905061362f856135e1565b94506135f6565b94509492505050565b5f8261364e5760019050613709565b8161365b575f9050613709565b8160018114613671576002811461367b576136aa565b6001915050613709565b60ff84111561368d5761368c613115565b5b8360020a9150848211156136a4576136a3613115565b5b50613709565b5060208310610133831016604e8410600b84101617156136df5782820a9050838111156136da576136d9613115565b5b613709565b6136ec84848460016135ed565b9250905081840481111561370357613702613115565b5b81810290505b9392505050565b5f61371a82612b15565b915061372583612eab565b92506137527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461363f565b905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6137b4602683612a0a565b91506137bf8261375a565b604082019050919050565b5f6020820190508181035f8301526137e1816137a8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613842602483612a0a565b915061384d826137e8565b604082019050919050565b5f6020820190508181035f83015261386f81613836565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138d0602283612a0a565b91506138db82613876565b604082019050919050565b5f6020820190508181035f8301526138fd816138c4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613938602083612a0a565b915061394382613904565b602082019050919050565b5f6020820190508181035f8301526139658161392c565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6139a0601d83612a0a565b91506139ab8261396c565b602082019050919050565b5f6020820190508181035f8301526139cd81613994565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a2e602583612a0a565b9150613a39826139d4565b604082019050919050565b5f6020820190508181035f830152613a5b81613a22565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613abc602383612a0a565b9150613ac782613a62565b604082019050919050565b5f6020820190508181035f830152613ae981613ab0565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613b24601683612a0a565b9150613b2f82613af0565b602082019050919050565b5f6020820190508181035f830152613b5181613b18565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f613bb2603583612a0a565b9150613bbd82613b58565b604082019050919050565b5f6020820190508181035f830152613bdf81613ba6565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613c1a601383612a0a565b9150613c2582613be6565b602082019050919050565b5f6020820190508181035f830152613c4781613c0e565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f613ca8603683612a0a565b9150613cb382613c4e565b604082019050919050565b5f6020820190508181035f830152613cd581613c9c565b9050919050565b5f613ce682612b15565b9150613cf183612b15565b9250828203905081811115613d0957613d08613115565b5b92915050565b5f81519050613d1d81612aeb565b92915050565b5f60208284031215613d3857613d37612ab3565b5b5f613d4584828501613d0f565b91505092915050565b5f819050919050565b5f613d71613d6c613d6784613d4e565b612f48565b612b15565b9050919050565b613d8181613d57565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613db981612ada565b82525050565b5f613dca8383613db0565b60208301905092915050565b5f602082019050919050565b5f613dec82613d87565b613df68185613d91565b9350613e0183613da1565b805f5b83811015613e31578151613e188882613dbf565b9750613e2383613dd6565b925050600181019050613e04565b5085935050505092915050565b5f60a082019050613e515f830188612d7d565b613e5e6020830187613d78565b8181036040830152613e708186613de2565b9050613e7f6060830185613025565b613e8c6080830184612d7d565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613ef0602683612a0a565b9150613efb82613e96565b604082019050919050565b5f6020820190508181035f830152613f1d81613ee4565b9050919050565b7f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f613f7e602483612a0a565b9150613f8982613f24565b604082019050919050565b5f6020820190508181035f830152613fab81613f72565b905091905056fea264697066735822122022db673128583a78f89a1dc293ba742a450bd2fcd2fec3061e5c7c9a2911595664736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000855731effb50acaac7229a8d8016c63402a0a6ed
-----Decoded View---------------
Arg [0] : wallet (address): 0x855731eFfB50aCaaC7229a8d8016C63402a0A6ed
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000855731effb50acaac7229a8d8016c63402a0a6ed
Deployed Bytecode Sourcemap
9460:10361:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4485:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5416:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12124:298;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4805:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5625:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12874:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9913:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4705:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16917:347;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5928:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17384:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9547:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10244:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4921:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3297:103;;;;;;;;;;;;;:::i;:::-;;16299:193;;;;;;;;;;;;;:::i;:::-;;11775:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17747:668;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16684:225;;;;;;;;;;;;;:::i;:::-;;3067:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4593:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12430:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6174:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5056:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17604:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13104:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11560:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9983:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11657:110;;;;;;;;;;;;;:::i;:::-;;10316:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5257:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10284:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10128:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11927:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3545:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10061:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10206:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4485:100;4539:13;4572:5;4565:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4485:100;:::o;5416:201::-;5499:4;5516:13;5532:12;:10;:12::i;:::-;5516:28;;5555:32;5564:5;5571:7;5580:6;5555:8;:32::i;:::-;5605:4;5598:11;;;5416:201;;;;:::o;12124:298::-;3026:13;:11;:13::i;:::-;12218:9:::1;12213:202;12237:8;:15;12233:1;:19;12213:202;;;12336:8;12274:46;:59;12321:8;12330:1;12321:11;;;;;;;;:::i;:::-;;;;;;;;12274:59;;;;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;12381:8;12390:1;12381:11;;;;;;;;:::i;:::-;;;;;;;;12364:39;;;12394:8;12364:39;;;;;;:::i;:::-;;;;;;;;12254:3;;;;;:::i;:::-;;;;12213:202;;;;12124:298:::0;;:::o;4805:108::-;4866:7;4893:12;;4886:19;;4805:108;:::o;5625:295::-;5756:4;5773:15;5791:12;:10;:12::i;:::-;5773:30;;5814:38;5830:4;5836:7;5845:6;5814:15;:38::i;:::-;5863:27;5873:4;5879:2;5883:6;5863:9;:27::i;:::-;5908:4;5901:11;;;5625:295;;;;;:::o;12874:222::-;3026:13;:11;:13::i;:::-;12970:9:::1;12965:124;12989:10;;:17;;12985:1;:21;12965:124;;;13057:10;;13068:1;13057:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13033:44;;13042:13;;;;;;;;;;;13033:44;;;13072:4;13033:44;;;;;;:::i;:::-;;;;;;;;13008:3;;;;;:::i;:::-;;;;12965:124;;;;12874:222:::0;;;:::o;9913:63::-;;;;:::o;4705:92::-;4763:5;4788:1;4781:8;;4705:92;:::o;16917:347::-;17009:14;;;;;;;;;;;16993:30;;:12;:10;:12::i;:::-;:30;;;16985:39;;;;;;17035:20;17065:12;17035:43;;17089:15;17107:13;:23;;;17139:4;17107:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17089:56;;17174:1;17164:7;:11;17156:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;17209:13;:22;;;17232:14;;;;;;;;;;;17248:7;17209:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16974:290;;16917:347;:::o;5928:238::-;6016:4;6033:13;6049:12;:10;:12::i;:::-;6033:28;;6072:64;6081:5;6088:7;6125:10;6097:25;6107:5;6114:7;6097:9;:25::i;:::-;:38;;;;:::i;:::-;6072:8;:64::i;:::-;6154:4;6147:11;;;5928:238;;;;:::o;17384:212::-;3026:13;:11;:13::i;:::-;17485:2:::1;17474:7;:13;;:31;;;;;17503:2;17491:8;:14;;17474:31;17466:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;17552:7;17543:6;:16;;;;17580:8;17570:7;:18;;;;17384:212:::0;;:::o;9547:52::-;;;:::o;10244:31::-;;;;;;;;;;;;;:::o;4921:127::-;4995:7;5022:9;:18;5032:7;5022:18;;;;;;;;;;;;;;;;5015:25;;4921:127;;;:::o;3297:103::-;3026:13;:11;:13::i;:::-;3362:30:::1;3389:1;3362:18;:30::i;:::-;3297:103::o:0;16299:193::-;3026:13;:11;:13::i;:::-;16352:25:::1;16380:13;:11;:13::i;:::-;16352:41;;16427:17;16404:20;:40;;;;16467:17;16455:9;:29;;;;16341:151;16299:193::o:0;11775:144::-;3026:13;:11;:13::i;:::-;11907:4:::1;11865:31;:39;11897:6;11865:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;11775:144:::0;;:::o;17747:668::-;17829:14;;;;;;;;;;;17813:30;;:12;:10;:12::i;:::-;:30;;;17805:39;;;;;;17855:25;17883:13;:11;:13::i;:::-;17855:41;;17907:23;17933:24;17951:4;17933:9;:24::i;:::-;17907:50;;17968:20;18016:3;18005:7;:14;18001:273;;18051:15;18036:30;;18001:273;;;18144:3;18134:7;18114:17;:27;;;;:::i;:::-;:33;;;;:::i;:::-;18099:48;;18181:15;18166:12;:30;18162:101;;;18232:15;18217:30;;18162:101;18001:273;18310:15;18294:12;:31;;18286:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;18377:30;18394:12;18377:16;:30::i;:::-;17794:621;;;17747:668;:::o;16684:225::-;16753:14;;;;;;;;;;;16737:30;;:12;:10;:12::i;:::-;:30;;;16729:39;;;;;;16811:1;16787:21;:25;16779:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;16858:10;16850:28;;:51;16879:21;16850:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16684:225::o;3067:87::-;3113:7;3140:6;;;;;;;;;;;3133:13;;3067:87;:::o;4593:104::-;4649:13;4682:7;4675:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4593:104;:::o;12430:242::-;3026:13;:11;:13::i;:::-;12537::::1;;;;;;;;;;;12529:21;;:4;:21;;::::0;12521:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12623:41;12652:4;12658:5;12623:28;:41::i;:::-;12430:242:::0;;:::o;6174:436::-;6267:4;6284:13;6300:12;:10;:12::i;:::-;6284:28;;6323:24;6350:25;6360:5;6367:7;6350:9;:25::i;:::-;6323:52;;6414:15;6394:16;:35;;6386:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6507:60;6516:5;6523:7;6551:15;6532:16;:34;6507:8;:60::i;:::-;6598:4;6591:11;;;;6174:436;;;;:::o;5056:193::-;5135:4;5152:13;5168:12;:10;:12::i;:::-;5152:28;;5191;5201:5;5208:2;5212:6;5191:9;:28::i;:::-;5237:4;5230:11;;;5056:193;;;;:::o;17604:135::-;3026:13;:11;:13::i;:::-;17720:10:::1;:8;:10::i;:::-;17714:2;:16;;;;:::i;:::-;17703:7;:28;;;;:::i;:::-;17682:18;:49;;;;17604:135:::0;:::o;13104:157::-;13174:4;13198:46;:55;13245:7;13198:55;;;;;;;;;;;;;;;;;;;;;;;;;13191:62;;13104:157;;;:::o;11560:89::-;3026:13;:11;:13::i;:::-;11636:5:::1;11620:13;;:21;;;;;;;;;;;;;;;;;;11560:89:::0;:::o;9983:71::-;;;;:::o;11657:110::-;3026:13;:11;:13::i;:::-;11726:4:::1;11712:11;;:18;;;;;;;;;;;;;;;;;;11755:4;11741:11;;:18;;;;;;;;;;;;;;;;;;11657:110::o:0;10316:26::-;;;;:::o;5257:151::-;5346:7;5373:11;:18;5385:5;5373:18;;;;;;;;;;;;;;;:27;5392:7;5373:27;;;;;;;;;;;;;;;;5366:34;;5257:151;;;;:::o;10284:25::-;;;;:::o;10128:69::-;;;;:::o;11927:189::-;3026:13;:11;:13::i;:::-;12055:5:::1;11997:46;:55;12044:7;11997:55;;;;;;;;;;;;;;;;:63;;;;;;;;;;;;;;;;;;12093:7;12076:32;;;12102:5;12076:32;;;;;;:::i;:::-;;;;;;;;11927:189:::0;:::o;3545:201::-;3026:13;:11;:13::i;:::-;3654:1:::1;3634:22;;:8;:22;;::::0;3626:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3710:28;3729:8;3710:18;:28::i;:::-;3545:201:::0;:::o;10061:60::-;;;;:::o;10206:31::-;;;;;;;;;;;;;:::o;146:98::-;199:7;226:10;219:17;;146:98;:::o;8347:380::-;8500:1;8483:19;;:5;:19;;;8475:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8581:1;8562:21;;:7;:21;;;8554:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8665:6;8635:11;:18;8647:5;8635:18;;;;;;;;;;;;;;;:27;8654:7;8635:27;;;;;;;;;;;;;;;:36;;;;8703:7;8687:32;;8696:5;8687:32;;;8712:6;8687:32;;;;;;:::i;:::-;;;;;;;;8347:380;;;:::o;3162:127::-;3232:12;:10;:12::i;:::-;3221:23;;:7;:5;:7::i;:::-;:23;;;3213:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3162:127::o;8735:453::-;8870:24;8897:25;8907:5;8914:7;8897:9;:25::i;:::-;8870:52;;8957:17;8937:16;:37;8933:248;;9019:6;8999:16;:26;;8991:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9103:51;9112:5;9119:7;9147:6;9128:16;:25;9103:8;:51::i;:::-;8933:248;8859:329;8735:453;;;:::o;13269:2532::-;13385:1;13369:18;;:4;:18;;;13361:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13462:1;13448:16;;:2;:16;;;13440:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13531:1;13521:6;:11;13517:93;;13549:28;13565:4;13571:2;13575:1;13549:15;:28::i;:::-;13592:7;;13517:93;13640:7;:5;:7::i;:::-;13632:15;;:4;:15;;;;:32;;;;;13657:7;:5;:7::i;:::-;13651:13;;:2;:13;;;;13632:32;:52;;;;;13682:1;13668:16;;:2;:16;;;;13632:52;:77;;;;;13702:6;13688:21;;:2;:21;;;;13632:77;:90;;;;;13714:8;;;;;;;;;;;13713:9;13632:90;13628:1003;;;13750:11;;;;;;;;;;;13745:202;;13794:46;:52;13841:4;13794:52;;;;;;;;;;;;;;;;;;;;;;;;;:106;;;;13850:46;:50;13897:2;13850:50;;;;;;;;;;;;;;;;;;;;;;;;;13794:106;13786:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;13745:202;13996:12;13965:22;:28;13988:4;13965:28;;;;;;;;;;;;;;;:43;;;;14031:25;:31;14057:4;14031:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;14067:31;:35;14099:2;14067:35;;;;;;;;;;;;;;;;;;;;;;;;;14066:36;14031:71;14027:588;;;14163:20;;14153:6;:30;;14145:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;14298:9;;14281:13;14291:2;14281:9;:13::i;:::-;14272:6;:22;;;;:::i;:::-;:35;;14264:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14027:588;;;14380:25;:29;14406:2;14380:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;14414:31;:37;14446:4;14414:37;;;;;;;;;;;;;;;;;;;;;;;;;14413:38;14380:71;14376:239;;;14516:20;;14506:6;:30;;14498:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;14376:239;14027:588;13628:1003;14643:28;14674:24;14692:4;14674:9;:24::i;:::-;14643:55;;14711:12;14749:1;14726:20;:24;14711:39;;14767:7;:22;;;;;14778:11;;;;;;;;;;;14767:22;:35;;;;;14794:8;;;;;;;;;;;14793:9;14767:35;:71;;;;;14807:25;:31;14833:4;14807:31;;;;;;;;;;;;;;;;;;;;;;;;;14806:32;14767:71;:128;;;;;14843:46;:52;14890:4;14843:52;;;;;;;;;;;;;;;;;;;;;;;;;14842:53;14767:128;:183;;;;;14900:46;:50;14947:2;14900:50;;;;;;;;;;;;;;;;;;;;;;;;;14899:51;14767:183;14763:293;;;14978:4;14967:8;;:15;;;;;;;;;;;;;;;;;;14997:16;15006:6;14997:8;:16::i;:::-;15039:5;15028:8;;:16;;;;;;;;;;;;;;;;;;14763:293;15069:28;15092:4;15069:22;:28::i;:::-;15066:97;;;15117:30;15142:4;15117:24;:30::i;:::-;15066:97;15173:12;15188:8;;;;;;;;;;;15173:23;;15211:46;:52;15258:4;15211:52;;;;;;;;;;;;;;;;;;;;;;;;;:106;;;;15267:46;:50;15314:2;15267:50;;;;;;;;;;;;;;;;;;;;;;;;;15211:106;15207:154;;;15344:5;15334:15;;15207:154;15373:12;15406:7;15402:348;;;15434:25;:29;15460:2;15434:29;;;;;;;;;;;;;;;;;;;;;;;;;15430:193;;;15491:28;15515:3;15491:19;15502:7;;15491:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15484:35;;15430:193;;;15580:27;15603:3;15580:18;15591:6;;15580;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;15573:34;;15430:193;15646:1;15639:4;:8;15635:83;;;15664:42;15680:4;15694;15701;15664:15;:42::i;:::-;15635:83;15738:4;15728:14;;;;;:::i;:::-;;;15402:348;15760:33;15776:4;15782:2;15786:6;15760:15;:33::i;:::-;13348:2453;;;;13269:2532;;;;:::o;3754:191::-;3828:16;3847:6;;;;;;;;;;;3828:25;;3873:8;3864:6;;:17;;;;;;;;;;;;;;;;;;3928:8;3897:40;;3918:8;3897:40;;;;;;;;;;;;3817:128;3754:191;:::o;15809:482::-;15877:21;15915:1;15901:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15877:40;;15946:4;15928;15933:1;15928:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15972:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15962:4;15967:1;15962:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;16008:63;16025:4;16040:16;16059:11;16008:8;:63::i;:::-;16084:16;:67;;;16166:11;16192:1;16208:4;16227:15;;;;;;;;;;;16257;16084:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15864:427;15809:482;:::o;12680:186::-;12797:5;12763:25;:31;12789:4;12763:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;12852:5;12818:40;;12846:4;12818:40;;;;;;;;;;;;12680:186;;:::o;3412:125::-;3455:7;3475:14;3492:13;:11;:13::i;:::-;3475:30;;3523:6;3516:13;;;3412:125;:::o;6618:675::-;6765:1;6749:18;;:4;:18;;;6741:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6842:1;6828:16;;:2;:16;;;6820:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6897:38;6918:4;6924:2;6928:6;6897:20;:38::i;:::-;6948:19;6970:9;:15;6980:4;6970:15;;;;;;;;;;;;;;;;6948:37;;7019:6;7004:11;:21;;6996:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7136:6;7122:11;:20;7104:9;:15;7114:4;7104:15;;;;;;;;;;;;;;;:38;;;;7174:6;7157:9;:13;7167:2;7157:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;7224:2;7209:26;;7218:4;7209:26;;;7228:6;7209:26;;;;;;:::i;:::-;;;;;;;;7248:37;7268:4;7274:2;7278:6;7248:19;:37::i;:::-;6730:563;6618:675;;;:::o;18425:1393::-;18478:23;18504:24;18522:4;18504:9;:24::i;:::-;18478:50;;18539:20;18596:1;18577:15;:20;18573:59;;18614:7;;;;18573:59;18664:1;18652:7;;18645:6;;:14;;;;:::i;:::-;18644:21;18640:1130;;18701:1;18683:15;:19;:59;;;;;18724:18;;18706:15;:36;18683:59;18680:443;;;18774:15;18759:30;;18680:443;;;18831:21;18855:28;18879:3;18855:19;18866:7;;18855:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;18831:52;;18908:13;18898:23;;;;;:::i;:::-;;;18949:18;;18940:6;:27;18936:176;;;19003:18;;18988:33;;18936:176;;;19090:6;19075:21;;18936:176;18816:307;18680:443;18640:1130;;;19177:1;19159:15;:19;:66;;;;;19200:25;19223:1;19200:18;;:22;;:25;;;;:::i;:::-;19182:15;:43;19159:66;19156:607;;;19242:7;;;;19156:607;19297:1;19279:15;:19;:66;;;;;19320:25;19343:1;19320:18;;:22;;:25;;;;:::i;:::-;19302:15;:43;19279:66;:106;;;;;19367:18;;19349:15;:36;19279:106;19275:488;;;19417:25;19440:1;19417:18;;:22;;:25;;;;:::i;:::-;19402:40;;19275:488;;;19484:21;19508:28;19532:3;19508:19;19519:7;;19508:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;19484:52;;19561:13;19551:23;;;;;:::i;:::-;;;19602:18;;19593:6;:27;19589:163;;;19656:18;;19641:33;;19589:163;;;19730:6;19715:21;;19589:163;19469:294;19275:488;18640:1130;19780:30;19797:12;19780:16;:30::i;:::-;18467:1351;;18425:1393;;:::o;16504:172::-;16586:41;16596:22;:30;16619:6;16596:30;;;;;;;;;;;;;;;;16586:9;:41::i;:::-;16578:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;16504:172;:::o;1716:98::-;1774:7;1805:1;1801;:5;;;;:::i;:::-;1794:12;;1716:98;;;;:::o;1822:::-;1880:7;1911:1;1907;:5;;;;:::i;:::-;1900:12;;1822:98;;;;:::o;3953:119::-;3998:7;4040:1;4024:18;;:6;;;;;;;;;;;:18;;;:40;;4058:6;;;;;;;;;;;4024:40;;;4045:10;;;;;;;;;;;4024:40;4017:47;;3953:119;:::o;9196:125::-;;;;:::o;9329:124::-;;;;:::o;17272:104::-;17326:4;17356:12;17349:4;:19;17342:26;;17272:104;;;:::o;7:99:3:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:117::-;3555:1;3552;3545:12;3569:180;3617:77;3614:1;3607:88;3714:4;3711:1;3704:15;3738:4;3735:1;3728:15;3755:281;3838:27;3860:4;3838:27;:::i;:::-;3830:6;3826:40;3968:6;3956:10;3953:22;3932:18;3920:10;3917:34;3914:62;3911:88;;;3979:18;;:::i;:::-;3911:88;4019:10;4015:2;4008:22;3798:238;3755:281;;:::o;4042:129::-;4076:6;4103:20;;:::i;:::-;4093:30;;4132:33;4160:4;4152:6;4132:33;:::i;:::-;4042:129;;;:::o;4177:311::-;4254:4;4344:18;4336:6;4333:30;4330:56;;;4366:18;;:::i;:::-;4330:56;4416:4;4408:6;4404:17;4396:25;;4476:4;4470;4466:15;4458:23;;4177:311;;;:::o;4494:117::-;4603:1;4600;4593:12;4634:710;4730:5;4755:81;4771:64;4828:6;4771:64;:::i;:::-;4755:81;:::i;:::-;4746:90;;4856:5;4885:6;4878:5;4871:21;4919:4;4912:5;4908:16;4901:23;;4972:4;4964:6;4960:17;4952:6;4948:30;5001:3;4993:6;4990:15;4987:122;;;5020:79;;:::i;:::-;4987:122;5135:6;5118:220;5152:6;5147:3;5144:15;5118:220;;;5227:3;5256:37;5289:3;5277:10;5256:37;:::i;:::-;5251:3;5244:50;5323:4;5318:3;5314:14;5307:21;;5194:144;5178:4;5173:3;5169:14;5162:21;;5118:220;;;5122:21;4736:608;;4634:710;;;;;:::o;5367:370::-;5438:5;5487:3;5480:4;5472:6;5468:17;5464:27;5454:122;;5495:79;;:::i;:::-;5454:122;5612:6;5599:20;5637:94;5727:3;5719:6;5712:4;5704:6;5700:17;5637:94;:::i;:::-;5628:103;;5444:293;5367:370;;;;:::o;5743:116::-;5813:21;5828:5;5813:21;:::i;:::-;5806:5;5803:32;5793:60;;5849:1;5846;5839:12;5793:60;5743:116;:::o;5865:133::-;5908:5;5946:6;5933:20;5924:29;;5962:30;5986:5;5962:30;:::i;:::-;5865:133;;;;:::o;6004:678::-;6094:6;6102;6151:2;6139:9;6130:7;6126:23;6122:32;6119:119;;;6157:79;;:::i;:::-;6119:119;6305:1;6294:9;6290:17;6277:31;6335:18;6327:6;6324:30;6321:117;;;6357:79;;:::i;:::-;6321:117;6462:78;6532:7;6523:6;6512:9;6508:22;6462:78;:::i;:::-;6452:88;;6248:302;6589:2;6615:50;6657:7;6648:6;6637:9;6633:22;6615:50;:::i;:::-;6605:60;;6560:115;6004:678;;;;;:::o;6688:118::-;6775:24;6793:5;6775:24;:::i;:::-;6770:3;6763:37;6688:118;;:::o;6812:222::-;6905:4;6943:2;6932:9;6928:18;6920:26;;6956:71;7024:1;7013:9;7009:17;7000:6;6956:71;:::i;:::-;6812:222;;;;:::o;7040:619::-;7117:6;7125;7133;7182:2;7170:9;7161:7;7157:23;7153:32;7150:119;;;7188:79;;:::i;:::-;7150:119;7308:1;7333:53;7378:7;7369:6;7358:9;7354:22;7333:53;:::i;:::-;7323:63;;7279:117;7435:2;7461:53;7506:7;7497:6;7486:9;7482:22;7461:53;:::i;:::-;7451:63;;7406:118;7563:2;7589:53;7634:7;7625:6;7614:9;7610:22;7589:53;:::i;:::-;7579:63;;7534:118;7040:619;;;;;:::o;7665:117::-;7774:1;7771;7764:12;7805:568;7878:8;7888:6;7938:3;7931:4;7923:6;7919:17;7915:27;7905:122;;7946:79;;:::i;:::-;7905:122;8059:6;8046:20;8036:30;;8089:18;8081:6;8078:30;8075:117;;;8111:79;;:::i;:::-;8075:117;8225:4;8217:6;8213:17;8201:29;;8279:3;8271:4;8263:6;8259:17;8249:8;8245:32;8242:41;8239:128;;;8286:79;;:::i;:::-;8239:128;7805:568;;;;;:::o;8379:704::-;8474:6;8482;8490;8539:2;8527:9;8518:7;8514:23;8510:32;8507:119;;;8545:79;;:::i;:::-;8507:119;8693:1;8682:9;8678:17;8665:31;8723:18;8715:6;8712:30;8709:117;;;8745:79;;:::i;:::-;8709:117;8858:80;8930:7;8921:6;8910:9;8906:22;8858:80;:::i;:::-;8840:98;;;;8636:312;8987:2;9013:53;9058:7;9049:6;9038:9;9034:22;9013:53;:::i;:::-;9003:63;;8958:118;8379:704;;;;;:::o;9089:86::-;9124:7;9164:4;9157:5;9153:16;9142:27;;9089:86;;;:::o;9181:112::-;9264:22;9280:5;9264:22;:::i;:::-;9259:3;9252:35;9181:112;;:::o;9299:214::-;9388:4;9426:2;9415:9;9411:18;9403:26;;9439:67;9503:1;9492:9;9488:17;9479:6;9439:67;:::i;:::-;9299:214;;;;:::o;9519:329::-;9578:6;9627:2;9615:9;9606:7;9602:23;9598:32;9595:119;;;9633:79;;:::i;:::-;9595:119;9753:1;9778:53;9823:7;9814:6;9803:9;9799:22;9778:53;:::i;:::-;9768:63;;9724:117;9519:329;;;;:::o;9854:474::-;9922:6;9930;9979:2;9967:9;9958:7;9954:23;9950:32;9947:119;;;9985:79;;:::i;:::-;9947:119;10105:1;10130:53;10175:7;10166:6;10155:9;10151:22;10130:53;:::i;:::-;10120:63;;10076:117;10232:2;10258:53;10303:7;10294:6;10283:9;10279:22;10258:53;:::i;:::-;10248:63;;10203:118;9854:474;;;;;:::o;10334:60::-;10362:3;10383:5;10376:12;;10334:60;;;:::o;10400:142::-;10450:9;10483:53;10501:34;10510:24;10528:5;10510:24;:::i;:::-;10501:34;:::i;:::-;10483:53;:::i;:::-;10470:66;;10400:142;;;:::o;10548:126::-;10598:9;10631:37;10662:5;10631:37;:::i;:::-;10618:50;;10548:126;;;:::o;10680:153::-;10757:9;10790:37;10821:5;10790:37;:::i;:::-;10777:50;;10680:153;;;:::o;10839:185::-;10953:64;11011:5;10953:64;:::i;:::-;10948:3;10941:77;10839:185;;:::o;11030:276::-;11150:4;11188:2;11177:9;11173:18;11165:26;;11201:98;11296:1;11285:9;11281:17;11272:6;11201:98;:::i;:::-;11030:276;;;;:::o;11312:468::-;11377:6;11385;11434:2;11422:9;11413:7;11409:23;11405:32;11402:119;;;11440:79;;:::i;:::-;11402:119;11560:1;11585:53;11630:7;11621:6;11610:9;11606:22;11585:53;:::i;:::-;11575:63;;11531:117;11687:2;11713:50;11755:7;11746:6;11735:9;11731:22;11713:50;:::i;:::-;11703:60;;11658:115;11312:468;;;;;:::o;11786:329::-;11845:6;11894:2;11882:9;11873:7;11869:23;11865:32;11862:119;;;11900:79;;:::i;:::-;11862:119;12020:1;12045:53;12090:7;12081:6;12070:9;12066:22;12045:53;:::i;:::-;12035:63;;11991:117;11786:329;;;;:::o;12121:118::-;12208:24;12226:5;12208:24;:::i;:::-;12203:3;12196:37;12121:118;;:::o;12245:222::-;12338:4;12376:2;12365:9;12361:18;12353:26;;12389:71;12457:1;12446:9;12442:17;12433:6;12389:71;:::i;:::-;12245:222;;;;:::o;12473:474::-;12541:6;12549;12598:2;12586:9;12577:7;12573:23;12569:32;12566:119;;;12604:79;;:::i;:::-;12566:119;12724:1;12749:53;12794:7;12785:6;12774:9;12770:22;12749:53;:::i;:::-;12739:63;;12695:117;12851:2;12877:53;12922:7;12913:6;12902:9;12898:22;12877:53;:::i;:::-;12867:63;;12822:118;12473:474;;;;;:::o;12953:180::-;13001:77;12998:1;12991:88;13098:4;13095:1;13088:15;13122:4;13119:1;13112:15;13139:320;13183:6;13220:1;13214:4;13210:12;13200:22;;13267:1;13261:4;13257:12;13288:18;13278:81;;13344:4;13336:6;13332:17;13322:27;;13278:81;13406:2;13398:6;13395:14;13375:18;13372:38;13369:84;;13425:18;;:::i;:::-;13369:84;13190:269;13139:320;;;:::o;13465:180::-;13513:77;13510:1;13503:88;13610:4;13607:1;13600:15;13634:4;13631:1;13624:15;13651:180;13699:77;13696:1;13689:88;13796:4;13793:1;13786:15;13820:4;13817:1;13810:15;13837:233;13876:3;13899:24;13917:5;13899:24;:::i;:::-;13890:33;;13945:66;13938:5;13935:77;13932:103;;14015:18;;:::i;:::-;13932:103;14062:1;14055:5;14051:13;14044:20;;13837:233;;;:::o;14076:143::-;14133:5;14164:6;14158:13;14149:22;;14180:33;14207:5;14180:33;:::i;:::-;14076:143;;;;:::o;14225:351::-;14295:6;14344:2;14332:9;14323:7;14319:23;14315:32;14312:119;;;14350:79;;:::i;:::-;14312:119;14470:1;14495:64;14551:7;14542:6;14531:9;14527:22;14495:64;:::i;:::-;14485:74;;14441:128;14225:351;;;;:::o;14582:168::-;14722:20;14718:1;14710:6;14706:14;14699:44;14582:168;:::o;14756:366::-;14898:3;14919:67;14983:2;14978:3;14919:67;:::i;:::-;14912:74;;14995:93;15084:3;14995:93;:::i;:::-;15113:2;15108:3;15104:12;15097:19;;14756:366;;;:::o;15128:419::-;15294:4;15332:2;15321:9;15317:18;15309:26;;15381:9;15375:4;15371:20;15367:1;15356:9;15352:17;15345:47;15409:131;15535:4;15409:131;:::i;:::-;15401:139;;15128:419;;;:::o;15553:332::-;15674:4;15712:2;15701:9;15697:18;15689:26;;15725:71;15793:1;15782:9;15778:17;15769:6;15725:71;:::i;:::-;15806:72;15874:2;15863:9;15859:18;15850:6;15806:72;:::i;:::-;15553:332;;;;;:::o;15891:137::-;15945:5;15976:6;15970:13;15961:22;;15992:30;16016:5;15992:30;:::i;:::-;15891:137;;;;:::o;16034:345::-;16101:6;16150:2;16138:9;16129:7;16125:23;16121:32;16118:119;;;16156:79;;:::i;:::-;16118:119;16276:1;16301:61;16354:7;16345:6;16334:9;16330:22;16301:61;:::i;:::-;16291:71;;16247:125;16034:345;;;;:::o;16385:191::-;16425:3;16444:20;16462:1;16444:20;:::i;:::-;16439:25;;16478:20;16496:1;16478:20;:::i;:::-;16473:25;;16521:1;16518;16514:9;16507:16;;16542:3;16539:1;16536:10;16533:36;;;16549:18;;:::i;:::-;16533:36;16385:191;;;;:::o;16582:172::-;16722:24;16718:1;16710:6;16706:14;16699:48;16582:172;:::o;16760:366::-;16902:3;16923:67;16987:2;16982:3;16923:67;:::i;:::-;16916:74;;16999:93;17088:3;16999:93;:::i;:::-;17117:2;17112:3;17108:12;17101:19;;16760:366;;;:::o;17132:419::-;17298:4;17336:2;17325:9;17321:18;17313:26;;17385:9;17379:4;17375:20;17371:1;17360:9;17356:17;17349:47;17413:131;17539:4;17413:131;:::i;:::-;17405:139;;17132:419;;;:::o;17557:410::-;17597:7;17620:20;17638:1;17620:20;:::i;:::-;17615:25;;17654:20;17672:1;17654:20;:::i;:::-;17649:25;;17709:1;17706;17702:9;17731:30;17749:11;17731:30;:::i;:::-;17720:41;;17910:1;17901:7;17897:15;17894:1;17891:22;17871:1;17864:9;17844:83;17821:139;;17940:18;;:::i;:::-;17821:139;17605:362;17557:410;;;;:::o;17973:180::-;18021:77;18018:1;18011:88;18118:4;18115:1;18108:15;18142:4;18139:1;18132:15;18159:185;18199:1;18216:20;18234:1;18216:20;:::i;:::-;18211:25;;18250:20;18268:1;18250:20;:::i;:::-;18245:25;;18289:1;18279:35;;18294:18;;:::i;:::-;18279:35;18336:1;18333;18329:9;18324:14;;18159:185;;;;:::o;18350:223::-;18490:34;18486:1;18478:6;18474:14;18467:58;18559:6;18554:2;18546:6;18542:15;18535:31;18350:223;:::o;18579:366::-;18721:3;18742:67;18806:2;18801:3;18742:67;:::i;:::-;18735:74;;18818:93;18907:3;18818:93;:::i;:::-;18936:2;18931:3;18927:12;18920:19;;18579:366;;;:::o;18951:419::-;19117:4;19155:2;19144:9;19140:18;19132:26;;19204:9;19198:4;19194:20;19190:1;19179:9;19175:17;19168:47;19232:131;19358:4;19232:131;:::i;:::-;19224:139;;18951:419;;;:::o;19376:172::-;19516:24;19512:1;19504:6;19500:14;19493:48;19376:172;:::o;19554:366::-;19696:3;19717:67;19781:2;19776:3;19717:67;:::i;:::-;19710:74;;19793:93;19882:3;19793:93;:::i;:::-;19911:2;19906:3;19902:12;19895:19;;19554:366;;;:::o;19926:419::-;20092:4;20130:2;20119:9;20115:18;20107:26;;20179:9;20173:4;20169:20;20165:1;20154:9;20150:17;20143:47;20207:131;20333:4;20207:131;:::i;:::-;20199:139;;19926:419;;;:::o;20351:244::-;20491:34;20487:1;20479:6;20475:14;20468:58;20560:27;20555:2;20547:6;20543:15;20536:52;20351:244;:::o;20601:366::-;20743:3;20764:67;20828:2;20823:3;20764:67;:::i;:::-;20757:74;;20840:93;20929:3;20840:93;:::i;:::-;20958:2;20953:3;20949:12;20942:19;;20601:366;;;:::o;20973:419::-;21139:4;21177:2;21166:9;21162:18;21154:26;;21226:9;21220:4;21216:20;21212:1;21201:9;21197:17;21190:47;21254:131;21380:4;21254:131;:::i;:::-;21246:139;;20973:419;;;:::o;21398:224::-;21538:34;21534:1;21526:6;21522:14;21515:58;21607:7;21602:2;21594:6;21590:15;21583:32;21398:224;:::o;21628:366::-;21770:3;21791:67;21855:2;21850:3;21791:67;:::i;:::-;21784:74;;21867:93;21956:3;21867:93;:::i;:::-;21985:2;21980:3;21976:12;21969:19;;21628:366;;;:::o;22000:419::-;22166:4;22204:2;22193:9;22189:18;22181:26;;22253:9;22247:4;22243:20;22239:1;22228:9;22224:17;22217:47;22281:131;22407:4;22281:131;:::i;:::-;22273:139;;22000:419;;;:::o;22425:102::-;22467:8;22514:5;22511:1;22507:13;22486:34;;22425:102;;;:::o;22533:848::-;22594:5;22601:4;22625:6;22616:15;;22649:5;22640:14;;22663:712;22684:1;22674:8;22671:15;22663:712;;;22779:4;22774:3;22770:14;22764:4;22761:24;22758:50;;;22788:18;;:::i;:::-;22758:50;22838:1;22828:8;22824:16;22821:451;;;23253:4;23246:5;23242:16;23233:25;;22821:451;23303:4;23297;23293:15;23285:23;;23333:32;23356:8;23333:32;:::i;:::-;23321:44;;22663:712;;;22533:848;;;;;;;:::o;23387:1073::-;23441:5;23632:8;23622:40;;23653:1;23644:10;;23655:5;;23622:40;23681:4;23671:36;;23698:1;23689:10;;23700:5;;23671:36;23767:4;23815:1;23810:27;;;;23851:1;23846:191;;;;23760:277;;23810:27;23828:1;23819:10;;23830:5;;;23846:191;23891:3;23881:8;23878:17;23875:43;;;23898:18;;:::i;:::-;23875:43;23947:8;23944:1;23940:16;23931:25;;23982:3;23975:5;23972:14;23969:40;;;23989:18;;:::i;:::-;23969:40;24022:5;;;23760:277;;24146:2;24136:8;24133:16;24127:3;24121:4;24118:13;24114:36;24096:2;24086:8;24083:16;24078:2;24072:4;24069:12;24065:35;24049:111;24046:246;;;24202:8;24196:4;24192:19;24183:28;;24237:3;24230:5;24227:14;24224:40;;;24244:18;;:::i;:::-;24224:40;24277:5;;24046:246;24317:42;24355:3;24345:8;24339:4;24336:1;24317:42;:::i;:::-;24302:57;;;;24391:4;24386:3;24382:14;24375:5;24372:25;24369:51;;;24400:18;;:::i;:::-;24369:51;24449:4;24442:5;24438:16;24429:25;;23387:1073;;;;;;:::o;24466:281::-;24524:5;24548:23;24566:4;24548:23;:::i;:::-;24540:31;;24592:25;24608:8;24592:25;:::i;:::-;24580:37;;24636:104;24673:66;24663:8;24657:4;24636:104;:::i;:::-;24627:113;;24466:281;;;;:::o;24753:225::-;24893:34;24889:1;24881:6;24877:14;24870:58;24962:8;24957:2;24949:6;24945:15;24938:33;24753:225;:::o;24984:366::-;25126:3;25147:67;25211:2;25206:3;25147:67;:::i;:::-;25140:74;;25223:93;25312:3;25223:93;:::i;:::-;25341:2;25336:3;25332:12;25325:19;;24984:366;;;:::o;25356:419::-;25522:4;25560:2;25549:9;25545:18;25537:26;;25609:9;25603:4;25599:20;25595:1;25584:9;25580:17;25573:47;25637:131;25763:4;25637:131;:::i;:::-;25629:139;;25356:419;;;:::o;25781:223::-;25921:34;25917:1;25909:6;25905:14;25898:58;25990:6;25985:2;25977:6;25973:15;25966:31;25781:223;:::o;26010:366::-;26152:3;26173:67;26237:2;26232:3;26173:67;:::i;:::-;26166:74;;26249:93;26338:3;26249:93;:::i;:::-;26367:2;26362:3;26358:12;26351:19;;26010:366;;;:::o;26382:419::-;26548:4;26586:2;26575:9;26571:18;26563:26;;26635:9;26629:4;26625:20;26621:1;26610:9;26606:17;26599:47;26663:131;26789:4;26663:131;:::i;:::-;26655:139;;26382:419;;;:::o;26807:221::-;26947:34;26943:1;26935:6;26931:14;26924:58;27016:4;27011:2;27003:6;26999:15;26992:29;26807:221;:::o;27034:366::-;27176:3;27197:67;27261:2;27256:3;27197:67;:::i;:::-;27190:74;;27273:93;27362:3;27273:93;:::i;:::-;27391:2;27386:3;27382:12;27375:19;;27034:366;;;:::o;27406:419::-;27572:4;27610:2;27599:9;27595:18;27587:26;;27659:9;27653:4;27649:20;27645:1;27634:9;27630:17;27623:47;27687:131;27813:4;27687:131;:::i;:::-;27679:139;;27406:419;;;:::o;27831:182::-;27971:34;27967:1;27959:6;27955:14;27948:58;27831:182;:::o;28019:366::-;28161:3;28182:67;28246:2;28241:3;28182:67;:::i;:::-;28175:74;;28258:93;28347:3;28258:93;:::i;:::-;28376:2;28371:3;28367:12;28360:19;;28019:366;;;:::o;28391:419::-;28557:4;28595:2;28584:9;28580:18;28572:26;;28644:9;28638:4;28634:20;28630:1;28619:9;28615:17;28608:47;28672:131;28798:4;28672:131;:::i;:::-;28664:139;;28391:419;;;:::o;28816:179::-;28956:31;28952:1;28944:6;28940:14;28933:55;28816:179;:::o;29001:366::-;29143:3;29164:67;29228:2;29223:3;29164:67;:::i;:::-;29157:74;;29240:93;29329:3;29240:93;:::i;:::-;29358:2;29353:3;29349:12;29342:19;;29001:366;;;:::o;29373:419::-;29539:4;29577:2;29566:9;29562:18;29554:26;;29626:9;29620:4;29616:20;29612:1;29601:9;29597:17;29590:47;29654:131;29780:4;29654:131;:::i;:::-;29646:139;;29373:419;;;:::o;29798:224::-;29938:34;29934:1;29926:6;29922:14;29915:58;30007:7;30002:2;29994:6;29990:15;29983:32;29798:224;:::o;30028:366::-;30170:3;30191:67;30255:2;30250:3;30191:67;:::i;:::-;30184:74;;30267:93;30356:3;30267:93;:::i;:::-;30385:2;30380:3;30376:12;30369:19;;30028:366;;;:::o;30400:419::-;30566:4;30604:2;30593:9;30589:18;30581:26;;30653:9;30647:4;30643:20;30639:1;30628:9;30624:17;30617:47;30681:131;30807:4;30681:131;:::i;:::-;30673:139;;30400:419;;;:::o;30825:222::-;30965:34;30961:1;30953:6;30949:14;30942:58;31034:5;31029:2;31021:6;31017:15;31010:30;30825:222;:::o;31053:366::-;31195:3;31216:67;31280:2;31275:3;31216:67;:::i;:::-;31209:74;;31292:93;31381:3;31292:93;:::i;:::-;31410:2;31405:3;31401:12;31394:19;;31053:366;;;:::o;31425:419::-;31591:4;31629:2;31618:9;31614:18;31606:26;;31678:9;31672:4;31668:20;31664:1;31653:9;31649:17;31642:47;31706:131;31832:4;31706:131;:::i;:::-;31698:139;;31425:419;;;:::o;31850:172::-;31990:24;31986:1;31978:6;31974:14;31967:48;31850:172;:::o;32028:366::-;32170:3;32191:67;32255:2;32250:3;32191:67;:::i;:::-;32184:74;;32267:93;32356:3;32267:93;:::i;:::-;32385:2;32380:3;32376:12;32369:19;;32028:366;;;:::o;32400:419::-;32566:4;32604:2;32593:9;32589:18;32581:26;;32653:9;32647:4;32643:20;32639:1;32628:9;32624:17;32617:47;32681:131;32807:4;32681:131;:::i;:::-;32673:139;;32400:419;;;:::o;32825:240::-;32965:34;32961:1;32953:6;32949:14;32942:58;33034:23;33029:2;33021:6;33017:15;33010:48;32825:240;:::o;33071:366::-;33213:3;33234:67;33298:2;33293:3;33234:67;:::i;:::-;33227:74;;33310:93;33399:3;33310:93;:::i;:::-;33428:2;33423:3;33419:12;33412:19;;33071:366;;;:::o;33443:419::-;33609:4;33647:2;33636:9;33632:18;33624:26;;33696:9;33690:4;33686:20;33682:1;33671:9;33667:17;33660:47;33724:131;33850:4;33724:131;:::i;:::-;33716:139;;33443:419;;;:::o;33868:169::-;34008:21;34004:1;33996:6;33992:14;33985:45;33868:169;:::o;34043:366::-;34185:3;34206:67;34270:2;34265:3;34206:67;:::i;:::-;34199:74;;34282:93;34371:3;34282:93;:::i;:::-;34400:2;34395:3;34391:12;34384:19;;34043:366;;;:::o;34415:419::-;34581:4;34619:2;34608:9;34604:18;34596:26;;34668:9;34662:4;34658:20;34654:1;34643:9;34639:17;34632:47;34696:131;34822:4;34696:131;:::i;:::-;34688:139;;34415:419;;;:::o;34840:241::-;34980:34;34976:1;34968:6;34964:14;34957:58;35049:24;35044:2;35036:6;35032:15;35025:49;34840:241;:::o;35087:366::-;35229:3;35250:67;35314:2;35309:3;35250:67;:::i;:::-;35243:74;;35326:93;35415:3;35326:93;:::i;:::-;35444:2;35439:3;35435:12;35428:19;;35087:366;;;:::o;35459:419::-;35625:4;35663:2;35652:9;35648:18;35640:26;;35712:9;35706:4;35702:20;35698:1;35687:9;35683:17;35676:47;35740:131;35866:4;35740:131;:::i;:::-;35732:139;;35459:419;;;:::o;35884:194::-;35924:4;35944:20;35962:1;35944:20;:::i;:::-;35939:25;;35978:20;35996:1;35978:20;:::i;:::-;35973:25;;36022:1;36019;36015:9;36007:17;;36046:1;36040:4;36037:11;36034:37;;;36051:18;;:::i;:::-;36034:37;35884:194;;;;:::o;36084:143::-;36141:5;36172:6;36166:13;36157:22;;36188:33;36215:5;36188:33;:::i;:::-;36084:143;;;;:::o;36233:351::-;36303:6;36352:2;36340:9;36331:7;36327:23;36323:32;36320:119;;;36358:79;;:::i;:::-;36320:119;36478:1;36503:64;36559:7;36550:6;36539:9;36535:22;36503:64;:::i;:::-;36493:74;;36449:128;36233:351;;;;:::o;36590:85::-;36635:7;36664:5;36653:16;;36590:85;;;:::o;36681:158::-;36739:9;36772:61;36790:42;36799:32;36825:5;36799:32;:::i;:::-;36790:42;:::i;:::-;36772:61;:::i;:::-;36759:74;;36681:158;;;:::o;36845:147::-;36940:45;36979:5;36940:45;:::i;:::-;36935:3;36928:58;36845:147;;:::o;36998:114::-;37065:6;37099:5;37093:12;37083:22;;36998:114;;;:::o;37118:184::-;37217:11;37251:6;37246:3;37239:19;37291:4;37286:3;37282:14;37267:29;;37118:184;;;;:::o;37308:132::-;37375:4;37398:3;37390:11;;37428:4;37423:3;37419:14;37411:22;;37308:132;;;:::o;37446:108::-;37523:24;37541:5;37523:24;:::i;:::-;37518:3;37511:37;37446:108;;:::o;37560:179::-;37629:10;37650:46;37692:3;37684:6;37650:46;:::i;:::-;37728:4;37723:3;37719:14;37705:28;;37560:179;;;;:::o;37745:113::-;37815:4;37847;37842:3;37838:14;37830:22;;37745:113;;;:::o;37894:732::-;38013:3;38042:54;38090:5;38042:54;:::i;:::-;38112:86;38191:6;38186:3;38112:86;:::i;:::-;38105:93;;38222:56;38272:5;38222:56;:::i;:::-;38301:7;38332:1;38317:284;38342:6;38339:1;38336:13;38317:284;;;38418:6;38412:13;38445:63;38504:3;38489:13;38445:63;:::i;:::-;38438:70;;38531:60;38584:6;38531:60;:::i;:::-;38521:70;;38377:224;38364:1;38361;38357:9;38352:14;;38317:284;;;38321:14;38617:3;38610:10;;38018:608;;;37894:732;;;;:::o;38632:831::-;38895:4;38933:3;38922:9;38918:19;38910:27;;38947:71;39015:1;39004:9;39000:17;38991:6;38947:71;:::i;:::-;39028:80;39104:2;39093:9;39089:18;39080:6;39028:80;:::i;:::-;39155:9;39149:4;39145:20;39140:2;39129:9;39125:18;39118:48;39183:108;39286:4;39277:6;39183:108;:::i;:::-;39175:116;;39301:72;39369:2;39358:9;39354:18;39345:6;39301:72;:::i;:::-;39383:73;39451:3;39440:9;39436:19;39427:6;39383:73;:::i;:::-;38632:831;;;;;;;;:::o;39469:225::-;39609:34;39605:1;39597:6;39593:14;39586:58;39678:8;39673:2;39665:6;39661:15;39654:33;39469:225;:::o;39700:366::-;39842:3;39863:67;39927:2;39922:3;39863:67;:::i;:::-;39856:74;;39939:93;40028:3;39939:93;:::i;:::-;40057:2;40052:3;40048:12;40041:19;;39700:366;;;:::o;40072:419::-;40238:4;40276:2;40265:9;40261:18;40253:26;;40325:9;40319:4;40315:20;40311:1;40300:9;40296:17;40289:47;40353:131;40479:4;40353:131;:::i;:::-;40345:139;;40072:419;;;:::o;40497:223::-;40637:34;40633:1;40625:6;40621:14;40614:58;40706:6;40701:2;40693:6;40689:15;40682:31;40497:223;:::o;40726:366::-;40868:3;40889:67;40953:2;40948:3;40889:67;:::i;:::-;40882:74;;40965:93;41054:3;40965:93;:::i;:::-;41083:2;41078:3;41074:12;41067:19;;40726:366;;;:::o;41098:419::-;41264:4;41302:2;41291:9;41287:18;41279:26;;41351:9;41345:4;41341:20;41337:1;41326:9;41322:17;41315:47;41379:131;41505:4;41379:131;:::i;:::-;41371:139;;41098:419;;;:::o
Swarm Source
ipfs://22db673128583a78f89a1dc293ba742a450bd2fcd2fec3061e5c7c9a29115956
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.