Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000 FORT
Holders
78
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Fortnite
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity Standard Json-Input format)
/* https://t.me/fortethtelegram */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; /** * OpenZeppelin Contracts v4.4.1 (utils/Context.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; } } /** * OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) */ 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); } /** * OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } /** * OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol) */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address to, uint256 amount ) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } /** * OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } interface IDexFactory { function createPair( address tokenA, address tokenB ) external returns (address pair); } contract Fortnite is ERC20, Ownable { uint256 public maxBuyAmount; uint256 public maxSellAmount; uint256 public maxWalletAmount; IDexRouter public dexRouter; address public lpPair; bool private swapping; uint256 public swapTokensAtAmount; address taxAddress; uint256 public tradingActiveBlock = 0; uint256 public blockForPenaltyEnd; mapping(address => bool) public boughtEarly; uint256 public botsCaught; bool public limitsInEffect = true; bool public tradingActive = false; bool public swapEnabled = false; bool public swapToEth = true; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; uint256 public buyTotalFees; uint256 public buyTaxFee; uint256 public sellTotalFees; uint256 public sellTaxFee; uint256 public tokensForTax; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedMaxTransactionAmount; mapping(address => bool) public automatedMarketMakerPairs; event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event EnabledTrading(); event RemovedLimits(); event ExcludeFromFees(address indexed account, bool isExcluded); event UpdatedMaxBuyAmount(uint256 newAmount); event UpdatedMaxSellAmount(uint256 newAmount); event UpdatedMaxWalletAmount(uint256 newAmount); event MaxTransactionExclusion(address _address, bool excluded); event OwnerForcedSwapBack(uint256 timestamp); event CaughtEarlyBuyer(address sniper); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); constructor() ERC20("Fortnite OG", "FORT") { address contractOwner = msg.sender; IDexRouter _dexRouter = IDexRouter( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); dexRouter = _dexRouter; lpPair = IDexFactory(_dexRouter.factory()).createPair( address(this), _dexRouter.WETH() ); _excludeFromMaxTransaction(address(lpPair), true); _setAutomatedMarketMakerPair(address(lpPair), true); uint256 totalSupply = 100_000_000_000 * 1e18; //100_000_000_000 maxBuyAmount = (totalSupply * 10) / 1000; maxSellAmount = (totalSupply * 10) / 1000; maxWalletAmount = (totalSupply * 10) / 1000; swapTokensAtAmount = (totalSupply * 1) / 1000; // Initial buy and sell fees to punish bots buyTaxFee = 7; buyTotalFees = buyTaxFee; sellTaxFee = 10; sellTotalFees = sellTaxFee; taxAddress = msg.sender; _excludeFromMaxTransaction(contractOwner, true); _excludeFromMaxTransaction(address(this), true); _excludeFromMaxTransaction(address(0xdead), true); _excludeFromMaxTransaction(taxAddress, true); excludeFromFees(contractOwner, true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromFees(taxAddress, true); _mint(contractOwner, totalSupply); transferOwnership(contractOwner); } receive() external payable {} function enableTrading(uint256 deadBlocks) external onlyOwner { require(!tradingActive, "Cannot reenable trading"); tradingActive = true; swapEnabled = true; tradingActiveBlock = block.number; blockForPenaltyEnd = tradingActiveBlock + deadBlocks; emit EnabledTrading(); } function removeLimits() external onlyOwner { limitsInEffect = false; transferDelayEnabled = false; emit RemovedLimits(); } function manageBoughtEarly(address wallet, bool flag) external onlyOwner { boughtEarly[wallet] = flag; } function massManageBoughtEarly( address[] calldata wallets, bool flag ) external onlyOwner { for (uint256 i = 0; i < wallets.length; i++) { boughtEarly[wallets[i]] = flag; } } function disableTransferDelay() external onlyOwner { transferDelayEnabled = false; } function updateMaxBuyAmount(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 2) / 1000) / 1e18, "Cannot set max buy amount lower than 0.2%" ); maxBuyAmount = newNum * (10 ** 18); emit UpdatedMaxBuyAmount(maxBuyAmount); } function updateMaxSellAmount(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 2) / 1000) / 1e18, "Cannot set max sell amount lower than 0.2%" ); maxSellAmount = newNum * (10 ** 18); emit UpdatedMaxSellAmount(maxSellAmount); } function updateMaxWalletAmount(uint256 newNum) external onlyOwner { require( newNum >= ((totalSupply() * 3) / 1000) / 1e18, "Cannot set max wallet amount lower than 0.3%" ); maxWalletAmount = newNum * (10 ** 18); emit UpdatedMaxWalletAmount(maxWalletAmount); } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner { require( newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply." ); require( newAmount <= (totalSupply() * 1) / 1000, "Swap amount cannot be higher than 0.1% total supply." ); swapTokensAtAmount = newAmount; } function _excludeFromMaxTransaction( address updAds, bool isExcluded ) private { _isExcludedMaxTransactionAmount[updAds] = isExcluded; emit MaxTransactionExclusion(updAds, isExcluded); } function excludeFromMaxTransaction( address updAds, bool isEx ) external onlyOwner { if (!isEx) { require( updAds != lpPair, "Cannot remove Uniswap pair from max txn" ); } _isExcludedMaxTransactionAmount[updAds] = isEx; } function setAutomatedMarketMakerPair( address pair, bool value ) external onlyOwner { require( pair != lpPair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); emit SetAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; _excludeFromMaxTransaction(pair, value); emit SetAutomatedMarketMakerPair(pair, value); } function setSwapToEth(bool _swapToEth) public onlyOwner { swapToEth = _swapToEth; } function updateBuyFees(uint256 _taxFee) external onlyOwner { buyTaxFee = _taxFee; buyTotalFees = buyTaxFee; require(buyTotalFees <= 10, "Must keep fees at 10% or less."); } function updateSellFees(uint256 _taxFee) external onlyOwner { sellTaxFee = _taxFee; sellTotalFees = sellTaxFee; require(sellTotalFees <= 10, "Must keep fees at 10% or less."); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } 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"); require(amount > 0, "amount must be greater than 0"); if (!tradingActive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); } if (blockForPenaltyEnd > 0) { require( !boughtEarly[from] || to == owner() || to == address(0xdead), "Bots cannot transfer tokens in or out except to owner or dead address." ); } if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { if (transferDelayEnabled) { if (to != address(dexRouter) && to != address(lpPair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number - 2 && _holderLastTransferTimestamp[to] < block.number - 2, "_transfer:: Transfer Delay enabled. Try again later." ); _holderLastTransferTimestamp[tx.origin] = block.number; _holderLastTransferTimestamp[to] = block.number; } } if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxBuyAmount, "Buy transfer amount exceeds the max buy." ); require( amount + balanceOf(to) <= maxWalletAmount, "Cannot exceed max wallet." ); } else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxSellAmount, "Sell transfer amount exceeds the max sell." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWalletAmount, "Cannot exceed max wallet." ); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } bool takeFee = true; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if ( earlyBuyPenaltyInEffect() && automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to] && buyTotalFees > 0 ) { if (!boughtEarly[to]) { boughtEarly[to] = true; botsCaught += 1; emit CaughtEarlyBuyer(to); } fees = (amount * 99) / 100; tokensForTax += (fees * buyTaxFee) / buyTotalFees; } else if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = (amount * sellTotalFees) / 100; tokensForTax += (fees * sellTaxFee) / sellTotalFees; } else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = (amount * buyTotalFees) / 100; tokensForTax += (fees * buyTaxFee) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function earlyBuyPenaltyInEffect() public view returns (bool) { return block.number < blockForPenaltyEnd; } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForTax; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (contractBalance > swapTokensAtAmount * 20) { contractBalance = swapTokensAtAmount * 20; } bool success; if (swapToEth) { swapTokensForEth(contractBalance); tokensForTax = 0; (success, ) = address(taxAddress).call{ value: address(this).balance }(""); } if (!swapToEth) { _transfer(address(this), taxAddress, contractBalance); tokensForTax = 0; success = true; } } // Withdraw ETH from contract address function withdrawStuckETH() external onlyOwner { bool success; (success, ) = address(msg.sender).call{value: address(this).balance}( "" ); } function updateTaxAddress(address _taxAddress) external onlyOwner { require(_taxAddress != address(0), "_taxAddress address cannot be 0"); taxAddress = payable(_taxAddress); } function forceSwapBack() external onlyOwner { require( balanceOf(address(this)) >= swapTokensAtAmount, "Can only swap when token amount is at or higher than restriction" ); swapping = true; swapBack(); swapping = false; emit OwnerForcedSwapBack(block.timestamp); } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sniper","type":"address"}],"name":"CaughtEarlyBuyer","type":"event"},{"anonymous":false,"inputs":[],"name":"EnabledTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OwnerForcedSwapBack","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":[],"name":"RemovedLimits","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxBuyAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxSellAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxWalletAmount","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockForPenaltyEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"botsCaught","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"boughtEarly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"earlyBuyPenaltyInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"deadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwapBack","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":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"manageBoughtEarly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"massManageBoughtEarly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapToEth","type":"bool"}],"name":"setSwapToEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapToEth","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":"tokensForTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uint256","name":"_taxFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_taxAddress","type":"address"}],"name":"updateTaxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600d55600160115f6101000a81548160ff0219169083151502179055505f601160016101000a81548160ff0219169083151502179055505f601160026101000a81548160ff0219169083151502179055506001601160036101000a81548160ff021916908315150217905550600160135f6101000a81548160ff02191690831515021790555034801562000097575f80fd5b506040518060400160405280600b81526020017f466f72746e697465204f470000000000000000000000000000000000000000008152506040518060400160405280600481526020017f464f525400000000000000000000000000000000000000000000000000000000815250816003908162000115919062000d9e565b50806004908162000127919062000d9e565b5050506200014a6200013e620005b860201b60201c565b620005bf60201b60201c565b5f3390505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000216919062000ee7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a2919062000ee7565b6040518363ffffffff1660e01b8152600401620002c192919062000f28565b6020604051808303815f875af1158015620002de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000304919062000ee7565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000377600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200068260201b60201c565b620003ab600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200071560201b60201c565b5f6c01431e0fae6d7217caa000000090506103e8600a82620003ce919062000f80565b620003da919062000ff7565b6006819055506103e8600a82620003f2919062000f80565b620003fe919062000ff7565b6007819055506103e8600a8262000416919062000f80565b62000422919062000ff7565b6008819055506103e86001826200043a919062000f80565b62000446919062000ff7565b600b819055506007601581905550601554601481905550600a60178190555060175460168190555033600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004c18360016200068260201b60201c565b620004d43060016200068260201b60201c565b620004e961dead60016200068260201b60201c565b6200051d600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200068260201b60201c565b62000530836001620007c560201b60201c565b62000543306001620007c560201b60201c565b6200055861dead6001620007c560201b60201c565b6200058c600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007c560201b60201c565b6200059e83826200087d60201b60201c565b620005af83620009e260201b60201c565b50505062001276565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051620007099291906200104a565b60405180910390a15050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200077b82826200068260201b60201c565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b620007d562000a7760201b60201c565b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000871919062001075565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008e590620010ee565b60405180910390fd5b620009015f838362000b0860201b60201c565b8060025f8282546200091491906200110e565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009c3919062001159565b60405180910390a3620009de5f838362000b0d60201b60201c565b5050565b620009f262000a7760201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000a63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a5a90620011e8565b60405180910390fd5b62000a7481620005bf60201b60201c565b50565b62000a87620005b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000aad62000b1260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000b06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000afd9062001256565b60405180910390fd5b565b505050565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000bb657607f821691505b60208210810362000bcc5762000bcb62000b71565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000bf3565b62000c3c868362000bf3565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000c8662000c8062000c7a8462000c54565b62000c5d565b62000c54565b9050919050565b5f819050919050565b62000ca18362000c66565b62000cb962000cb08262000c8d565b84845462000bff565b825550505050565b5f90565b62000ccf62000cc1565b62000cdc81848462000c96565b505050565b5b8181101562000d035762000cf75f8262000cc5565b60018101905062000ce2565b5050565b601f82111562000d525762000d1c8162000bd2565b62000d278462000be4565b8101602085101562000d37578190505b62000d4f62000d468562000be4565b83018262000ce1565b50505b505050565b5f82821c905092915050565b5f62000d745f198460080262000d57565b1980831691505092915050565b5f62000d8e838362000d63565b9150826002028217905092915050565b62000da98262000b3a565b67ffffffffffffffff81111562000dc55762000dc462000b44565b5b62000dd1825462000b9e565b62000dde82828562000d07565b5f60209050601f83116001811462000e14575f841562000dff578287015190505b62000e0b858262000d81565b86555062000e7a565b601f19841662000e248662000bd2565b5f5b8281101562000e4d5784890151825560018201915060208501945060208101905062000e26565b8683101562000e6d578489015162000e69601f89168262000d63565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000eb18262000e86565b9050919050565b62000ec38162000ea5565b811462000ece575f80fd5b50565b5f8151905062000ee18162000eb8565b92915050565b5f6020828403121562000eff5762000efe62000e82565b5b5f62000f0e8482850162000ed1565b91505092915050565b62000f228162000ea5565b82525050565b5f60408201905062000f3d5f83018562000f17565b62000f4c602083018462000f17565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000f8c8262000c54565b915062000f998362000c54565b925082820262000fa98162000c54565b9150828204841483151762000fc35762000fc262000f53565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620010038262000c54565b9150620010108362000c54565b92508262001023576200102262000fca565b5b828204905092915050565b5f8115159050919050565b62001044816200102e565b82525050565b5f6040820190506200105f5f83018562000f17565b6200106e602083018462001039565b9392505050565b5f6020820190506200108a5f83018462001039565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f620010d6601f8362001090565b9150620010e382620010a0565b602082019050919050565b5f6020820190508181035f8301526200110781620010c8565b9050919050565b5f6200111a8262000c54565b9150620011278362000c54565b925082820190508082111562001142576200114162000f53565b5b92915050565b620011538162000c54565b82525050565b5f6020820190506200116e5f83018462001148565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f620011d060268362001090565b9150620011dd8262001174565b604082019050919050565b5f6020820190508181035f8301526200120181620011c2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6200123e60208362001090565b91506200124b8262001208565b602082019050919050565b5f6020820190508181035f8301526200126f8162001230565b9050919050565b614e6680620012845f395ff3fe608060405260043610610353575f3560e01c806385ecfd28116101c5578063c876d0b9116100f6578063e800dff711610094578063ee40166e1161006e578063ee40166e14610c04578063f2fde38b14610c2e578063f5648a4f14610c56578063f8a25a9414610c6c5761035a565b8063e800dff714610b9e578063e884f26014610bc6578063eba4c33314610bdc5761035a565b8063dc3f0d0f116100d0578063dc3f0d0f14610ae6578063dd62ed3e14610b0e578063e2f4560514610b4a578063e620a25c14610b745761035a565b8063c876d0b914610a6a578063d257b34f14610a94578063d85ba06314610abc5761035a565b8063a62068ce11610163578063b62496f51161013d578063b62496f5146109b4578063bbc0c742146109f0578063c024666814610a1a578063c18bc19514610a425761035a565b8063a62068ce14610924578063a9059cbb1461094e578063aa4bde281461098a5761035a565b8063941fa5cd1161019f578063941fa5cd1461086c57806395d89b41146108965780639a7a23d6146108c0578063a457c2d7146108e85761035a565b806385ecfd28146107dc57806388e765ff146108185780638da5cb5b146108425761035a565b806351f205e41161029f5780636ddd17131161023d57806371fc46881161021757806371fc46881461074e578063751039fc146107765780637571336a1461078c57806382aa7c68146107b45761035a565b80636ddd1713146106d257806370a08231146106fc578063715018a6146107385761035a565b806366d602ae1161027957806366d602ae1461062a5780636a486a8e146106545780636b0a894c1461067e5780636d7adcad146106a85761035a565b806351f205e4146105c257806358a6d531146105d85780635adf655a146106025761035a565b806323b872dd1161030c578063313ce567116102e6578063313ce567146105085780633950935114610532578063452ed4f11461056e5780634a62bb65146105985761035a565b806323b872dd1461047c578063281f2a0a146104b85780632be32b61146104e05761035a565b806306fdde031461035e5780630758d92414610388578063095ea7b3146103b257806310d5de53146103ee578063130a2c3c1461042a57806318160ddd146104525761035a565b3661035a57005b5f80fd5b348015610369575f80fd5b50610372610c96565b60405161037f91906137cf565b60405180910390f35b348015610393575f80fd5b5061039c610d26565b6040516103a99190613869565b60405180910390f35b3480156103bd575f80fd5b506103d860048036038101906103d391906138f8565b610d4b565b6040516103e59190613950565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f9190613969565b610d6d565b6040516104219190613950565b60405180910390f35b348015610435575f80fd5b50610450600480360381019061044b9190613a1f565b610d8a565b005b34801561045d575f80fd5b50610466610e33565b6040516104739190613a8b565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d9190613aa4565b610e3c565b6040516104af9190613950565b60405180910390f35b3480156104c3575f80fd5b506104de60048036038101906104d99190613af4565b610e6a565b005b3480156104eb575f80fd5b5061050660048036038101906105019190613b1f565b610e8f565b005b348015610513575f80fd5b5061051c610f63565b6040516105299190613b65565b60405180910390f35b34801561053d575f80fd5b50610558600480360381019061055391906138f8565b610f6b565b6040516105659190613950565b60405180910390f35b348015610579575f80fd5b50610582610fa1565b60405161058f9190613b8d565b60405180910390f35b3480156105a3575f80fd5b506105ac610fc6565b6040516105b99190613950565b60405180910390f35b3480156105cd575f80fd5b506105d6610fd8565b005b3480156105e3575f80fd5b506105ec6110a3565b6040516105f99190613950565b60405180910390f35b34801561060d575f80fd5b5061062860048036038101906106239190613969565b6110ae565b005b348015610635575f80fd5b5061063e611167565b60405161064b9190613a8b565b60405180910390f35b34801561065f575f80fd5b5061066861116d565b6040516106759190613a8b565b60405180910390f35b348015610689575f80fd5b50610692611173565b60405161069f9190613a8b565b60405180910390f35b3480156106b3575f80fd5b506106bc611179565b6040516106c99190613a8b565b60405180910390f35b3480156106dd575f80fd5b506106e661117f565b6040516106f39190613950565b60405180910390f35b348015610707575f80fd5b50610722600480360381019061071d9190613969565b611192565b60405161072f9190613a8b565b60405180910390f35b348015610743575f80fd5b5061074c6111d7565b005b348015610759575f80fd5b50610774600480360381019061076f9190613b1f565b6111ea565b005b348015610781575f80fd5b5061078a61124b565b005b348015610797575f80fd5b506107b260048036038101906107ad9190613ba6565b6112b3565b005b3480156107bf575f80fd5b506107da60048036038101906107d59190613b1f565b6113a8565b005b3480156107e7575f80fd5b5061080260048036038101906107fd9190613969565b611480565b60405161080f9190613950565b60405180910390f35b348015610823575f80fd5b5061082c61149d565b6040516108399190613a8b565b60405180910390f35b34801561084d575f80fd5b506108566114a3565b6040516108639190613b8d565b60405180910390f35b348015610877575f80fd5b506108806114cb565b60405161088d9190613a8b565b60405180910390f35b3480156108a1575f80fd5b506108aa6114d1565b6040516108b791906137cf565b60405180910390f35b3480156108cb575f80fd5b506108e660048036038101906108e19190613ba6565b611561565b005b3480156108f3575f80fd5b5061090e600480360381019061090991906138f8565b61164c565b60405161091b9190613950565b60405180910390f35b34801561092f575f80fd5b506109386116c1565b6040516109459190613a8b565b60405180910390f35b348015610959575f80fd5b50610974600480360381019061096f91906138f8565b6116c7565b6040516109819190613950565b60405180910390f35b348015610995575f80fd5b5061099e6116e9565b6040516109ab9190613a8b565b60405180910390f35b3480156109bf575f80fd5b506109da60048036038101906109d59190613969565b6116ef565b6040516109e79190613950565b60405180910390f35b3480156109fb575f80fd5b50610a0461170c565b604051610a119190613950565b60405180910390f35b348015610a25575f80fd5b50610a406004803603810190610a3b9190613ba6565b61171f565b005b348015610a4d575f80fd5b50610a686004803603810190610a639190613b1f565b6117cd565b005b348015610a75575f80fd5b50610a7e6118a1565b604051610a8b9190613950565b60405180910390f35b348015610a9f575f80fd5b50610aba6004803603810190610ab59190613b1f565b6118b3565b005b348015610ac7575f80fd5b50610ad061198c565b604051610add9190613a8b565b60405180910390f35b348015610af1575f80fd5b50610b0c6004803603810190610b079190613b1f565b611992565b005b348015610b19575f80fd5b50610b346004803603810190610b2f9190613be4565b611a66565b604051610b419190613a8b565b60405180910390f35b348015610b55575f80fd5b50610b5e611ae8565b604051610b6b9190613a8b565b60405180910390f35b348015610b7f575f80fd5b50610b88611aee565b604051610b959190613950565b60405180910390f35b348015610ba9575f80fd5b50610bc46004803603810190610bbf9190613ba6565b611b01565b005b348015610bd1575f80fd5b50610bda611b61565b005b348015610be7575f80fd5b50610c026004803603810190610bfd9190613b1f565b611b84565b005b348015610c0f575f80fd5b50610c18611be5565b604051610c259190613a8b565b60405180910390f35b348015610c39575f80fd5b50610c546004803603810190610c4f9190613969565b611beb565b005b348015610c61575f80fd5b50610c6a611c6d565b005b348015610c77575f80fd5b50610c80611ce2565b604051610c8d9190613a8b565b60405180910390f35b606060038054610ca590613c4f565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd190613c4f565b8015610d1c5780601f10610cf357610100808354040283529160200191610d1c565b820191905f5260205f20905b815481529060010190602001808311610cff57829003601f168201915b5050505050905090565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610d55611ce8565b9050610d62818585611cef565b600191505092915050565b601a602052805f5260405f205f915054906101000a900460ff1681565b610d92611eb2565b5f5b83839050811015610e2d5781600f5f868685818110610db657610db5613c7f565b5b9050602002016020810190610dcb9190613969565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610e2590613cd9565b915050610d94565b50505050565b5f600254905090565b5f80610e46611ce8565b9050610e53858285611f30565b610e5e858585611fbb565b60019150509392505050565b610e72611eb2565b80601160036101000a81548160ff02191690831515021790555050565b610e97611eb2565b670de0b6b3a76400006103e86002610ead610e33565b610eb79190613d20565b610ec19190613d8e565b610ecb9190613d8e565b811015610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0490613e2e565b60405180910390fd5b670de0b6b3a764000081610f219190613d20565b6006819055507ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009600654604051610f589190613a8b565b60405180910390a150565b5f6012905090565b5f80610f75611ce8565b9050610f96818585610f878589611a66565b610f919190613e4c565b611cef565b600191505092915050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115f9054906101000a900460ff1681565b610fe0611eb2565b600b54610fec30611192565b101561102d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102490613eef565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550611050612f47565b5f600a60146101000a81548160ff0219169083151502179055507f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb32426040516110999190613a8b565b60405180910390a1565b5f600e544310905090565b6110b6611eb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111b90613f57565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b60165481565b60105481565b60185481565b601160029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6111df611eb2565b6111e85f61309d565b565b6111f2611eb2565b80601581905550601554601481905550600a6014541115611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f90613fbf565b60405180910390fd5b50565b611253611eb2565b5f60115f6101000a81548160ff0219169083151502179055505f60135f6101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6112bb611eb2565b8061135057600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113469061404d565b60405180910390fd5b5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6113b0611eb2565b601160019054906101000a900460ff1615611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f7906140b5565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055506001601160026101000a81548160ff02191690831515021790555043600d8190555080600d5461144b9190613e4c565b600e819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a150565b600f602052805f5260405f205f915054906101000a900460ff1681565b60065481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60155481565b6060600480546114e090613c4f565b80601f016020809104026020016040519081016040528092919081815260200182805461150c90613c4f565b80156115575780601f1061152e57610100808354040283529160200191611557565b820191905f5260205f20905b81548152906001019060200180831161153a57829003601f168201915b5050505050905090565b611569611eb2565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90614143565b60405180910390fd5b6116028282613160565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f80611656611ce8565b90505f6116638286611a66565b9050838110156116a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169f906141d1565b60405180910390fd5b6116b58286868403611cef565b60019250505092915050565b600e5481565b5f806116d1611ce8565b90506116de818585611fbb565b600191505092915050565b60085481565b601b602052805f5260405f205f915054906101000a900460ff1681565b601160019054906101000a900460ff1681565b611727611eb2565b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516117c19190613950565b60405180910390a25050565b6117d5611eb2565b670de0b6b3a76400006103e860036117eb610e33565b6117f59190613d20565b6117ff9190613d8e565b6118099190613d8e565b81101561184b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118429061425f565b60405180910390fd5b670de0b6b3a76400008161185f9190613d20565b6008819055507fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc6008546040516118969190613a8b565b60405180910390a150565b60135f9054906101000a900460ff1681565b6118bb611eb2565b620186a060016118c9610e33565b6118d39190613d20565b6118dd9190613d8e565b81101561191f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611916906142ed565b60405180910390fd5b6103e8600161192c610e33565b6119369190613d20565b6119409190613d8e565b811115611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061437b565b60405180910390fd5b80600b8190555050565b60145481565b61199a611eb2565b670de0b6b3a76400006103e860026119b0610e33565b6119ba9190613d20565b6119c49190613d8e565b6119ce9190613d8e565b811015611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0790614409565b60405180910390fd5b670de0b6b3a764000081611a249190613d20565b6007819055507f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e600754604051611a5b9190613a8b565b60405180910390a150565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600b5481565b601160039054906101000a900460ff1681565b611b09611eb2565b80600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611b69611eb2565b5f60135f6101000a81548160ff021916908315150217905550565b611b8c611eb2565b80601781905550601754601681905550600a6016541115611be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd990613fbf565b60405180910390fd5b50565b600d5481565b611bf3611eb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5890614497565b60405180910390fd5b611c6a8161309d565b50565b611c75611eb2565b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611c9a906144e2565b5f6040518083038185875af1925050503d805f8114611cd4576040519150601f19603f3d011682016040523d82523d5f602084013e611cd9565b606091505b50508091505050565b60175481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5490614566565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc2906145f4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ea59190613a8b565b60405180910390a3505050565b611eba611ce8565b73ffffffffffffffffffffffffffffffffffffffff16611ed86114a3565b73ffffffffffffffffffffffffffffffffffffffff1614611f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f259061465c565b60405180910390fd5b565b5f611f3b8484611a66565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611fb55781811015611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e906146c4565b60405180910390fd5b611fb48484848403611cef565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612029576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202090614752565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208e906147e0565b60405180910390fd5b5f81116120d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d090614848565b60405180910390fd5b601160019054906101000a900460ff166121c85760195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612188575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6121c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121be906148b0565b60405180910390fd5b5b5f600e5411156122d257600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158061225a575061222b6114a3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80612292575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6122d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c890614964565b60405180910390fd5b5b60115f9054906101000a900460ff161561297c576122ee6114a3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561235c575061232c6114a3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561239457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123ce575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612421575060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612474575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561297b5760135f9054906101000a900460ff16156126a15760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125375750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156126a0576002436125499190614982565b60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541080156125dc575060024361259c9190614982565b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054105b61261b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261290614a25565b60405180910390fd5b4360125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055504360125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561273e5750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156127e557600654811115612788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277f90614ab3565b60405180910390fd5b60085461279483611192565b8261279f9190613e4c565b11156127e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d790614b1b565b60405180910390fd5b61297a565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128825750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156128d1576007548111156128cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c390614ba9565b60405180910390fd5b612979565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166129785760085461292b83611192565b826129369190613e4c565b1115612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296e90614b1b565b60405180910390fd5b5b5b5b5b5b5f61298630611192565b90505f600b5482101590508080156129aa5750601160029054906101000a900460ff165b80156129c35750600a60149054906101000a900460ff16155b8015612a165750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612a69575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612abc575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612aff576001600a60146101000a81548160ff021916908315150217905550612ae4612f47565b5f600a60146101000a81548160ff0219169083151502179055505b5f6001905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612b9f575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612ba8575f90505b5f8115612f3357612bb76110a3565b8015612c095750601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015612c5c5750601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612c6957505f601454115b15612db457600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612d62576001600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f828254612d239190613e4c565b925050819055507f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a86604051612d599190613b8d565b60405180910390a15b6064606386612d719190613d20565b612d7b9190613d8e565b905060145460155482612d8e9190613d20565b612d989190613d8e565b60185f828254612da89190613e4c565b92505081905550612f10565b601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e0b57505f601654115b15612e6357606460165486612e209190613d20565b612e2a9190613d8e565b905060165460175482612e3d9190613d20565b612e479190613d8e565b60185f828254612e579190613e4c565b92505081905550612f0f565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612eba57505f601454115b15612f0e57606460145486612ecf9190613d20565b612ed99190613d8e565b905060145460155482612eec9190613d20565b612ef69190613d8e565b60185f828254612f069190613e4c565b925050819055505b5b5b5f811115612f2457612f23873083613208565b5b8085612f309190614982565b94505b612f3e878787613208565b50505050505050565b5f612f5130611192565b90505f60185490505f821480612f6657505f81145b15612f7257505061309b565b6014600b54612f819190613d20565b821115612f9a576014600b54612f979190613d20565b91505b5f601160039054906101000a900460ff161561304b57612fb983613474565b5f601881905550600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613005906144e2565b5f6040518083038185875af1925050503d805f811461303f576040519150601f19603f3d011682016040523d82523d5f602084013e613044565b606091505b5050809150505b601160039054906101000a900460ff166130975761308b30600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611fbb565b5f601881905550600190505b5050505b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506131be82826136aa565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161326d90614752565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036132e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132db906147e0565b60405180910390fd5b6132ef83838361373b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015613372576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336990614c37565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161345b9190613a8b565b60405180910390a361346e848484613740565b50505050565b5f600267ffffffffffffffff8111156134905761348f614c55565b5b6040519080825280602002602001820160405280156134be5781602001602082028036833780820191505090505b50905030815f815181106134d5576134d4613c7f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613579573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061359d9190614c96565b816001815181106135b1576135b0613c7f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506136173060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611cef565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613679959493929190614db1565b5f604051808303815f87803b158015613690575f80fd5b505af11580156136a2573d5f803e3d5ffd5b505050505050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746828260405161372f929190614e09565b60405180910390a15050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561377c578082015181840152602081019050613761565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6137a182613745565b6137ab818561374f565b93506137bb81856020860161375f565b6137c481613787565b840191505092915050565b5f6020820190508181035f8301526137e78184613797565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61383161382c613827846137ef565b61380e565b6137ef565b9050919050565b5f61384282613817565b9050919050565b5f61385382613838565b9050919050565b61386381613849565b82525050565b5f60208201905061387c5f83018461385a565b92915050565b5f80fd5b5f80fd5b5f613894826137ef565b9050919050565b6138a48161388a565b81146138ae575f80fd5b50565b5f813590506138bf8161389b565b92915050565b5f819050919050565b6138d7816138c5565b81146138e1575f80fd5b50565b5f813590506138f2816138ce565b92915050565b5f806040838503121561390e5761390d613882565b5b5f61391b858286016138b1565b925050602061392c858286016138e4565b9150509250929050565b5f8115159050919050565b61394a81613936565b82525050565b5f6020820190506139635f830184613941565b92915050565b5f6020828403121561397e5761397d613882565b5b5f61398b848285016138b1565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126139b5576139b4613994565b5b8235905067ffffffffffffffff8111156139d2576139d1613998565b5b6020830191508360208202830111156139ee576139ed61399c565b5b9250929050565b6139fe81613936565b8114613a08575f80fd5b50565b5f81359050613a19816139f5565b92915050565b5f805f60408486031215613a3657613a35613882565b5b5f84013567ffffffffffffffff811115613a5357613a52613886565b5b613a5f868287016139a0565b93509350506020613a7286828701613a0b565b9150509250925092565b613a85816138c5565b82525050565b5f602082019050613a9e5f830184613a7c565b92915050565b5f805f60608486031215613abb57613aba613882565b5b5f613ac8868287016138b1565b9350506020613ad9868287016138b1565b9250506040613aea868287016138e4565b9150509250925092565b5f60208284031215613b0957613b08613882565b5b5f613b1684828501613a0b565b91505092915050565b5f60208284031215613b3457613b33613882565b5b5f613b41848285016138e4565b91505092915050565b5f60ff82169050919050565b613b5f81613b4a565b82525050565b5f602082019050613b785f830184613b56565b92915050565b613b878161388a565b82525050565b5f602082019050613ba05f830184613b7e565b92915050565b5f8060408385031215613bbc57613bbb613882565b5b5f613bc9858286016138b1565b9250506020613bda85828601613a0b565b9150509250929050565b5f8060408385031215613bfa57613bf9613882565b5b5f613c07858286016138b1565b9250506020613c18858286016138b1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613c6657607f821691505b602082108103613c7957613c78613c22565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613ce3826138c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d1557613d14613cac565b5b600182019050919050565b5f613d2a826138c5565b9150613d35836138c5565b9250828202613d43816138c5565b91508282048414831517613d5a57613d59613cac565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613d98826138c5565b9150613da3836138c5565b925082613db357613db2613d61565b5b828204905092915050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572205f8201527f7468616e20302e32250000000000000000000000000000000000000000000000602082015250565b5f613e1860298361374f565b9150613e2382613dbe565b604082019050919050565b5f6020820190508181035f830152613e4581613e0c565b9050919050565b5f613e56826138c5565b9150613e61836138c5565b9250828201905080821115613e7957613e78613cac565b5b92915050565b7f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e74205f8201527f6973206174206f7220686967686572207468616e207265737472696374696f6e602082015250565b5f613ed960408361374f565b9150613ee482613e7f565b604082019050919050565b5f6020820190508181035f830152613f0681613ecd565b9050919050565b7f5f7461784164647265737320616464726573732063616e6e6f742062652030005f82015250565b5f613f41601f8361374f565b9150613f4c82613f0d565b602082019050919050565b5f6020820190508181035f830152613f6e81613f35565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c6573732e00005f82015250565b5f613fa9601e8361374f565b9150613fb482613f75565b602082019050919050565b5f6020820190508181035f830152613fd681613f9d565b9050919050565b7f43616e6e6f742072656d6f766520556e697377617020706169722066726f6d205f8201527f6d61782074786e00000000000000000000000000000000000000000000000000602082015250565b5f61403760278361374f565b915061404282613fdd565b604082019050919050565b5f6020820190508181035f8301526140648161402b565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e670000000000000000005f82015250565b5f61409f60178361374f565b91506140aa8261406b565b602082019050919050565b5f6020820190508181035f8301526140cc81614093565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61412d60398361374f565b9150614138826140d3565b604082019050919050565b5f6020820190508181035f83015261415a81614121565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6141bb60258361374f565b91506141c682614161565b604082019050919050565b5f6020820190508181035f8301526141e8816141af565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f775f8201527f6572207468616e20302e33250000000000000000000000000000000000000000602082015250565b5f614249602c8361374f565b9150614254826141ef565b604082019050919050565b5f6020820190508181035f8301526142768161423d565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6142d760358361374f565b91506142e28261427d565b604082019050919050565b5f6020820190508181035f830152614304816142cb565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b5f61436560348361374f565b91506143708261430b565b604082019050919050565b5f6020820190508181035f83015261439281614359565b9050919050565b7f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f7765725f8201527f207468616e20302e322500000000000000000000000000000000000000000000602082015250565b5f6143f3602a8361374f565b91506143fe82614399565b604082019050919050565b5f6020820190508181035f830152614420816143e7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61448160268361374f565b915061448c82614427565b604082019050919050565b5f6020820190508181035f8301526144ae81614475565b9050919050565b5f81905092915050565b50565b5f6144cd5f836144b5565b91506144d8826144bf565b5f82019050919050565b5f6144ec826144c2565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61455060248361374f565b915061455b826144f6565b604082019050919050565b5f6020820190508181035f83015261457d81614544565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6145de60228361374f565b91506145e982614584565b604082019050919050565b5f6020820190508181035f83015261460b816145d2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61464660208361374f565b915061465182614612565b602082019050919050565b5f6020820190508181035f8301526146738161463a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6146ae601d8361374f565b91506146b98261467a565b602082019050919050565b5f6020820190508181035f8301526146db816146a2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61473c60258361374f565b9150614747826146e2565b604082019050919050565b5f6020820190508181035f83015261476981614730565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6147ca60238361374f565b91506147d582614770565b604082019050919050565b5f6020820190508181035f8301526147f7816147be565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f614832601d8361374f565b915061483d826147fe565b602082019050919050565b5f6020820190508181035f83015261485f81614826565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61489a60168361374f565b91506148a582614866565b602082019050919050565b5f6020820190508181035f8301526148c78161488e565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f5f8201527f72206f75742065786365707420746f206f776e6572206f72206465616420616460208201527f64726573732e0000000000000000000000000000000000000000000000000000604082015250565b5f61494e60468361374f565b9150614959826148ce565b606082019050919050565b5f6020820190508181035f83015261497b81614942565b9050919050565b5f61498c826138c5565b9150614997836138c5565b92508282039050818111156149af576149ae613cac565b5b92915050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e202054727920616761696e206c617465722e0000000000000000000000602082015250565b5f614a0f60358361374f565b9150614a1a826149b5565b604082019050919050565b5f6020820190508181035f830152614a3c81614a03565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d6178206275792e000000000000000000000000000000000000000000000000602082015250565b5f614a9d60288361374f565b9150614aa882614a43565b604082019050919050565b5f6020820190508181035f830152614aca81614a91565b9050919050565b7f43616e6e6f7420657863656564206d61782077616c6c65742e000000000000005f82015250565b5f614b0560198361374f565b9150614b1082614ad1565b602082019050919050565b5f6020820190508181035f830152614b3281614af9565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782073656c6c2e00000000000000000000000000000000000000000000602082015250565b5f614b93602a8361374f565b9150614b9e82614b39565b604082019050919050565b5f6020820190508181035f830152614bc081614b87565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614c2160268361374f565b9150614c2c82614bc7565b604082019050919050565b5f6020820190508181035f830152614c4e81614c15565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614c908161389b565b92915050565b5f60208284031215614cab57614caa613882565b5b5f614cb884828501614c82565b91505092915050565b5f819050919050565b5f614ce4614cdf614cda84614cc1565b61380e565b6138c5565b9050919050565b614cf481614cca565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614d2c8161388a565b82525050565b5f614d3d8383614d23565b60208301905092915050565b5f602082019050919050565b5f614d5f82614cfa565b614d698185614d04565b9350614d7483614d14565b805f5b83811015614da4578151614d8b8882614d32565b9750614d9683614d49565b925050600181019050614d77565b5085935050505092915050565b5f60a082019050614dc45f830188613a7c565b614dd16020830187614ceb565b8181036040830152614de38186614d55565b9050614df26060830185613b7e565b614dff6080830184613a7c565b9695505050505050565b5f604082019050614e1c5f830185613b7e565b614e296020830184613941565b939250505056fea264697066735822122031101e29e730ab174194620b4ccf12a54d9ce67ea941aa9eb8ad5bf9efe3675264736f6c63430008140033
Deployed Bytecode
0x608060405260043610610353575f3560e01c806385ecfd28116101c5578063c876d0b9116100f6578063e800dff711610094578063ee40166e1161006e578063ee40166e14610c04578063f2fde38b14610c2e578063f5648a4f14610c56578063f8a25a9414610c6c5761035a565b8063e800dff714610b9e578063e884f26014610bc6578063eba4c33314610bdc5761035a565b8063dc3f0d0f116100d0578063dc3f0d0f14610ae6578063dd62ed3e14610b0e578063e2f4560514610b4a578063e620a25c14610b745761035a565b8063c876d0b914610a6a578063d257b34f14610a94578063d85ba06314610abc5761035a565b8063a62068ce11610163578063b62496f51161013d578063b62496f5146109b4578063bbc0c742146109f0578063c024666814610a1a578063c18bc19514610a425761035a565b8063a62068ce14610924578063a9059cbb1461094e578063aa4bde281461098a5761035a565b8063941fa5cd1161019f578063941fa5cd1461086c57806395d89b41146108965780639a7a23d6146108c0578063a457c2d7146108e85761035a565b806385ecfd28146107dc57806388e765ff146108185780638da5cb5b146108425761035a565b806351f205e41161029f5780636ddd17131161023d57806371fc46881161021757806371fc46881461074e578063751039fc146107765780637571336a1461078c57806382aa7c68146107b45761035a565b80636ddd1713146106d257806370a08231146106fc578063715018a6146107385761035a565b806366d602ae1161027957806366d602ae1461062a5780636a486a8e146106545780636b0a894c1461067e5780636d7adcad146106a85761035a565b806351f205e4146105c257806358a6d531146105d85780635adf655a146106025761035a565b806323b872dd1161030c578063313ce567116102e6578063313ce567146105085780633950935114610532578063452ed4f11461056e5780634a62bb65146105985761035a565b806323b872dd1461047c578063281f2a0a146104b85780632be32b61146104e05761035a565b806306fdde031461035e5780630758d92414610388578063095ea7b3146103b257806310d5de53146103ee578063130a2c3c1461042a57806318160ddd146104525761035a565b3661035a57005b5f80fd5b348015610369575f80fd5b50610372610c96565b60405161037f91906137cf565b60405180910390f35b348015610393575f80fd5b5061039c610d26565b6040516103a99190613869565b60405180910390f35b3480156103bd575f80fd5b506103d860048036038101906103d391906138f8565b610d4b565b6040516103e59190613950565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f9190613969565b610d6d565b6040516104219190613950565b60405180910390f35b348015610435575f80fd5b50610450600480360381019061044b9190613a1f565b610d8a565b005b34801561045d575f80fd5b50610466610e33565b6040516104739190613a8b565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d9190613aa4565b610e3c565b6040516104af9190613950565b60405180910390f35b3480156104c3575f80fd5b506104de60048036038101906104d99190613af4565b610e6a565b005b3480156104eb575f80fd5b5061050660048036038101906105019190613b1f565b610e8f565b005b348015610513575f80fd5b5061051c610f63565b6040516105299190613b65565b60405180910390f35b34801561053d575f80fd5b50610558600480360381019061055391906138f8565b610f6b565b6040516105659190613950565b60405180910390f35b348015610579575f80fd5b50610582610fa1565b60405161058f9190613b8d565b60405180910390f35b3480156105a3575f80fd5b506105ac610fc6565b6040516105b99190613950565b60405180910390f35b3480156105cd575f80fd5b506105d6610fd8565b005b3480156105e3575f80fd5b506105ec6110a3565b6040516105f99190613950565b60405180910390f35b34801561060d575f80fd5b5061062860048036038101906106239190613969565b6110ae565b005b348015610635575f80fd5b5061063e611167565b60405161064b9190613a8b565b60405180910390f35b34801561065f575f80fd5b5061066861116d565b6040516106759190613a8b565b60405180910390f35b348015610689575f80fd5b50610692611173565b60405161069f9190613a8b565b60405180910390f35b3480156106b3575f80fd5b506106bc611179565b6040516106c99190613a8b565b60405180910390f35b3480156106dd575f80fd5b506106e661117f565b6040516106f39190613950565b60405180910390f35b348015610707575f80fd5b50610722600480360381019061071d9190613969565b611192565b60405161072f9190613a8b565b60405180910390f35b348015610743575f80fd5b5061074c6111d7565b005b348015610759575f80fd5b50610774600480360381019061076f9190613b1f565b6111ea565b005b348015610781575f80fd5b5061078a61124b565b005b348015610797575f80fd5b506107b260048036038101906107ad9190613ba6565b6112b3565b005b3480156107bf575f80fd5b506107da60048036038101906107d59190613b1f565b6113a8565b005b3480156107e7575f80fd5b5061080260048036038101906107fd9190613969565b611480565b60405161080f9190613950565b60405180910390f35b348015610823575f80fd5b5061082c61149d565b6040516108399190613a8b565b60405180910390f35b34801561084d575f80fd5b506108566114a3565b6040516108639190613b8d565b60405180910390f35b348015610877575f80fd5b506108806114cb565b60405161088d9190613a8b565b60405180910390f35b3480156108a1575f80fd5b506108aa6114d1565b6040516108b791906137cf565b60405180910390f35b3480156108cb575f80fd5b506108e660048036038101906108e19190613ba6565b611561565b005b3480156108f3575f80fd5b5061090e600480360381019061090991906138f8565b61164c565b60405161091b9190613950565b60405180910390f35b34801561092f575f80fd5b506109386116c1565b6040516109459190613a8b565b60405180910390f35b348015610959575f80fd5b50610974600480360381019061096f91906138f8565b6116c7565b6040516109819190613950565b60405180910390f35b348015610995575f80fd5b5061099e6116e9565b6040516109ab9190613a8b565b60405180910390f35b3480156109bf575f80fd5b506109da60048036038101906109d59190613969565b6116ef565b6040516109e79190613950565b60405180910390f35b3480156109fb575f80fd5b50610a0461170c565b604051610a119190613950565b60405180910390f35b348015610a25575f80fd5b50610a406004803603810190610a3b9190613ba6565b61171f565b005b348015610a4d575f80fd5b50610a686004803603810190610a639190613b1f565b6117cd565b005b348015610a75575f80fd5b50610a7e6118a1565b604051610a8b9190613950565b60405180910390f35b348015610a9f575f80fd5b50610aba6004803603810190610ab59190613b1f565b6118b3565b005b348015610ac7575f80fd5b50610ad061198c565b604051610add9190613a8b565b60405180910390f35b348015610af1575f80fd5b50610b0c6004803603810190610b079190613b1f565b611992565b005b348015610b19575f80fd5b50610b346004803603810190610b2f9190613be4565b611a66565b604051610b419190613a8b565b60405180910390f35b348015610b55575f80fd5b50610b5e611ae8565b604051610b6b9190613a8b565b60405180910390f35b348015610b7f575f80fd5b50610b88611aee565b604051610b959190613950565b60405180910390f35b348015610ba9575f80fd5b50610bc46004803603810190610bbf9190613ba6565b611b01565b005b348015610bd1575f80fd5b50610bda611b61565b005b348015610be7575f80fd5b50610c026004803603810190610bfd9190613b1f565b611b84565b005b348015610c0f575f80fd5b50610c18611be5565b604051610c259190613a8b565b60405180910390f35b348015610c39575f80fd5b50610c546004803603810190610c4f9190613969565b611beb565b005b348015610c61575f80fd5b50610c6a611c6d565b005b348015610c77575f80fd5b50610c80611ce2565b604051610c8d9190613a8b565b60405180910390f35b606060038054610ca590613c4f565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd190613c4f565b8015610d1c5780601f10610cf357610100808354040283529160200191610d1c565b820191905f5260205f20905b815481529060010190602001808311610cff57829003601f168201915b5050505050905090565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610d55611ce8565b9050610d62818585611cef565b600191505092915050565b601a602052805f5260405f205f915054906101000a900460ff1681565b610d92611eb2565b5f5b83839050811015610e2d5781600f5f868685818110610db657610db5613c7f565b5b9050602002016020810190610dcb9190613969565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610e2590613cd9565b915050610d94565b50505050565b5f600254905090565b5f80610e46611ce8565b9050610e53858285611f30565b610e5e858585611fbb565b60019150509392505050565b610e72611eb2565b80601160036101000a81548160ff02191690831515021790555050565b610e97611eb2565b670de0b6b3a76400006103e86002610ead610e33565b610eb79190613d20565b610ec19190613d8e565b610ecb9190613d8e565b811015610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0490613e2e565b60405180910390fd5b670de0b6b3a764000081610f219190613d20565b6006819055507ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009600654604051610f589190613a8b565b60405180910390a150565b5f6012905090565b5f80610f75611ce8565b9050610f96818585610f878589611a66565b610f919190613e4c565b611cef565b600191505092915050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115f9054906101000a900460ff1681565b610fe0611eb2565b600b54610fec30611192565b101561102d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102490613eef565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550611050612f47565b5f600a60146101000a81548160ff0219169083151502179055507f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb32426040516110999190613a8b565b60405180910390a1565b5f600e544310905090565b6110b6611eb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111b90613f57565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b60165481565b60105481565b60185481565b601160029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6111df611eb2565b6111e85f61309d565b565b6111f2611eb2565b80601581905550601554601481905550600a6014541115611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f90613fbf565b60405180910390fd5b50565b611253611eb2565b5f60115f6101000a81548160ff0219169083151502179055505f60135f6101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6112bb611eb2565b8061135057600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113469061404d565b60405180910390fd5b5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6113b0611eb2565b601160019054906101000a900460ff1615611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f7906140b5565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055506001601160026101000a81548160ff02191690831515021790555043600d8190555080600d5461144b9190613e4c565b600e819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a150565b600f602052805f5260405f205f915054906101000a900460ff1681565b60065481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60155481565b6060600480546114e090613c4f565b80601f016020809104026020016040519081016040528092919081815260200182805461150c90613c4f565b80156115575780601f1061152e57610100808354040283529160200191611557565b820191905f5260205f20905b81548152906001019060200180831161153a57829003601f168201915b5050505050905090565b611569611eb2565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90614143565b60405180910390fd5b6116028282613160565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f80611656611ce8565b90505f6116638286611a66565b9050838110156116a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169f906141d1565b60405180910390fd5b6116b58286868403611cef565b60019250505092915050565b600e5481565b5f806116d1611ce8565b90506116de818585611fbb565b600191505092915050565b60085481565b601b602052805f5260405f205f915054906101000a900460ff1681565b601160019054906101000a900460ff1681565b611727611eb2565b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516117c19190613950565b60405180910390a25050565b6117d5611eb2565b670de0b6b3a76400006103e860036117eb610e33565b6117f59190613d20565b6117ff9190613d8e565b6118099190613d8e565b81101561184b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118429061425f565b60405180910390fd5b670de0b6b3a76400008161185f9190613d20565b6008819055507fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc6008546040516118969190613a8b565b60405180910390a150565b60135f9054906101000a900460ff1681565b6118bb611eb2565b620186a060016118c9610e33565b6118d39190613d20565b6118dd9190613d8e565b81101561191f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611916906142ed565b60405180910390fd5b6103e8600161192c610e33565b6119369190613d20565b6119409190613d8e565b811115611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061437b565b60405180910390fd5b80600b8190555050565b60145481565b61199a611eb2565b670de0b6b3a76400006103e860026119b0610e33565b6119ba9190613d20565b6119c49190613d8e565b6119ce9190613d8e565b811015611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0790614409565b60405180910390fd5b670de0b6b3a764000081611a249190613d20565b6007819055507f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e600754604051611a5b9190613a8b565b60405180910390a150565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600b5481565b601160039054906101000a900460ff1681565b611b09611eb2565b80600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611b69611eb2565b5f60135f6101000a81548160ff021916908315150217905550565b611b8c611eb2565b80601781905550601754601681905550600a6016541115611be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd990613fbf565b60405180910390fd5b50565b600d5481565b611bf3611eb2565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5890614497565b60405180910390fd5b611c6a8161309d565b50565b611c75611eb2565b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051611c9a906144e2565b5f6040518083038185875af1925050503d805f8114611cd4576040519150601f19603f3d011682016040523d82523d5f602084013e611cd9565b606091505b50508091505050565b60175481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5490614566565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc2906145f4565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ea59190613a8b565b60405180910390a3505050565b611eba611ce8565b73ffffffffffffffffffffffffffffffffffffffff16611ed86114a3565b73ffffffffffffffffffffffffffffffffffffffff1614611f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f259061465c565b60405180910390fd5b565b5f611f3b8484611a66565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611fb55781811015611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e906146c4565b60405180910390fd5b611fb48484848403611cef565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612029576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202090614752565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208e906147e0565b60405180910390fd5b5f81116120d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d090614848565b60405180910390fd5b601160019054906101000a900460ff166121c85760195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612188575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6121c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121be906148b0565b60405180910390fd5b5b5f600e5411156122d257600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158061225a575061222b6114a3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80612292575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6122d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c890614964565b60405180910390fd5b5b60115f9054906101000a900460ff161561297c576122ee6114a3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561235c575061232c6114a3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561239457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123ce575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612421575060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612474575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561297b5760135f9054906101000a900460ff16156126a15760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125375750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156126a0576002436125499190614982565b60125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541080156125dc575060024361259c9190614982565b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054105b61261b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261290614a25565b60405180910390fd5b4360125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055504360125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561273e5750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156127e557600654811115612788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277f90614ab3565b60405180910390fd5b60085461279483611192565b8261279f9190613e4c565b11156127e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d790614b1b565b60405180910390fd5b61297a565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156128825750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156128d1576007548111156128cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c390614ba9565b60405180910390fd5b612979565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166129785760085461292b83611192565b826129369190613e4c565b1115612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296e90614b1b565b60405180910390fd5b5b5b5b5b5b5f61298630611192565b90505f600b5482101590508080156129aa5750601160029054906101000a900460ff165b80156129c35750600a60149054906101000a900460ff16155b8015612a165750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612a69575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612abc575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612aff576001600a60146101000a81548160ff021916908315150217905550612ae4612f47565b5f600a60146101000a81548160ff0219169083151502179055505b5f6001905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612b9f575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612ba8575f90505b5f8115612f3357612bb76110a3565b8015612c095750601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015612c5c5750601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612c6957505f601454115b15612db457600f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612d62576001600f5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160105f828254612d239190613e4c565b925050819055507f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a86604051612d599190613b8d565b60405180910390a15b6064606386612d719190613d20565b612d7b9190613d8e565b905060145460155482612d8e9190613d20565b612d989190613d8e565b60185f828254612da89190613e4c565b92505081905550612f10565b601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e0b57505f601654115b15612e6357606460165486612e209190613d20565b612e2a9190613d8e565b905060165460175482612e3d9190613d20565b612e479190613d8e565b60185f828254612e579190613e4c565b92505081905550612f0f565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612eba57505f601454115b15612f0e57606460145486612ecf9190613d20565b612ed99190613d8e565b905060145460155482612eec9190613d20565b612ef69190613d8e565b60185f828254612f069190613e4c565b925050819055505b5b5b5f811115612f2457612f23873083613208565b5b8085612f309190614982565b94505b612f3e878787613208565b50505050505050565b5f612f5130611192565b90505f60185490505f821480612f6657505f81145b15612f7257505061309b565b6014600b54612f819190613d20565b821115612f9a576014600b54612f979190613d20565b91505b5f601160039054906101000a900460ff161561304b57612fb983613474565b5f601881905550600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613005906144e2565b5f6040518083038185875af1925050503d805f811461303f576040519150601f19603f3d011682016040523d82523d5f602084013e613044565b606091505b5050809150505b601160039054906101000a900460ff166130975761308b30600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611fbb565b5f601881905550600190505b5050505b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506131be82826136aa565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161326d90614752565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036132e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132db906147e0565b60405180910390fd5b6132ef83838361373b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015613372576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336990614c37565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161345b9190613a8b565b60405180910390a361346e848484613740565b50505050565b5f600267ffffffffffffffff8111156134905761348f614c55565b5b6040519080825280602002602001820160405280156134be5781602001602082028036833780820191505090505b50905030815f815181106134d5576134d4613c7f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613579573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061359d9190614c96565b816001815181106135b1576135b0613c7f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506136173060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611cef565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613679959493929190614db1565b5f604051808303815f87803b158015613690575f80fd5b505af11580156136a2573d5f803e3d5ffd5b505050505050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746828260405161372f929190614e09565b60405180910390a15050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561377c578082015181840152602081019050613761565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6137a182613745565b6137ab818561374f565b93506137bb81856020860161375f565b6137c481613787565b840191505092915050565b5f6020820190508181035f8301526137e78184613797565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61383161382c613827846137ef565b61380e565b6137ef565b9050919050565b5f61384282613817565b9050919050565b5f61385382613838565b9050919050565b61386381613849565b82525050565b5f60208201905061387c5f83018461385a565b92915050565b5f80fd5b5f80fd5b5f613894826137ef565b9050919050565b6138a48161388a565b81146138ae575f80fd5b50565b5f813590506138bf8161389b565b92915050565b5f819050919050565b6138d7816138c5565b81146138e1575f80fd5b50565b5f813590506138f2816138ce565b92915050565b5f806040838503121561390e5761390d613882565b5b5f61391b858286016138b1565b925050602061392c858286016138e4565b9150509250929050565b5f8115159050919050565b61394a81613936565b82525050565b5f6020820190506139635f830184613941565b92915050565b5f6020828403121561397e5761397d613882565b5b5f61398b848285016138b1565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126139b5576139b4613994565b5b8235905067ffffffffffffffff8111156139d2576139d1613998565b5b6020830191508360208202830111156139ee576139ed61399c565b5b9250929050565b6139fe81613936565b8114613a08575f80fd5b50565b5f81359050613a19816139f5565b92915050565b5f805f60408486031215613a3657613a35613882565b5b5f84013567ffffffffffffffff811115613a5357613a52613886565b5b613a5f868287016139a0565b93509350506020613a7286828701613a0b565b9150509250925092565b613a85816138c5565b82525050565b5f602082019050613a9e5f830184613a7c565b92915050565b5f805f60608486031215613abb57613aba613882565b5b5f613ac8868287016138b1565b9350506020613ad9868287016138b1565b9250506040613aea868287016138e4565b9150509250925092565b5f60208284031215613b0957613b08613882565b5b5f613b1684828501613a0b565b91505092915050565b5f60208284031215613b3457613b33613882565b5b5f613b41848285016138e4565b91505092915050565b5f60ff82169050919050565b613b5f81613b4a565b82525050565b5f602082019050613b785f830184613b56565b92915050565b613b878161388a565b82525050565b5f602082019050613ba05f830184613b7e565b92915050565b5f8060408385031215613bbc57613bbb613882565b5b5f613bc9858286016138b1565b9250506020613bda85828601613a0b565b9150509250929050565b5f8060408385031215613bfa57613bf9613882565b5b5f613c07858286016138b1565b9250506020613c18858286016138b1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613c6657607f821691505b602082108103613c7957613c78613c22565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613ce3826138c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d1557613d14613cac565b5b600182019050919050565b5f613d2a826138c5565b9150613d35836138c5565b9250828202613d43816138c5565b91508282048414831517613d5a57613d59613cac565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613d98826138c5565b9150613da3836138c5565b925082613db357613db2613d61565b5b828204905092915050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572205f8201527f7468616e20302e32250000000000000000000000000000000000000000000000602082015250565b5f613e1860298361374f565b9150613e2382613dbe565b604082019050919050565b5f6020820190508181035f830152613e4581613e0c565b9050919050565b5f613e56826138c5565b9150613e61836138c5565b9250828201905080821115613e7957613e78613cac565b5b92915050565b7f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e74205f8201527f6973206174206f7220686967686572207468616e207265737472696374696f6e602082015250565b5f613ed960408361374f565b9150613ee482613e7f565b604082019050919050565b5f6020820190508181035f830152613f0681613ecd565b9050919050565b7f5f7461784164647265737320616464726573732063616e6e6f742062652030005f82015250565b5f613f41601f8361374f565b9150613f4c82613f0d565b602082019050919050565b5f6020820190508181035f830152613f6e81613f35565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c6573732e00005f82015250565b5f613fa9601e8361374f565b9150613fb482613f75565b602082019050919050565b5f6020820190508181035f830152613fd681613f9d565b9050919050565b7f43616e6e6f742072656d6f766520556e697377617020706169722066726f6d205f8201527f6d61782074786e00000000000000000000000000000000000000000000000000602082015250565b5f61403760278361374f565b915061404282613fdd565b604082019050919050565b5f6020820190508181035f8301526140648161402b565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e670000000000000000005f82015250565b5f61409f60178361374f565b91506140aa8261406b565b602082019050919050565b5f6020820190508181035f8301526140cc81614093565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61412d60398361374f565b9150614138826140d3565b604082019050919050565b5f6020820190508181035f83015261415a81614121565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6141bb60258361374f565b91506141c682614161565b604082019050919050565b5f6020820190508181035f8301526141e8816141af565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f775f8201527f6572207468616e20302e33250000000000000000000000000000000000000000602082015250565b5f614249602c8361374f565b9150614254826141ef565b604082019050919050565b5f6020820190508181035f8301526142768161423d565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6142d760358361374f565b91506142e28261427d565b604082019050919050565b5f6020820190508181035f830152614304816142cb565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b5f61436560348361374f565b91506143708261430b565b604082019050919050565b5f6020820190508181035f83015261439281614359565b9050919050565b7f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f7765725f8201527f207468616e20302e322500000000000000000000000000000000000000000000602082015250565b5f6143f3602a8361374f565b91506143fe82614399565b604082019050919050565b5f6020820190508181035f830152614420816143e7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61448160268361374f565b915061448c82614427565b604082019050919050565b5f6020820190508181035f8301526144ae81614475565b9050919050565b5f81905092915050565b50565b5f6144cd5f836144b5565b91506144d8826144bf565b5f82019050919050565b5f6144ec826144c2565b9150819050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61455060248361374f565b915061455b826144f6565b604082019050919050565b5f6020820190508181035f83015261457d81614544565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6145de60228361374f565b91506145e982614584565b604082019050919050565b5f6020820190508181035f83015261460b816145d2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61464660208361374f565b915061465182614612565b602082019050919050565b5f6020820190508181035f8301526146738161463a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6146ae601d8361374f565b91506146b98261467a565b602082019050919050565b5f6020820190508181035f8301526146db816146a2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61473c60258361374f565b9150614747826146e2565b604082019050919050565b5f6020820190508181035f83015261476981614730565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6147ca60238361374f565b91506147d582614770565b604082019050919050565b5f6020820190508181035f8301526147f7816147be565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f614832601d8361374f565b915061483d826147fe565b602082019050919050565b5f6020820190508181035f83015261485f81614826565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61489a60168361374f565b91506148a582614866565b602082019050919050565b5f6020820190508181035f8301526148c78161488e565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f5f8201527f72206f75742065786365707420746f206f776e6572206f72206465616420616460208201527f64726573732e0000000000000000000000000000000000000000000000000000604082015250565b5f61494e60468361374f565b9150614959826148ce565b606082019050919050565b5f6020820190508181035f83015261497b81614942565b9050919050565b5f61498c826138c5565b9150614997836138c5565b92508282039050818111156149af576149ae613cac565b5b92915050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e202054727920616761696e206c617465722e0000000000000000000000602082015250565b5f614a0f60358361374f565b9150614a1a826149b5565b604082019050919050565b5f6020820190508181035f830152614a3c81614a03565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d6178206275792e000000000000000000000000000000000000000000000000602082015250565b5f614a9d60288361374f565b9150614aa882614a43565b604082019050919050565b5f6020820190508181035f830152614aca81614a91565b9050919050565b7f43616e6e6f7420657863656564206d61782077616c6c65742e000000000000005f82015250565b5f614b0560198361374f565b9150614b1082614ad1565b602082019050919050565b5f6020820190508181035f830152614b3281614af9565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782073656c6c2e00000000000000000000000000000000000000000000602082015250565b5f614b93602a8361374f565b9150614b9e82614b39565b604082019050919050565b5f6020820190508181035f830152614bc081614b87565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614c2160268361374f565b9150614c2c82614bc7565b604082019050919050565b5f6020820190508181035f830152614c4e81614c15565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614c908161389b565b92915050565b5f60208284031215614cab57614caa613882565b5b5f614cb884828501614c82565b91505092915050565b5f819050919050565b5f614ce4614cdf614cda84614cc1565b61380e565b6138c5565b9050919050565b614cf481614cca565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614d2c8161388a565b82525050565b5f614d3d8383614d23565b60208301905092915050565b5f602082019050919050565b5f614d5f82614cfa565b614d698185614d04565b9350614d7483614d14565b805f5b83811015614da4578151614d8b8882614d32565b9750614d9683614d49565b925050600181019050614d77565b5085935050505092915050565b5f60a082019050614dc45f830188613a7c565b614dd16020830187614ceb565b8181036040830152614de38186614d55565b9050614df26060830185613b7e565b614dff6080830184613a7c565b9695505050505050565b5f604082019050614e1c5f830185613b7e565b614e296020830184613941565b939250505056fea264697066735822122031101e29e730ab174194620b4ccf12a54d9ce67ea941aa9eb8ad5bf9efe3675264736f6c63430008140033
Deployed Bytecode Sourcemap
9572:14637:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2098:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9723:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3096:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10557:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13570:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2419:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3330:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16529:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13918:312;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2318:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3633:263;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9757:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10052:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23857:349;;;;;;;;;;;;;:::i;:::-;;22011:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23651:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9649:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10393;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10018:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10462:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10132:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2535:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7991:103;;;;;;;;;;;;;:::i;:::-;;16634:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13282:154;;;;;;;;;;;;;:::i;:::-;;15574:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12944:330;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9968:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9615:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7756:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10360:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2206:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15918:357;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3904:498;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9928:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2686:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9684:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10627:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10092:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17063:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14563:327;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10278:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14898:428;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10326:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14238:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2912:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9815:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10170:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13444:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13812:98;;;;;;;;;;;;;:::i;:::-;;16846:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9884:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8102:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23458:185;;;;;;;;;;;;;:::i;:::-;;10428:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2098:100;2152:13;2185:5;2178:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2098:100;:::o;9723:27::-;;;;;;;;;;;;;:::o;3096:226::-;3204:4;3221:13;3237:12;:10;:12::i;:::-;3221:28;;3260:32;3269:5;3276:7;3285:6;3260:8;:32::i;:::-;3310:4;3303:11;;;3096:226;;;;:::o;10557:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;13570:234::-;7715:13;:11;:13::i;:::-;13700:9:::1;13695:102;13719:7;;:14;;13715:1;:18;13695:102;;;13781:4;13755:11;:23;13767:7;;13775:1;13767:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13755:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;13735:3;;;;;:::i;:::-;;;;13695:102;;;;13570:234:::0;;;:::o;2419:108::-;2480:7;2507:12;;2500:19;;2419:108;:::o;3330:295::-;3461:4;3478:15;3496:12;:10;:12::i;:::-;3478:30;;3519:38;3535:4;3541:7;3550:6;3519:15;:38::i;:::-;3568:27;3578:4;3584:2;3588:6;3568:9;:27::i;:::-;3613:4;3606:11;;;3330:295;;;;;:::o;16529:97::-;7715:13;:11;:13::i;:::-;16608:10:::1;16596:9;;:22;;;;;;;;;;;;;;;;;;16529:97:::0;:::o;13918:312::-;7715:13;:11;:13::i;:::-;14055:4:::1;14047;14042:1;14026:13;:11;:13::i;:::-;:17;;;;:::i;:::-;14025:26;;;;:::i;:::-;14024:35;;;;:::i;:::-;14014:6;:45;;13992:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;14164:8;14154:6;:19;;;;:::i;:::-;14139:12;:34;;;;14189:33;14209:12;;14189:33;;;;;;:::i;:::-;;;;;;;;13918:312:::0;:::o;2318:93::-;2376:5;2401:2;2394:9;;2318:93;:::o;3633:263::-;3746:4;3763:13;3779:12;:10;:12::i;:::-;3763:28;;3802:64;3811:5;3818:7;3855:10;3827:25;3837:5;3844:7;3827:9;:25::i;:::-;:38;;;;:::i;:::-;3802:8;:64::i;:::-;3884:4;3877:11;;;3633:263;;;;:::o;9757:21::-;;;;;;;;;;;;;:::o;10052:33::-;;;;;;;;;;;;;:::o;23857:349::-;7715:13;:11;:13::i;:::-;23962:18:::1;;23934:24;23952:4;23934:9;:24::i;:::-;:46;;23912:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;24094:4;24083:8;;:15;;;;;;;;;;;;;;;;;;24109:10;:8;:10::i;:::-;24141:5;24130:8;;:16;;;;;;;;;;;;;;;;;;24162:36;24182:15;24162:36;;;;;;:::i;:::-;;;;;;;;23857:349::o:0;22011:121::-;22067:4;22106:18;;22091:12;:33;22084:40;;22011:121;:::o;23651:198::-;7715:13;:11;:13::i;:::-;23759:1:::1;23736:25;;:11;:25;;::::0;23728:69:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23829:11;23808:10;;:33;;;;;;;;;;;;;;;;;;23651:198:::0;:::o;9649:28::-;;;;:::o;10393:::-;;;;:::o;10018:25::-;;;;:::o;10462:27::-;;;;:::o;10132:31::-;;;;;;;;;;;;;:::o;2535:143::-;2625:7;2652:9;:18;2662:7;2652:18;;;;;;;;;;;;;;;;2645:25;;2535:143;;;:::o;7991:103::-;7715:13;:11;:13::i;:::-;8056:30:::1;8083:1;8056:18;:30::i;:::-;7991:103::o:0;16634:204::-;7715:13;:11;:13::i;:::-;16716:7:::1;16704:9;:19;;;;16749:9;;16734:12;:24;;;;16793:2;16777:12;;:18;;16769:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;16634:204:::0;:::o;13282:154::-;7715:13;:11;:13::i;:::-;13353:5:::1;13336:14;;:22;;;;;;;;;;;;;;;;;;13392:5;13369:20;;:28;;;;;;;;;;;;;;;;;;13413:15;;;;;;;;;;13282:154::o:0;15574:336::-;7715:13;:11;:13::i;:::-;15696:4:::1;15691:155;;15753:6;;;;;;;;;;;15743:16;;:6;:16;;::::0;15717:117:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15691:155;15898:4;15856:31;:39;15888:6;15856:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;15574:336:::0;;:::o;12944:330::-;7715:13;:11;:13::i;:::-;13026::::1;;;;;;;;;;;13025:14;13017:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;13094:4;13078:13;;:20;;;;;;;;;;;;;;;;;;13123:4;13109:11;;:18;;;;;;;;;;;;;;;;;;13159:12;13138:18;:33;;;;13224:10;13203:18;;:31;;;;:::i;:::-;13182:18;:52;;;;13250:16;;;;;;;;;;12944:330:::0;:::o;9968:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;9615:27::-;;;;:::o;7756:87::-;7802:7;7829:6;;;;;;;;;;;7822:13;;7756:87;:::o;10360:24::-;;;;:::o;2206:104::-;2262:13;2295:7;2288:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:104;:::o;15918:357::-;7715:13;:11;:13::i;:::-;16066:6:::1;;;;;;;;;;;16058:14;;:4;:14;;::::0;16036:121:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16170:41;16199:4;16205:5;16170:28;:41::i;:::-;16261:5;16227:40;;16255:4;16227:40;;;;;;;;;;;;15918:357:::0;;:::o;3904:498::-;4022:4;4039:13;4055:12;:10;:12::i;:::-;4039:28;;4078:24;4105:25;4115:5;4122:7;4105:9;:25::i;:::-;4078:52;;4183:15;4163:16;:35;;4141:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;4299:60;4308:5;4315:7;4343:15;4324:16;:34;4299:8;:60::i;:::-;4390:4;4383:11;;;;3904:498;;;;:::o;9928:33::-;;;;:::o;2686:218::-;2790:4;2807:13;2823:12;:10;:12::i;:::-;2807:28;;2846;2856:5;2863:2;2867:6;2846:9;:28::i;:::-;2892:4;2885:11;;;2686:218;;;;:::o;9684:30::-;;;;:::o;10627:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;10092:33::-;;;;;;;;;;;;;:::o;17063:182::-;7715:13;:11;:13::i;:::-;17179:8:::1;17148:19;:28;17168:7;17148:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;17219:7;17203:34;;;17228:8;17203:34;;;;;;:::i;:::-;;;;;;;;17063:182:::0;;:::o;14563:327::-;7715:13;:11;:13::i;:::-;14703:4:::1;14695;14690:1;14674:13;:11;:13::i;:::-;:17;;;;:::i;:::-;14673:26;;;;:::i;:::-;14672:35;;;;:::i;:::-;14662:6;:45;;14640:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;14818:8;14808:6;:19;;;;:::i;:::-;14790:15;:37;;;;14843:39;14866:15;;14843:39;;;;;;:::i;:::-;;;;;;;;14563:327:::0;:::o;10278:39::-;;;;;;;;;;;;;:::o;14898:428::-;7715:13;:11;:13::i;:::-;15038:6:::1;15033:1;15017:13;:11;:13::i;:::-;:17;;;;:::i;:::-;15016:28;;;;:::i;:::-;15003:9;:41;;14981:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;15193:4;15188:1;15172:13;:11;:13::i;:::-;:17;;;;:::i;:::-;15171:26;;;;:::i;:::-;15158:9;:39;;15136:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;15309:9;15288:18;:30;;;;14898:428:::0;:::o;10326:27::-;;;;:::o;14238:317::-;7715:13;:11;:13::i;:::-;14376:4:::1;14368;14363:1;14347:13;:11;:13::i;:::-;:17;;;;:::i;:::-;14346:26;;;;:::i;:::-;14345:35;;;;:::i;:::-;14335:6;:45;;14313:137;;;;;;;;;;;;:::i;:::-;;;;;;;;;14487:8;14477:6;:19;;;;:::i;:::-;14461:13;:35;;;;14512;14533:13;;14512:35;;;;;;:::i;:::-;;;;;;;;14238:317:::0;:::o;2912:176::-;3026:7;3053:11;:18;3065:5;3053:18;;;;;;;;;;;;;;;:27;3072:7;3053:27;;;;;;;;;;;;;;;;3046:34;;2912:176;;;;:::o;9815:33::-;;;;:::o;10170:28::-;;;;;;;;;;;;;:::o;13444:118::-;7715:13;:11;:13::i;:::-;13550:4:::1;13528:11;:19;13540:6;13528:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;13444:118:::0;;:::o;13812:98::-;7715:13;:11;:13::i;:::-;13897:5:::1;13874:20;;:28;;;;;;;;;;;;;;;;;;13812:98::o:0;16846:209::-;7715:13;:11;:13::i;:::-;16930:7:::1;16917:10;:20;;;;16964:10;;16948:13;:26;;;;17010:2;16993:13;;:19;;16985:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;16846:209:::0;:::o;9884:37::-;;;;:::o;8102:238::-;7715:13;:11;:13::i;:::-;8225:1:::1;8205:22;;:8;:22;;::::0;8183:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;8304:28;8323:8;8304:18;:28::i;:::-;8102:238:::0;:::o;23458:185::-;7715:13;:11;:13::i;:::-;23516:12:::1;23561:10;23553:24;;23585:21;23553:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23539:96;;;;;23505:138;23458:185::o:0;10428:25::-;;;;:::o;202:98::-;255:7;282:10;275:17;;202:98;:::o;6176:380::-;6329:1;6312:19;;:5;:19;;;6304:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6410:1;6391:21;;:7;:21;;;6383:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6494:6;6464:11;:18;6476:5;6464:18;;;;;;;;;;;;;;;:27;6483:7;6464:27;;;;;;;;;;;;;;;:36;;;;6532:7;6516:32;;6525:5;6516:32;;;6541:6;6516:32;;;;;;:::i;:::-;;;;;;;;6176:380;;;:::o;7851:132::-;7926:12;:10;:12::i;:::-;7915:23;;:7;:5;:7::i;:::-;:23;;;7907:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7851:132::o;6564:502::-;6699:24;6726:25;6736:5;6743:7;6726:9;:25::i;:::-;6699:52;;6786:17;6766:16;:37;6762:297;;6866:6;6846:16;:26;;6820:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;6981:51;6990:5;6997:7;7025:6;7006:16;:25;6981:8;:51::i;:::-;6762:297;6688:378;6564:502;;;:::o;17253:4750::-;17401:1;17385:18;;:4;:18;;;17377:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17478:1;17464:16;;:2;:16;;;17456:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;17548:1;17539:6;:10;17531:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;17601:13;;;;;;;;;;;17596:183;;17657:19;:25;17677:4;17657:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;17686:19;:23;17706:2;17686:23;;;;;;;;;;;;;;;;;;;;;;;;;17657:52;17631:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;17596:183;17816:1;17795:18;;:22;17791:247;;;17861:11;:17;17873:4;17861:17;;;;;;;;;;;;;;;;;;;;;;;;;17860:18;:35;;;;17888:7;:5;:7::i;:::-;17882:13;;:2;:13;;;17860:35;:60;;;;17913:6;17899:21;;:2;:21;;;17860:60;17834:192;;;;;;;;;;;;:::i;:::-;;;;;;;;;17791:247;18054:14;;;;;;;;;;;18050:2135;;;18115:7;:5;:7::i;:::-;18107:15;;:4;:15;;;;:49;;;;;18149:7;:5;:7::i;:::-;18143:13;;:2;:13;;;;18107:49;:86;;;;;18191:1;18177:16;;:2;:16;;;;18107:86;:128;;;;;18228:6;18214:21;;:2;:21;;;;18107:128;:175;;;;;18257:19;:25;18277:4;18257:25;;;;;;;;;;;;;;;;;;;;;;;;;18256:26;18107:175;:220;;;;;18304:19;:23;18324:2;18304:23;;;;;;;;;;;;;;;;;;;;;;;;;18303:24;18107:220;18085:2089;;;18366:20;;;;;;;;;;;18362:692;;;18429:9;;;;;;;;;;;18415:24;;:2;:24;;;;:49;;;;;18457:6;;;;;;;;;;;18443:21;;:2;:21;;;;18415:49;18411:624;;;18621:1;18606:12;:16;;;;:::i;:::-;18531:28;:39;18560:9;18531:39;;;;;;;;;;;;;;;;:91;:212;;;;;18742:1;18727:12;:16;;;;:::i;:::-;18659:28;:32;18688:2;18659:32;;;;;;;;;;;;;;;;:84;18531:212;18493:363;;;;;;;;;;;;:::i;:::-;;;;;;;;;18925:12;18883:28;:39;18912:9;18883:39;;;;;;;;;;;;;;;:54;;;;18999:12;18964:28;:32;18993:2;18964:32;;;;;;;;;;;;;;;:47;;;;18411:624;18362:692;19100:25;:31;19126:4;19100:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;19157:31;:35;19189:2;19157:35;;;;;;;;;;;;;;;;;;;;;;;;;19156:36;19100:92;19074:1085;;;19279:12;;19269:6;:22;;19235:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;19466:15;;19449:13;19459:2;19449:9;:13::i;:::-;19440:6;:22;;;;:::i;:::-;:41;;19406:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;19074:1085;;;19610:25;:29;19636:2;19610:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;19665:31;:37;19697:4;19665:37;;;;;;;;;;;;;;;;;;;;;;;;;19664:38;19610:92;19584:575;;;19789:13;;19779:6;:23;;19745:151;;;;;;;;;;;;:::i;:::-;;;;;;;;;19584:575;;;19927:31;:35;19959:2;19927:35;;;;;;;;;;;;;;;;;;;;;;;;;19922:237;;20047:15;;20030:13;20040:2;20030:9;:13::i;:::-;20021:6;:22;;;;:::i;:::-;:41;;19987:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;19922:237;19584:575;19074:1085;18085:2089;18050:2135;20197:28;20228:24;20246:4;20228:9;:24::i;:::-;20197:55;;20265:12;20304:18;;20280:20;:42;;20265:57;;20353:7;:35;;;;;20377:11;;;;;;;;;;;20353:35;:61;;;;;20406:8;;;;;;;;;;;20405:9;20353:61;:110;;;;;20432:25;:31;20458:4;20432:31;;;;;;;;;;;;;;;;;;;;;;;;;20431:32;20353:110;:153;;;;;20481:19;:25;20501:4;20481:25;;;;;;;;;;;;;;;;;;;;;;;;;20480:26;20353:153;:194;;;;;20524:19;:23;20544:2;20524:23;;;;;;;;;;;;;;;;;;;;;;;;;20523:24;20353:194;20335:326;;;20585:4;20574:8;;:15;;;;;;;;;;;;;;;;;;20606:10;:8;:10::i;:::-;20644:5;20633:8;;:16;;;;;;;;;;;;;;;;;;20335:326;20673:12;20688:4;20673:19;;20707;:25;20727:4;20707:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20736:19;:23;20756:2;20736:23;;;;;;;;;;;;;;;;;;;;;;;;;20707:52;20703:100;;;20786:5;20776:15;;20703:100;20815:12;20846:7;20842:1108;;;20892:25;:23;:25::i;:::-;:77;;;;;20938:25;:31;20964:4;20938:31;;;;;;;;;;;;;;;;;;;;;;;;;20892:77;:128;;;;;20991:25;:29;21017:2;20991:29;;;;;;;;;;;;;;;;;;;;;;;;;20990:30;20892:128;:165;;;;;21056:1;21041:12;;:16;20892:165;20870:931;;;21097:11;:15;21109:2;21097:15;;;;;;;;;;;;;;;;;;;;;;;;;21092:173;;21155:4;21137:11;:15;21149:2;21137:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;21196:1;21182:10;;:15;;;;;;;:::i;:::-;;;;;;;;21225:20;21242:2;21225:20;;;;;;:::i;:::-;;;;;;;;21092:173;21308:3;21302:2;21293:6;:11;;;;:::i;:::-;21292:19;;;;:::i;:::-;21285:26;;21367:12;;21354:9;;21347:4;:16;;;;:::i;:::-;21346:33;;;;:::i;:::-;21330:12;;:49;;;;;;;:::i;:::-;;;;;;;;20870:931;;;21405:25;:29;21431:2;21405:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;21454:1;21438:13;;:17;21405:50;21401:400;;;21510:3;21493:13;;21484:6;:22;;;;:::i;:::-;21483:30;;;;:::i;:::-;21476:37;;21570:13;;21556:10;;21549:4;:17;;;;:::i;:::-;21548:35;;;;:::i;:::-;21532:12;;:51;;;;;;;:::i;:::-;;;;;;;;21401:400;;;21609:25;:31;21635:4;21609:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;21659:1;21644:12;;:16;21609:51;21605:196;;;21714:3;21698:12;;21689:6;:21;;;;:::i;:::-;21688:29;;;;:::i;:::-;21681:36;;21773:12;;21760:9;;21753:4;:16;;;;:::i;:::-;21752:33;;;;:::i;:::-;21736:12;;:49;;;;;;;:::i;:::-;;;;;;;;21605:196;21401:400;20870:931;21828:1;21821:4;:8;21817:91;;;21850:42;21866:4;21880;21887;21850:15;:42::i;:::-;21817:91;21934:4;21924:14;;;;;:::i;:::-;;;20842:1108;21962:33;21978:4;21984:2;21988:6;21962:15;:33::i;:::-;17366:4637;;;;17253:4750;;;:::o;22605:802::-;22644:23;22670:24;22688:4;22670:9;:24::i;:::-;22644:50;;22705:25;22733:12;;22705:40;;22781:1;22762:15;:20;:46;;;;22807:1;22786:17;:22;22762:46;22758:85;;;22825:7;;;;22758:85;22898:2;22877:18;;:23;;;;:::i;:::-;22859:15;:41;22855:115;;;22956:2;22935:18;;:23;;;;:::i;:::-;22917:41;;22855:115;22982:12;23011:9;;;;;;;;;;;23007:225;;;23037:33;23054:15;23037:16;:33::i;:::-;23100:1;23085:12;:16;;;;23138:10;;;;;;;;;;;23130:24;;23180:21;23130:90;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23116:104;;;;;23007:225;23249:9;;;;;;;;;;;23244:156;;23275:53;23293:4;23300:10;;;;;;;;;;;23312:15;23275:9;:53::i;:::-;23358:1;23343:12;:16;;;;23384:4;23374:14;;23244:156;22633:774;;;22605:802;:::o;8348:191::-;8422:16;8441:6;;;;;;;;;;;8422:25;;8467:8;8458:6;;:17;;;;;;;;;;;;;;;;;;8522:8;8491:40;;8512:8;8491:40;;;;;;;;;;;;8411:128;8348:191;:::o;16283:238::-;16400:5;16366:25;:31;16392:4;16366:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16418;16445:4;16451:5;16418:26;:39::i;:::-;16507:5;16473:40;;16501:4;16473:40;;;;;;;;;;;;16283:238;;:::o;4410:712::-;4557:1;4541:18;;:4;:18;;;4533:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4634:1;4620:16;;:2;:16;;;4612:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4689:38;4710:4;4716:2;4720:6;4689:20;:38::i;:::-;4740:19;4762:9;:15;4772:4;4762:15;;;;;;;;;;;;;;;;4740:37;;4825:6;4810:11;:21;;4788:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;4965:6;4951:11;:20;4933:9;:15;4943:4;4933:15;;;;;;;;;;;;;;;:38;;;;5003:6;4986:9;:13;4996:2;4986:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;5053:2;5038:26;;5047:4;5038:26;;;5057:6;5038:26;;;;;;:::i;:::-;;;;;;;;5077:37;5097:4;5103:2;5107:6;5077:19;:37::i;:::-;4522:600;4410:712;;;:::o;22140:457::-;22206:21;22244:1;22230:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22206:40;;22275:4;22257;22262:1;22257:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22301:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22291:4;22296:1;22291:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;22330:56;22347:4;22362:9;;;;;;;;;;;22374:11;22330:8;:56::i;:::-;22399:9;;;;;;;;;;;:60;;;22474:11;22500:1;22516:4;22543;22563:15;22399:190;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22195:402;22140:457;:::o;15334:232::-;15489:10;15447:31;:39;15479:6;15447:39;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;15515:43;15539:6;15547:10;15515:43;;;;;;;:::i;:::-;;;;;;;;15334:232;;:::o;7074:125::-;;;;:::o;7207:124::-;;;;:::o;7:99:1:-;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:126::-;1386:7;1426:42;1419:5;1415:54;1404:65;;1349:126;;;:::o;1481:60::-;1509:3;1530:5;1523:12;;1481:60;;;:::o;1547:142::-;1597:9;1630:53;1648:34;1657:24;1675:5;1657:24;:::i;:::-;1648:34;:::i;:::-;1630:53;:::i;:::-;1617:66;;1547:142;;;:::o;1695:126::-;1745:9;1778:37;1809:5;1778:37;:::i;:::-;1765:50;;1695:126;;;:::o;1827:144::-;1895:9;1928:37;1959:5;1928:37;:::i;:::-;1915:50;;1827:144;;;:::o;1977:167::-;2082:55;2131:5;2082:55;:::i;:::-;2077:3;2070:68;1977:167;;:::o;2150:258::-;2261:4;2299:2;2288:9;2284:18;2276:26;;2312:89;2398:1;2387:9;2383:17;2374:6;2312:89;:::i;:::-;2150:258;;;;:::o;2495:117::-;2604:1;2601;2594:12;2618:117;2727:1;2724;2717:12;2741:96;2778:7;2807:24;2825:5;2807:24;:::i;:::-;2796:35;;2741:96;;;:::o;2843:122::-;2916:24;2934:5;2916:24;:::i;:::-;2909:5;2906:35;2896:63;;2955:1;2952;2945:12;2896:63;2843:122;:::o;2971:139::-;3017:5;3055:6;3042:20;3033:29;;3071:33;3098:5;3071:33;:::i;:::-;2971:139;;;;:::o;3116:77::-;3153:7;3182:5;3171:16;;3116:77;;;:::o;3199:122::-;3272:24;3290:5;3272:24;:::i;:::-;3265:5;3262:35;3252:63;;3311:1;3308;3301:12;3252:63;3199:122;:::o;3327:139::-;3373:5;3411:6;3398:20;3389:29;;3427:33;3454:5;3427:33;:::i;:::-;3327:139;;;;:::o;3472:474::-;3540:6;3548;3597:2;3585:9;3576:7;3572:23;3568:32;3565:119;;;3603:79;;:::i;:::-;3565:119;3723:1;3748:53;3793:7;3784:6;3773:9;3769:22;3748:53;:::i;:::-;3738:63;;3694:117;3850:2;3876:53;3921:7;3912:6;3901:9;3897:22;3876:53;:::i;:::-;3866:63;;3821:118;3472:474;;;;;:::o;3952:90::-;3986:7;4029:5;4022:13;4015:21;4004:32;;3952:90;;;:::o;4048:109::-;4129:21;4144:5;4129:21;:::i;:::-;4124:3;4117:34;4048:109;;:::o;4163:210::-;4250:4;4288:2;4277:9;4273:18;4265:26;;4301:65;4363:1;4352:9;4348:17;4339:6;4301:65;:::i;:::-;4163:210;;;;:::o;4379:329::-;4438:6;4487:2;4475:9;4466:7;4462:23;4458:32;4455:119;;;4493:79;;:::i;:::-;4455:119;4613:1;4638:53;4683:7;4674:6;4663:9;4659:22;4638:53;:::i;:::-;4628:63;;4584:117;4379:329;;;;:::o;4714:117::-;4823:1;4820;4813:12;4837:117;4946:1;4943;4936:12;4960:117;5069:1;5066;5059:12;5100:568;5173:8;5183:6;5233:3;5226:4;5218:6;5214:17;5210:27;5200:122;;5241:79;;:::i;:::-;5200:122;5354:6;5341:20;5331:30;;5384:18;5376:6;5373:30;5370:117;;;5406:79;;:::i;:::-;5370:117;5520:4;5512:6;5508:17;5496:29;;5574:3;5566:4;5558:6;5554:17;5544:8;5540:32;5537:41;5534:128;;;5581:79;;:::i;:::-;5534:128;5100:568;;;;;:::o;5674:116::-;5744:21;5759:5;5744:21;:::i;:::-;5737:5;5734:32;5724:60;;5780:1;5777;5770:12;5724:60;5674:116;:::o;5796:133::-;5839:5;5877:6;5864:20;5855:29;;5893:30;5917:5;5893:30;:::i;:::-;5796:133;;;;:::o;5935:698::-;6027:6;6035;6043;6092:2;6080:9;6071:7;6067:23;6063:32;6060:119;;;6098:79;;:::i;:::-;6060:119;6246:1;6235:9;6231:17;6218:31;6276:18;6268:6;6265:30;6262:117;;;6298:79;;:::i;:::-;6262:117;6411:80;6483:7;6474:6;6463:9;6459:22;6411:80;:::i;:::-;6393:98;;;;6189:312;6540:2;6566:50;6608:7;6599:6;6588:9;6584:22;6566:50;:::i;:::-;6556:60;;6511:115;5935:698;;;;;:::o;6639:118::-;6726:24;6744:5;6726:24;:::i;:::-;6721:3;6714:37;6639:118;;:::o;6763:222::-;6856:4;6894:2;6883:9;6879:18;6871:26;;6907:71;6975:1;6964:9;6960:17;6951:6;6907:71;:::i;:::-;6763:222;;;;:::o;6991:619::-;7068:6;7076;7084;7133:2;7121:9;7112:7;7108:23;7104:32;7101:119;;;7139:79;;:::i;:::-;7101:119;7259:1;7284:53;7329:7;7320:6;7309:9;7305:22;7284:53;:::i;:::-;7274:63;;7230:117;7386:2;7412:53;7457:7;7448:6;7437:9;7433:22;7412:53;:::i;:::-;7402:63;;7357:118;7514:2;7540:53;7585:7;7576:6;7565:9;7561:22;7540:53;:::i;:::-;7530:63;;7485:118;6991:619;;;;;:::o;7616:323::-;7672:6;7721:2;7709:9;7700:7;7696:23;7692:32;7689:119;;;7727:79;;:::i;:::-;7689:119;7847:1;7872:50;7914:7;7905:6;7894:9;7890:22;7872:50;:::i;:::-;7862:60;;7818:114;7616:323;;;;:::o;7945:329::-;8004:6;8053:2;8041:9;8032:7;8028:23;8024:32;8021:119;;;8059:79;;:::i;:::-;8021:119;8179:1;8204:53;8249:7;8240:6;8229:9;8225:22;8204:53;:::i;:::-;8194:63;;8150:117;7945:329;;;;:::o;8280:86::-;8315:7;8355:4;8348:5;8344:16;8333:27;;8280:86;;;:::o;8372:112::-;8455:22;8471:5;8455:22;:::i;:::-;8450:3;8443:35;8372:112;;:::o;8490:214::-;8579:4;8617:2;8606:9;8602:18;8594:26;;8630:67;8694:1;8683:9;8679:17;8670:6;8630:67;:::i;:::-;8490:214;;;;:::o;8710:118::-;8797:24;8815:5;8797:24;:::i;:::-;8792:3;8785:37;8710:118;;:::o;8834:222::-;8927:4;8965:2;8954:9;8950:18;8942:26;;8978:71;9046:1;9035:9;9031:17;9022:6;8978:71;:::i;:::-;8834:222;;;;:::o;9062:468::-;9127:6;9135;9184:2;9172:9;9163:7;9159:23;9155:32;9152:119;;;9190:79;;:::i;:::-;9152:119;9310:1;9335:53;9380:7;9371:6;9360:9;9356:22;9335:53;:::i;:::-;9325:63;;9281:117;9437:2;9463:50;9505:7;9496:6;9485:9;9481:22;9463:50;:::i;:::-;9453:60;;9408:115;9062:468;;;;;:::o;9536:474::-;9604:6;9612;9661:2;9649:9;9640:7;9636:23;9632:32;9629:119;;;9667:79;;:::i;:::-;9629:119;9787:1;9812:53;9857:7;9848:6;9837:9;9833:22;9812:53;:::i;:::-;9802:63;;9758:117;9914:2;9940:53;9985:7;9976:6;9965:9;9961:22;9940:53;:::i;:::-;9930:63;;9885:118;9536:474;;;;;:::o;10016:180::-;10064:77;10061:1;10054:88;10161:4;10158:1;10151:15;10185:4;10182:1;10175:15;10202:320;10246:6;10283:1;10277:4;10273:12;10263:22;;10330:1;10324:4;10320:12;10351:18;10341:81;;10407:4;10399:6;10395:17;10385:27;;10341:81;10469:2;10461:6;10458:14;10438:18;10435:38;10432:84;;10488:18;;:::i;:::-;10432:84;10253:269;10202:320;;;:::o;10528:180::-;10576:77;10573:1;10566:88;10673:4;10670:1;10663:15;10697:4;10694:1;10687:15;10714:180;10762:77;10759:1;10752:88;10859:4;10856:1;10849:15;10883:4;10880:1;10873:15;10900:233;10939:3;10962:24;10980:5;10962:24;:::i;:::-;10953:33;;11008:66;11001:5;10998:77;10995:103;;11078:18;;:::i;:::-;10995:103;11125:1;11118:5;11114:13;11107:20;;10900:233;;;:::o;11139:410::-;11179:7;11202:20;11220:1;11202:20;:::i;:::-;11197:25;;11236:20;11254:1;11236:20;:::i;:::-;11231:25;;11291:1;11288;11284:9;11313:30;11331:11;11313:30;:::i;:::-;11302:41;;11492:1;11483:7;11479:15;11476:1;11473:22;11453:1;11446:9;11426:83;11403:139;;11522:18;;:::i;:::-;11403:139;11187:362;11139:410;;;;:::o;11555:180::-;11603:77;11600:1;11593:88;11700:4;11697:1;11690:15;11724:4;11721:1;11714:15;11741:185;11781:1;11798:20;11816:1;11798:20;:::i;:::-;11793:25;;11832:20;11850:1;11832:20;:::i;:::-;11827:25;;11871:1;11861:35;;11876:18;;:::i;:::-;11861:35;11918:1;11915;11911:9;11906:14;;11741:185;;;;:::o;11932:228::-;12072:34;12068:1;12060:6;12056:14;12049:58;12141:11;12136:2;12128:6;12124:15;12117:36;11932:228;:::o;12166:366::-;12308:3;12329:67;12393:2;12388:3;12329:67;:::i;:::-;12322:74;;12405:93;12494:3;12405:93;:::i;:::-;12523:2;12518:3;12514:12;12507:19;;12166:366;;;:::o;12538:419::-;12704:4;12742:2;12731:9;12727:18;12719:26;;12791:9;12785:4;12781:20;12777:1;12766:9;12762:17;12755:47;12819:131;12945:4;12819:131;:::i;:::-;12811:139;;12538:419;;;:::o;12963:191::-;13003:3;13022:20;13040:1;13022:20;:::i;:::-;13017:25;;13056:20;13074:1;13056:20;:::i;:::-;13051:25;;13099:1;13096;13092:9;13085:16;;13120:3;13117:1;13114:10;13111:36;;;13127:18;;:::i;:::-;13111:36;12963:191;;;;:::o;13160:251::-;13300:34;13296:1;13288:6;13284:14;13277:58;13369:34;13364:2;13356:6;13352:15;13345:59;13160:251;:::o;13417:366::-;13559:3;13580:67;13644:2;13639:3;13580:67;:::i;:::-;13573:74;;13656:93;13745:3;13656:93;:::i;:::-;13774:2;13769:3;13765:12;13758:19;;13417:366;;;:::o;13789:419::-;13955:4;13993:2;13982:9;13978:18;13970:26;;14042:9;14036:4;14032:20;14028:1;14017:9;14013:17;14006:47;14070:131;14196:4;14070:131;:::i;:::-;14062:139;;13789:419;;;:::o;14214:181::-;14354:33;14350:1;14342:6;14338:14;14331:57;14214:181;:::o;14401:366::-;14543:3;14564:67;14628:2;14623:3;14564:67;:::i;:::-;14557:74;;14640:93;14729:3;14640:93;:::i;:::-;14758:2;14753:3;14749:12;14742:19;;14401:366;;;:::o;14773:419::-;14939:4;14977:2;14966:9;14962:18;14954:26;;15026:9;15020:4;15016:20;15012:1;15001:9;14997:17;14990:47;15054:131;15180:4;15054:131;:::i;:::-;15046:139;;14773:419;;;:::o;15198:180::-;15338:32;15334:1;15326:6;15322:14;15315:56;15198:180;:::o;15384:366::-;15526:3;15547:67;15611:2;15606:3;15547:67;:::i;:::-;15540:74;;15623:93;15712:3;15623:93;:::i;:::-;15741:2;15736:3;15732:12;15725:19;;15384:366;;;:::o;15756:419::-;15922:4;15960:2;15949:9;15945:18;15937:26;;16009:9;16003:4;15999:20;15995:1;15984:9;15980:17;15973:47;16037:131;16163:4;16037:131;:::i;:::-;16029:139;;15756:419;;;:::o;16181:226::-;16321:34;16317:1;16309:6;16305:14;16298:58;16390:9;16385:2;16377:6;16373:15;16366:34;16181:226;:::o;16413:366::-;16555:3;16576:67;16640:2;16635:3;16576:67;:::i;:::-;16569:74;;16652:93;16741:3;16652:93;:::i;:::-;16770:2;16765:3;16761:12;16754:19;;16413:366;;;:::o;16785:419::-;16951:4;16989:2;16978:9;16974:18;16966:26;;17038:9;17032:4;17028:20;17024:1;17013:9;17009:17;17002:47;17066:131;17192:4;17066:131;:::i;:::-;17058:139;;16785:419;;;:::o;17210:173::-;17350:25;17346:1;17338:6;17334:14;17327:49;17210:173;:::o;17389:366::-;17531:3;17552:67;17616:2;17611:3;17552:67;:::i;:::-;17545:74;;17628:93;17717:3;17628:93;:::i;:::-;17746:2;17741:3;17737:12;17730:19;;17389:366;;;:::o;17761:419::-;17927:4;17965:2;17954:9;17950:18;17942:26;;18014:9;18008:4;18004:20;18000:1;17989:9;17985:17;17978:47;18042:131;18168:4;18042:131;:::i;:::-;18034:139;;17761:419;;;:::o;18186:244::-;18326:34;18322:1;18314:6;18310:14;18303:58;18395:27;18390:2;18382:6;18378:15;18371:52;18186:244;:::o;18436:366::-;18578:3;18599:67;18663:2;18658:3;18599:67;:::i;:::-;18592:74;;18675:93;18764:3;18675:93;:::i;:::-;18793:2;18788:3;18784:12;18777:19;;18436:366;;;:::o;18808:419::-;18974:4;19012:2;19001:9;18997:18;18989:26;;19061:9;19055:4;19051:20;19047:1;19036:9;19032:17;19025:47;19089:131;19215:4;19089:131;:::i;:::-;19081:139;;18808:419;;;:::o;19233:224::-;19373:34;19369:1;19361:6;19357:14;19350:58;19442:7;19437:2;19429:6;19425:15;19418:32;19233:224;:::o;19463:366::-;19605:3;19626:67;19690:2;19685:3;19626:67;:::i;:::-;19619:74;;19702:93;19791:3;19702:93;:::i;:::-;19820:2;19815:3;19811:12;19804:19;;19463:366;;;:::o;19835:419::-;20001:4;20039:2;20028:9;20024:18;20016:26;;20088:9;20082:4;20078:20;20074:1;20063:9;20059:17;20052:47;20116:131;20242:4;20116:131;:::i;:::-;20108:139;;19835:419;;;:::o;20260:231::-;20400:34;20396:1;20388:6;20384:14;20377:58;20469:14;20464:2;20456:6;20452:15;20445:39;20260:231;:::o;20497:366::-;20639:3;20660:67;20724:2;20719:3;20660:67;:::i;:::-;20653:74;;20736:93;20825:3;20736:93;:::i;:::-;20854:2;20849:3;20845:12;20838:19;;20497:366;;;:::o;20869:419::-;21035:4;21073:2;21062:9;21058:18;21050:26;;21122:9;21116:4;21112:20;21108:1;21097:9;21093:17;21086:47;21150:131;21276:4;21150:131;:::i;:::-;21142:139;;20869:419;;;:::o;21294:240::-;21434:34;21430:1;21422:6;21418:14;21411:58;21503:23;21498:2;21490:6;21486:15;21479:48;21294:240;:::o;21540:366::-;21682:3;21703:67;21767:2;21762:3;21703:67;:::i;:::-;21696:74;;21779:93;21868:3;21779:93;:::i;:::-;21897:2;21892:3;21888:12;21881:19;;21540:366;;;:::o;21912:419::-;22078:4;22116:2;22105:9;22101:18;22093:26;;22165:9;22159:4;22155:20;22151:1;22140:9;22136:17;22129:47;22193:131;22319:4;22193:131;:::i;:::-;22185:139;;21912:419;;;:::o;22337:239::-;22477:34;22473:1;22465:6;22461:14;22454:58;22546:22;22541:2;22533:6;22529:15;22522:47;22337:239;:::o;22582:366::-;22724:3;22745:67;22809:2;22804:3;22745:67;:::i;:::-;22738:74;;22821:93;22910:3;22821:93;:::i;:::-;22939:2;22934:3;22930:12;22923:19;;22582:366;;;:::o;22954:419::-;23120:4;23158:2;23147:9;23143:18;23135:26;;23207:9;23201:4;23197:20;23193:1;23182:9;23178:17;23171:47;23235:131;23361:4;23235:131;:::i;:::-;23227:139;;22954:419;;;:::o;23379:229::-;23519:34;23515:1;23507:6;23503:14;23496:58;23588:12;23583:2;23575:6;23571:15;23564:37;23379:229;:::o;23614:366::-;23756:3;23777:67;23841:2;23836:3;23777:67;:::i;:::-;23770:74;;23853:93;23942:3;23853:93;:::i;:::-;23971:2;23966:3;23962:12;23955:19;;23614:366;;;:::o;23986:419::-;24152:4;24190:2;24179:9;24175:18;24167:26;;24239:9;24233:4;24229:20;24225:1;24214:9;24210:17;24203:47;24267:131;24393:4;24267:131;:::i;:::-;24259:139;;23986:419;;;:::o;24411:225::-;24551:34;24547:1;24539:6;24535:14;24528:58;24620:8;24615:2;24607:6;24603:15;24596:33;24411:225;:::o;24642:366::-;24784:3;24805:67;24869:2;24864:3;24805:67;:::i;:::-;24798:74;;24881:93;24970:3;24881:93;:::i;:::-;24999:2;24994:3;24990:12;24983:19;;24642:366;;;:::o;25014:419::-;25180:4;25218:2;25207:9;25203:18;25195:26;;25267:9;25261:4;25257:20;25253:1;25242:9;25238:17;25231:47;25295:131;25421:4;25295:131;:::i;:::-;25287:139;;25014:419;;;:::o;25439:147::-;25540:11;25577:3;25562:18;;25439:147;;;;:::o;25592:114::-;;:::o;25712:398::-;25871:3;25892:83;25973:1;25968:3;25892:83;:::i;:::-;25885:90;;25984:93;26073:3;25984:93;:::i;:::-;26102:1;26097:3;26093:11;26086:18;;25712:398;;;:::o;26116:379::-;26300:3;26322:147;26465:3;26322:147;:::i;:::-;26315:154;;26486:3;26479:10;;26116:379;;;:::o;26501:223::-;26641:34;26637:1;26629:6;26625:14;26618:58;26710:6;26705:2;26697:6;26693:15;26686:31;26501:223;:::o;26730:366::-;26872:3;26893:67;26957:2;26952:3;26893:67;:::i;:::-;26886:74;;26969:93;27058:3;26969:93;:::i;:::-;27087:2;27082:3;27078:12;27071:19;;26730:366;;;:::o;27102:419::-;27268:4;27306:2;27295:9;27291:18;27283:26;;27355:9;27349:4;27345:20;27341:1;27330:9;27326:17;27319:47;27383:131;27509:4;27383:131;:::i;:::-;27375:139;;27102:419;;;:::o;27527:221::-;27667:34;27663:1;27655:6;27651:14;27644:58;27736:4;27731:2;27723:6;27719:15;27712:29;27527:221;:::o;27754:366::-;27896:3;27917:67;27981:2;27976:3;27917:67;:::i;:::-;27910:74;;27993:93;28082:3;27993:93;:::i;:::-;28111:2;28106:3;28102:12;28095:19;;27754:366;;;:::o;28126:419::-;28292:4;28330:2;28319:9;28315:18;28307:26;;28379:9;28373:4;28369:20;28365:1;28354:9;28350:17;28343:47;28407:131;28533:4;28407:131;:::i;:::-;28399:139;;28126:419;;;:::o;28551:182::-;28691:34;28687:1;28679:6;28675:14;28668:58;28551:182;:::o;28739:366::-;28881:3;28902:67;28966:2;28961:3;28902:67;:::i;:::-;28895:74;;28978:93;29067:3;28978:93;:::i;:::-;29096:2;29091:3;29087:12;29080:19;;28739:366;;;:::o;29111:419::-;29277:4;29315:2;29304:9;29300:18;29292:26;;29364:9;29358:4;29354:20;29350:1;29339:9;29335:17;29328:47;29392:131;29518:4;29392:131;:::i;:::-;29384:139;;29111:419;;;:::o;29536:179::-;29676:31;29672:1;29664:6;29660:14;29653:55;29536:179;:::o;29721:366::-;29863:3;29884:67;29948:2;29943:3;29884:67;:::i;:::-;29877:74;;29960:93;30049:3;29960:93;:::i;:::-;30078:2;30073:3;30069:12;30062:19;;29721:366;;;:::o;30093:419::-;30259:4;30297:2;30286:9;30282:18;30274:26;;30346:9;30340:4;30336:20;30332:1;30321:9;30317:17;30310:47;30374:131;30500:4;30374:131;:::i;:::-;30366:139;;30093:419;;;:::o;30518:224::-;30658:34;30654:1;30646:6;30642:14;30635:58;30727:7;30722:2;30714:6;30710:15;30703:32;30518:224;:::o;30748:366::-;30890:3;30911:67;30975:2;30970:3;30911:67;:::i;:::-;30904:74;;30987:93;31076:3;30987:93;:::i;:::-;31105:2;31100:3;31096:12;31089:19;;30748:366;;;:::o;31120:419::-;31286:4;31324:2;31313:9;31309:18;31301:26;;31373:9;31367:4;31363:20;31359:1;31348:9;31344:17;31337:47;31401:131;31527:4;31401:131;:::i;:::-;31393:139;;31120:419;;;:::o;31545:222::-;31685:34;31681:1;31673:6;31669:14;31662:58;31754:5;31749:2;31741:6;31737:15;31730:30;31545:222;:::o;31773:366::-;31915:3;31936:67;32000:2;31995:3;31936:67;:::i;:::-;31929:74;;32012:93;32101:3;32012:93;:::i;:::-;32130:2;32125:3;32121:12;32114:19;;31773:366;;;:::o;32145:419::-;32311:4;32349:2;32338:9;32334:18;32326:26;;32398:9;32392:4;32388:20;32384:1;32373:9;32369:17;32362:47;32426:131;32552:4;32426:131;:::i;:::-;32418:139;;32145:419;;;:::o;32570:179::-;32710:31;32706:1;32698:6;32694:14;32687:55;32570:179;:::o;32755:366::-;32897:3;32918:67;32982:2;32977:3;32918:67;:::i;:::-;32911:74;;32994:93;33083:3;32994:93;:::i;:::-;33112:2;33107:3;33103:12;33096:19;;32755:366;;;:::o;33127:419::-;33293:4;33331:2;33320:9;33316:18;33308:26;;33380:9;33374:4;33370:20;33366:1;33355:9;33351:17;33344:47;33408:131;33534:4;33408:131;:::i;:::-;33400:139;;33127:419;;;:::o;33552:172::-;33692:24;33688:1;33680:6;33676:14;33669:48;33552:172;:::o;33730:366::-;33872:3;33893:67;33957:2;33952:3;33893:67;:::i;:::-;33886:74;;33969:93;34058:3;33969:93;:::i;:::-;34087:2;34082:3;34078:12;34071:19;;33730:366;;;:::o;34102:419::-;34268:4;34306:2;34295:9;34291:18;34283:26;;34355:9;34349:4;34345:20;34341:1;34330:9;34326:17;34319:47;34383:131;34509:4;34383:131;:::i;:::-;34375:139;;34102:419;;;:::o;34527:294::-;34667:34;34663:1;34655:6;34651:14;34644:58;34736:34;34731:2;34723:6;34719:15;34712:59;34805:8;34800:2;34792:6;34788:15;34781:33;34527:294;:::o;34827:366::-;34969:3;34990:67;35054:2;35049:3;34990:67;:::i;:::-;34983:74;;35066:93;35155:3;35066:93;:::i;:::-;35184:2;35179:3;35175:12;35168:19;;34827:366;;;:::o;35199:419::-;35365:4;35403:2;35392:9;35388:18;35380:26;;35452:9;35446:4;35442:20;35438:1;35427:9;35423:17;35416:47;35480:131;35606:4;35480:131;:::i;:::-;35472:139;;35199:419;;;:::o;35624:194::-;35664:4;35684:20;35702:1;35684:20;:::i;:::-;35679:25;;35718:20;35736:1;35718:20;:::i;:::-;35713:25;;35762:1;35759;35755:9;35747:17;;35786:1;35780:4;35777:11;35774:37;;;35791:18;;:::i;:::-;35774:37;35624:194;;;;:::o;35824:240::-;35964:34;35960:1;35952:6;35948:14;35941:58;36033:23;36028:2;36020:6;36016:15;36009:48;35824:240;:::o;36070:366::-;36212:3;36233:67;36297:2;36292:3;36233:67;:::i;:::-;36226:74;;36309:93;36398:3;36309:93;:::i;:::-;36427:2;36422:3;36418:12;36411:19;;36070:366;;;:::o;36442:419::-;36608:4;36646:2;36635:9;36631:18;36623:26;;36695:9;36689:4;36685:20;36681:1;36670:9;36666:17;36659:47;36723:131;36849:4;36723:131;:::i;:::-;36715:139;;36442:419;;;:::o;36867:227::-;37007:34;37003:1;36995:6;36991:14;36984:58;37076:10;37071:2;37063:6;37059:15;37052:35;36867:227;:::o;37100:366::-;37242:3;37263:67;37327:2;37322:3;37263:67;:::i;:::-;37256:74;;37339:93;37428:3;37339:93;:::i;:::-;37457:2;37452:3;37448:12;37441:19;;37100:366;;;:::o;37472:419::-;37638:4;37676:2;37665:9;37661:18;37653:26;;37725:9;37719:4;37715:20;37711:1;37700:9;37696:17;37689:47;37753:131;37879:4;37753:131;:::i;:::-;37745:139;;37472:419;;;:::o;37897:175::-;38037:27;38033:1;38025:6;38021:14;38014:51;37897:175;:::o;38078:366::-;38220:3;38241:67;38305:2;38300:3;38241:67;:::i;:::-;38234:74;;38317:93;38406:3;38317:93;:::i;:::-;38435:2;38430:3;38426:12;38419:19;;38078:366;;;:::o;38450:419::-;38616:4;38654:2;38643:9;38639:18;38631:26;;38703:9;38697:4;38693:20;38689:1;38678:9;38674:17;38667:47;38731:131;38857:4;38731:131;:::i;:::-;38723:139;;38450:419;;;:::o;38875:229::-;39015:34;39011:1;39003:6;38999:14;38992:58;39084:12;39079:2;39071:6;39067:15;39060:37;38875:229;:::o;39110:366::-;39252:3;39273:67;39337:2;39332:3;39273:67;:::i;:::-;39266:74;;39349:93;39438:3;39349:93;:::i;:::-;39467:2;39462:3;39458:12;39451:19;;39110:366;;;:::o;39482:419::-;39648:4;39686:2;39675:9;39671:18;39663:26;;39735:9;39729:4;39725:20;39721:1;39710:9;39706:17;39699:47;39763:131;39889:4;39763:131;:::i;:::-;39755:139;;39482:419;;;:::o;39907:225::-;40047:34;40043:1;40035:6;40031:14;40024:58;40116:8;40111:2;40103:6;40099:15;40092:33;39907:225;:::o;40138:366::-;40280:3;40301:67;40365:2;40360:3;40301:67;:::i;:::-;40294:74;;40377:93;40466:3;40377:93;:::i;:::-;40495:2;40490:3;40486:12;40479:19;;40138:366;;;:::o;40510:419::-;40676:4;40714:2;40703:9;40699:18;40691:26;;40763:9;40757:4;40753:20;40749:1;40738:9;40734:17;40727:47;40791:131;40917:4;40791:131;:::i;:::-;40783:139;;40510:419;;;:::o;40935:180::-;40983:77;40980:1;40973:88;41080:4;41077:1;41070:15;41104:4;41101:1;41094:15;41121:143;41178:5;41209:6;41203:13;41194:22;;41225:33;41252:5;41225:33;:::i;:::-;41121:143;;;;:::o;41270:351::-;41340:6;41389:2;41377:9;41368:7;41364:23;41360:32;41357:119;;;41395:79;;:::i;:::-;41357:119;41515:1;41540:64;41596:7;41587:6;41576:9;41572:22;41540:64;:::i;:::-;41530:74;;41486:128;41270:351;;;;:::o;41627:85::-;41672:7;41701:5;41690:16;;41627:85;;;:::o;41718:158::-;41776:9;41809:61;41827:42;41836:32;41862:5;41836:32;:::i;:::-;41827:42;:::i;:::-;41809:61;:::i;:::-;41796:74;;41718:158;;;:::o;41882:147::-;41977:45;42016:5;41977:45;:::i;:::-;41972:3;41965:58;41882:147;;:::o;42035:114::-;42102:6;42136:5;42130:12;42120:22;;42035:114;;;:::o;42155:184::-;42254:11;42288:6;42283:3;42276:19;42328:4;42323:3;42319:14;42304:29;;42155:184;;;;:::o;42345:132::-;42412:4;42435:3;42427:11;;42465:4;42460:3;42456:14;42448:22;;42345:132;;;:::o;42483:108::-;42560:24;42578:5;42560:24;:::i;:::-;42555:3;42548:37;42483:108;;:::o;42597:179::-;42666:10;42687:46;42729:3;42721:6;42687:46;:::i;:::-;42765:4;42760:3;42756:14;42742:28;;42597:179;;;;:::o;42782:113::-;42852:4;42884;42879:3;42875:14;42867:22;;42782:113;;;:::o;42931:732::-;43050:3;43079:54;43127:5;43079:54;:::i;:::-;43149:86;43228:6;43223:3;43149:86;:::i;:::-;43142:93;;43259:56;43309:5;43259:56;:::i;:::-;43338:7;43369:1;43354:284;43379:6;43376:1;43373:13;43354:284;;;43455:6;43449:13;43482:63;43541:3;43526:13;43482:63;:::i;:::-;43475:70;;43568:60;43621:6;43568:60;:::i;:::-;43558:70;;43414:224;43401:1;43398;43394:9;43389:14;;43354:284;;;43358:14;43654:3;43647:10;;43055:608;;;42931:732;;;;:::o;43669:831::-;43932:4;43970:3;43959:9;43955:19;43947:27;;43984:71;44052:1;44041:9;44037:17;44028:6;43984:71;:::i;:::-;44065:80;44141:2;44130:9;44126:18;44117:6;44065:80;:::i;:::-;44192:9;44186:4;44182:20;44177:2;44166:9;44162:18;44155:48;44220:108;44323:4;44314:6;44220:108;:::i;:::-;44212:116;;44338:72;44406:2;44395:9;44391:18;44382:6;44338:72;:::i;:::-;44420:73;44488:3;44477:9;44473:19;44464:6;44420:73;:::i;:::-;43669:831;;;;;;;;:::o;44506:320::-;44621:4;44659:2;44648:9;44644:18;44636:26;;44672:71;44740:1;44729:9;44725:17;44716:6;44672:71;:::i;:::-;44753:66;44815:2;44804:9;44800:18;44791:6;44753:66;:::i;:::-;44506:320;;;;;:::o
Swarm Source
ipfs://31101e29e730ab174194620b4ccf12a54d9ce67ea941aa9eb8ad5bf9efe36752
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.