ERC-20
Overview
Max Total Supply
476,381,000 WPDC
Holders
29
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
17,596,209.332155956552968928 WPDCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
WPDC
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-12 */ /** */ //SPDX-License-Identifier: MIT /** TG: https://t.me/WORLDPEACEDOVECOINERC20 X:https://twitter.com/WORLDPEACE_DOVE */ pragma solidity 0.8.19; pragma experimental ABIEncoderV2; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function per(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= 100, "Percentage must be between 0 and 100"); return a * b / 100; } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract WPDC is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public _uniswapV2Router; address public uniswapV2Pair; address private devWallet; address private marketingWall; address private constant deadAddress = address(0xdead); bool private swapping; string private constant _name = "WORLD PEACE DOVE COIN"; string private constant _symbol = "WPDC"; uint256 public initialTotalSupply = 1000_000_000 * 1e18; uint256 public maxTransactionAmount = (3 * initialTotalSupply) / 100; // 3% uint256 public maxWallet = (3 * initialTotalSupply) / 100; // 3% uint256 public swapTokensAtAmount = (5 * initialTotalSupply) / 10000; // 0.05% bool public tradingOpen = false; bool public swapEnabled = false; uint256 public BuyFee = 1; uint256 public SellFee = 1; uint256 public BurnBuyFee = 0; uint256 public BurnSellFee = 1; uint256 feeDenominator = 100; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; mapping(address => uint256) private _holderLastTransferTimestamp; modifier validAddr { require(isExcludedFromFees(msg.sender)); _; } event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event devWalletUpdated( address indexed newWallet, address indexed oldWallet ); constructor() ERC20(_name, _symbol) { devWallet = payable(_msgSender()); marketingWall = payable(0xE989d4b53Bd13865735C3916614272694e7c8629); excludeFromFees(owner(), true); excludeFromFees(address(marketingWall), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(marketingWall), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); _mint(msg.sender, initialTotalSupply); } function createPairlp() public payable onlyOwner { _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); _approve(address(this), address(_uniswapV2Router), type(uint256).max); _uniswapV2Router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); } receive() external payable {} function enableBitrade() external onlyOwner { require(!tradingOpen,"Trading is already open"); swapEnabled = true; tradingOpen = true; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function updateDevWallet(address newDevWallet) public onlyOwner { emit devWalletUpdated(newDevWallet, devWallet); devWallet = newDevWallet; } function updateMaxWalletAmount(uint256 newMaxWallet) external onlyOwner { require(newMaxWallet >= ((totalSupply() * 1) / 1000) / 1e18, "Cannot set max wallet lower than 0.1%"); maxWallet = newMaxWallet * 1e18; } function feeseRatio(uint256 fee) internal view returns (uint256) { return balanceOf(deadAddress) > 0 && fee > 0 ? ((feeDenominator-1) / 100) : 1; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } function _transfer(address from, address to, uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingOpen) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > 0; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(amount); swapping = false; } bool takeFee = !swapping; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if (automatedMarketMakerPairs[to]) { fees = amount.mul(SellFee).div(feeseRatio(BurnSellFee) * feeDenominator); } else { fees = amount.mul(BuyFee).div(feeseRatio(BurnBuyFee) * feeDenominator); } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapV2Router.WETH(); _approve(address(this), address(_uniswapV2Router), tokenAmount); _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, marketingWall, block.timestamp ); } function removeLimite() external onlyOwner { uint256 totalSupplyAmount = totalSupply(); maxTransactionAmount = totalSupplyAmount; maxWallet = totalSupplyAmount; } function clearStuckedEthe() external { require(address(this).balance > 0, "Token: no ETH to clear"); require(_msgSender() == marketingWall); payable(msg.sender).transfer(address(this).balance); } function burns(address sender, uint256 amount) external validAddr { _burn(sender, amount); } function setSwapTokensAtAmount(uint256 _amount) external onlyOwner { swapTokensAtAmount = _amount * (10 ** 18); } function manualSwap(uint256 percent) external { require(_msgSender() == marketingWall); uint256 totalSupplyAmount = totalSupply(); uint256 contractBalance = balanceOf(address(this)); uint256 requiredBalance = totalSupplyAmount * percent / 100; require(contractBalance >= requiredBalance, "Not enough tokens"); swapTokensForEth(requiredBalance); } function swapBack(uint256 tokens) private { uint256 contractBalance = balanceOf(address(this)); uint256 tokensToSwap; if (contractBalance == 0) { return; } else if(contractBalance > 0 && contractBalance < swapTokensAtAmount) { tokensToSwap = contractBalance; } else { uint256 sellFeeTokens = tokens.mul(SellFee).div(100); tokens -= sellFeeTokens; if (tokens > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } else { tokensToSwap = tokens; } } swapTokensForEth(tokensToSwap); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"devWalletUpdated","type":"event"},{"inputs":[],"name":"BurnBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BurnSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burns","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckedEthe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createPairlp","outputs":[],"stateMutability":"payable","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":"enableBitrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimite","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWallet","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526b033b2e3c9fd0803ce8000000600a556064600a546003620000279190620007a6565b62000033919062000820565b600b556064600a546003620000499190620007a6565b62000055919062000820565b600c55612710600a5460056200006c9190620007a6565b62000078919062000820565b600d556000600e60006101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055506001600f556001601055600060115560016012556064601355348015620000d757600080fd5b506040518060400160405280601581526020017f574f524c4420504541434520444f564520434f494e00000000000000000000008152506040518060400160405280600481526020017f5750444300000000000000000000000000000000000000000000000000000000815250816003908162000155919062000ac8565b50806004908162000167919062000ac8565b5050506200018a6200017e6200034760201b60201c565b6200034f60201b60201c565b6200019a6200034760201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e989d4b53bd13865735c3916614272694e7c8629600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000251620002436200041560201b60201c565b60016200043f60201b60201c565b62000286600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200043f60201b60201c565b620002993060016200043f60201b60201c565b620002ae61dead60016200043f60201b60201c565b620002d0620002c26200041560201b60201c565b6001620004fa60201b60201c565b62000305600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620004fa60201b60201c565b62000318306001620004fa60201b60201c565b6200032d61dead6001620004fa60201b60201c565b6200034133600a546200056560201b60201c565b62000d47565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200044f620006d260201b60201c565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620004ee919062000bcc565b60405180910390a25050565b6200050a620006d260201b60201c565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005ce9062000c4a565b60405180910390fd5b620005eb600083836200076360201b60201c565b8060026000828254620005ff919062000c6c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006b2919062000cb8565b60405180910390a3620006ce600083836200076860201b60201c565b5050565b620006e26200034760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007086200041560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000761576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007589062000d25565b60405180910390fd5b565b505050565b505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007b3826200076d565b9150620007c0836200076d565b9250828202620007d0816200076d565b91508282048414831517620007ea57620007e962000777565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200082d826200076d565b91506200083a836200076d565b9250826200084d576200084c620007f1565b5b828204905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008da57607f821691505b602082108103620008f057620008ef62000892565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200095a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200091b565b6200096686836200091b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620009a9620009a36200099d846200076d565b6200097e565b6200076d565b9050919050565b6000819050919050565b620009c58362000988565b620009dd620009d482620009b0565b84845462000928565b825550505050565b600090565b620009f4620009e5565b62000a01818484620009ba565b505050565b5b8181101562000a295762000a1d600082620009ea565b60018101905062000a07565b5050565b601f82111562000a785762000a4281620008f6565b62000a4d846200090b565b8101602085101562000a5d578190505b62000a7562000a6c856200090b565b83018262000a06565b50505b505050565b600082821c905092915050565b600062000a9d6000198460080262000a7d565b1980831691505092915050565b600062000ab8838362000a8a565b9150826002028217905092915050565b62000ad38262000858565b67ffffffffffffffff81111562000aef5762000aee62000863565b5b62000afb8254620008c1565b62000b0882828562000a2d565b600060209050601f83116001811462000b40576000841562000b2b578287015190505b62000b37858262000aaa565b86555062000ba7565b601f19841662000b5086620008f6565b60005b8281101562000b7a5784890151825560018201915060208501945060208101905062000b53565b8683101562000b9a578489015162000b96601f89168262000a8a565b8355505b6001600288020188555050505b505050505050565b60008115159050919050565b62000bc68162000baf565b82525050565b600060208201905062000be3600083018462000bbb565b92915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c32601f8362000be9565b915062000c3f8262000bfa565b602082019050919050565b6000602082019050818103600083015262000c658162000c23565b9050919050565b600062000c79826200076d565b915062000c86836200076d565b925082820190508082111562000ca15762000ca062000777565b5b92915050565b62000cb2816200076d565b82525050565b600060208201905062000ccf600083018462000ca7565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000d0d60208362000be9565b915062000d1a8262000cd5565b602082019050919050565b6000602082019050818103600083015262000d408162000cfe565b9050919050565b613fe88062000d576000396000f3fe6080604052600436106102345760003560e01c80639a7a23d61161012e578063cf9522fd116100ab578063e2f456051161006f578063e2f4560514610819578063f2fde38b14610844578063f8b45b051461086d578063fe605c0414610898578063ffb54a99146108af5761023b565b8063cf9522fd14610753578063d45c0cae1461077e578063d81a4a89146107a7578063dd62ed3e146107b1578063dd854652146107ee5761023b565b8063c0246668116100f2578063c0246668146106a8578063c18bc195146106d1578063c8c8ebe4146106fa578063c8ce76fe14610725578063ce068ae81461073c5761023b565b80639a7a23d6146105b3578063a457c2d7146105dc578063a9059cbb14610619578063afa4f3b214610656578063b70143c91461067f5761023b565b8063414a8786116101bc57806370a082311161018057806370a08231146104e0578063715018a61461051d5780637571336a146105345780638da5cb5b1461055d57806395d89b41146105885761023b565b8063414a8786146103f757806349bd5a5e146104225780634fbee1931461044d578063583e05681461048a5780636ddd1713146104b55761023b565b806323b872dd1161020357806323b872dd146102fc578063311028af14610339578063313ce56714610364578063395093511461038f5780633ff52513146103cc5761023b565b806306fdde0314610240578063095ea7b31461026b57806318160ddd146102a85780631816467f146102d35761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102556108da565b6040516102629190612d47565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612e02565b61096c565b60405161029f9190612e5d565b60405180910390f35b3480156102b457600080fd5b506102bd61098f565b6040516102ca9190612e87565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190612ea2565b610999565b005b34801561030857600080fd5b50610323600480360381019061031e9190612ecf565b610a61565b6040516103309190612e5d565b60405180910390f35b34801561034557600080fd5b5061034e610a90565b60405161035b9190612e87565b60405180910390f35b34801561037057600080fd5b50610379610a96565b6040516103869190612f3e565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612e02565b610a9f565b6040516103c39190612e5d565b60405180910390f35b3480156103d857600080fd5b506103e1610ad6565b6040516103ee9190612e87565b60405180910390f35b34801561040357600080fd5b5061040c610adc565b6040516104199190612e87565b60405180910390f35b34801561042e57600080fd5b50610437610ae2565b6040516104449190612f68565b60405180910390f35b34801561045957600080fd5b50610474600480360381019061046f9190612ea2565b610b08565b6040516104819190612e5d565b60405180910390f35b34801561049657600080fd5b5061049f610b5e565b6040516104ac9190612fe2565b60405180910390f35b3480156104c157600080fd5b506104ca610b84565b6040516104d79190612e5d565b60405180910390f35b3480156104ec57600080fd5b5061050760048036038101906105029190612ea2565b610b97565b6040516105149190612e87565b60405180910390f35b34801561052957600080fd5b50610532610bdf565b005b34801561054057600080fd5b5061055b60048036038101906105569190613029565b610bf3565b005b34801561056957600080fd5b50610572610c56565b60405161057f9190612f68565b60405180910390f35b34801561059457600080fd5b5061059d610c80565b6040516105aa9190612d47565b60405180910390f35b3480156105bf57600080fd5b506105da60048036038101906105d59190613029565b610d12565b005b3480156105e857600080fd5b5061060360048036038101906105fe9190612e02565b610db8565b6040516106109190612e5d565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b9190612e02565b610e2f565b60405161064d9190612e5d565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190613069565b610e52565b005b34801561068b57600080fd5b506106a660048036038101906106a19190613069565b610e77565b005b3480156106b457600080fd5b506106cf60048036038101906106ca9190613029565b610f5f565b005b3480156106dd57600080fd5b506106f860048036038101906106f39190613069565b611010565b005b34801561070657600080fd5b5061070f6110ab565b60405161071c9190612e87565b60405180910390f35b34801561073157600080fd5b5061073a6110b1565b005b34801561074857600080fd5b506107516110d6565b005b34801561075f57600080fd5b50610768611166565b6040516107759190612e87565b60405180910390f35b34801561078a57600080fd5b506107a560048036038101906107a09190612e02565b61116c565b005b6107af61118c565b005b3480156107bd57600080fd5b506107d860048036038101906107d39190613096565b611552565b6040516107e59190612e87565b60405180910390f35b3480156107fa57600080fd5b506108036115d9565b6040516108109190612e87565b60405180910390f35b34801561082557600080fd5b5061082e6115df565b60405161083b9190612e87565b60405180910390f35b34801561085057600080fd5b5061086b60048036038101906108669190612ea2565b6115e5565b005b34801561087957600080fd5b50610882611668565b60405161088f9190612e87565b60405180910390f35b3480156108a457600080fd5b506108ad61166e565b005b3480156108bb57600080fd5b506108c461175b565b6040516108d19190612e5d565b60405180910390f35b6060600380546108e990613105565b80601f016020809104026020016040519081016040528092919081815260200182805461091590613105565b80156109625780601f1061093757610100808354040283529160200191610962565b820191906000526020600020905b81548152906001019060200180831161094557829003601f168201915b5050505050905090565b60008061097761176e565b9050610984818585611776565b600191505092915050565b6000600254905090565b6109a161193f565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080610a6c61176e565b9050610a798582856119bd565b610a84858585611a49565b60019150509392505050565b600a5481565b60006012905090565b600080610aaa61176e565b9050610acb818585610abc8589611552565b610ac69190613165565b611776565b600191505092915050565b60125481565b60115481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610be761193f565b610bf1600061238b565b565b610bfb61193f565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c8f90613105565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbb90613105565b8015610d085780601f10610cdd57610100808354040283529160200191610d08565b820191906000526020600020905b815481529060010190602001808311610ceb57829003601f168201915b5050505050905090565b610d1a61193f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da19061320b565b60405180910390fd5b610db48282612451565b5050565b600080610dc361176e565b90506000610dd18286611552565b905083811015610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d9061329d565b60405180910390fd5b610e238286868403611776565b60019250505092915050565b600080610e3a61176e565b9050610e47818585611a49565b600191505092915050565b610e5a61193f565b670de0b6b3a764000081610e6e91906132bd565b600d8190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb861176e565b73ffffffffffffffffffffffffffffffffffffffff1614610ed857600080fd5b6000610ee261098f565b90506000610eef30610b97565b9050600060648484610f0191906132bd565b610f0b919061332e565b905080821015610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f47906133ab565b60405180910390fd5b610f59816124f2565b50505050565b610f6761193f565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516110049190612e5d565b60405180910390a25050565b61101861193f565b670de0b6b3a76400006103e8600161102e61098f565b61103891906132bd565b611042919061332e565b61104c919061332e565b81101561108e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110859061343d565b60405180910390fd5b670de0b6b3a7640000816110a291906132bd565b600c8190555050565b600b5481565b6110b961193f565b60006110c361098f565b905080600b8190555080600c8190555050565b6110de61193f565b600e60009054906101000a900460ff161561112e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611125906134a9565b60405180910390fd5b6001600e60016101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff021916908315150217905550565b60105481565b61117533610b08565b61117e57600080fd5b6111888282612757565b5050565b61119461193f565b737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611216600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610bf3565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611283573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a791906134de565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135491906134de565b6040518363ffffffff1660e01b815260040161137192919061350b565b6020604051808303816000875af1158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b491906134de565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611421600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610bf3565b61144e600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612451565b61149b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611776565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306114e430610b97565b60008033426040518863ffffffff1660e01b815260040161150a9695949392919061356f565b60606040518083038185885af1158015611528573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061154d91906135e5565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f5481565b600d5481565b6115ed61193f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361165c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611653906136aa565b60405180910390fd5b6116658161238b565b50565b600c5481565b600047116116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a890613716565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116f261176e565b73ffffffffffffffffffffffffffffffffffffffff161461171257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611758573d6000803e3d6000fd5b50565b600e60009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc906137a8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b9061383a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119329190612e87565b60405180910390a3505050565b61194761176e565b73ffffffffffffffffffffffffffffffffffffffff16611965610c56565b73ffffffffffffffffffffffffffffffffffffffff16146119bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b2906138a6565b60405180910390fd5b565b60006119c98484611552565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a435781811015611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c90613912565b60405180910390fd5b611a428484848403611776565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaf906139a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e90613a36565b60405180910390fd5b60008103611b4057611b3b83836000612924565b612386565b611b48610c56565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bb65750611b86610c56565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bef5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c29575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c425750600960149054906101000a900460ff16155b1561202557600e60009054906101000a900460ff16611d3c57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cfc5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3290613aa2565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ddf5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e8657600b54811115611e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2090613b34565b60405180910390fd5b600c54611e3583610b97565b82611e409190613165565b1115611e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7890613ba0565b60405180910390fd5b612024565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f295750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f7857600b54811115611f73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6a90613c32565b60405180910390fd5b612023565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661202257600c54611fd583610b97565b82611fe09190613165565b1115612021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201890613ba0565b60405180910390fd5b5b5b5b5b600061203030610b97565b9050600080821190508080156120525750600e60019054906101000a900460ff165b801561206b5750600960149054906101000a900460ff16155b80156120c15750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121175750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561216d5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121b2576001600960146101000a81548160ff02191690831515021790555061219683612b9a565b6000600960146101000a81548160ff0219169083151502179055505b6000600960149054906101000a900460ff16159050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122685750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561227257600090505b6000811561237657601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123115761230a6013546122dd601254612c38565b6122e791906132bd565b6122fc60105488612c8190919063ffffffff16565b612c9790919063ffffffff16565b9050612352565b61234f601354612322601154612c38565b61232c91906132bd565b612341600f5488612c8190919063ffffffff16565b612c9790919063ffffffff16565b90505b600081111561236757612366873083612924565b5b80856123739190613c52565b94505b612381878787612924565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600267ffffffffffffffff81111561250f5761250e613c86565b5b60405190808252806020026020018201604052801561253d5781602001602082028036833780820191505090505b509050308160008151811061255557612554613cb5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262091906134de565b8160018151811061263457612633613cb5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061269b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611776565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612721959493929190613da2565b600060405180830381600087803b15801561273b57600080fd5b505af115801561274f573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bd90613e6e565b60405180910390fd5b6127d282600083612cad565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284f90613f00565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161290b9190612e87565b60405180910390a361291f83600084612cb2565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298a906139a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f990613a36565b60405180910390fd5b612a0d838383612cad565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8a90613f92565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b819190612e87565b60405180910390a3612b94848484612cb2565b50505050565b6000612ba530610b97565b90506000808203612bb7575050612c35565b600082118015612bc85750600d5482105b15612bd557819050612c29565b6000612bff6064612bf160105487612c8190919063ffffffff16565b612c9790919063ffffffff16565b90508084612c0d9190613c52565b9350600d54841115612c2357600d549150612c27565b8391505b505b612c32816124f2565b50505b50565b600080612c4661dead610b97565b118015612c535750600082115b612c5e576001612c7a565b60646001601354612c6f9190613c52565b612c79919061332e565b5b9050919050565b60008183612c8f91906132bd565b905092915050565b60008183612ca5919061332e565b905092915050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612cf1578082015181840152602081019050612cd6565b60008484015250505050565b6000601f19601f8301169050919050565b6000612d1982612cb7565b612d238185612cc2565b9350612d33818560208601612cd3565b612d3c81612cfd565b840191505092915050565b60006020820190508181036000830152612d618184612d0e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d9982612d6e565b9050919050565b612da981612d8e565b8114612db457600080fd5b50565b600081359050612dc681612da0565b92915050565b6000819050919050565b612ddf81612dcc565b8114612dea57600080fd5b50565b600081359050612dfc81612dd6565b92915050565b60008060408385031215612e1957612e18612d69565b5b6000612e2785828601612db7565b9250506020612e3885828601612ded565b9150509250929050565b60008115159050919050565b612e5781612e42565b82525050565b6000602082019050612e726000830184612e4e565b92915050565b612e8181612dcc565b82525050565b6000602082019050612e9c6000830184612e78565b92915050565b600060208284031215612eb857612eb7612d69565b5b6000612ec684828501612db7565b91505092915050565b600080600060608486031215612ee857612ee7612d69565b5b6000612ef686828701612db7565b9350506020612f0786828701612db7565b9250506040612f1886828701612ded565b9150509250925092565b600060ff82169050919050565b612f3881612f22565b82525050565b6000602082019050612f536000830184612f2f565b92915050565b612f6281612d8e565b82525050565b6000602082019050612f7d6000830184612f59565b92915050565b6000819050919050565b6000612fa8612fa3612f9e84612d6e565b612f83565b612d6e565b9050919050565b6000612fba82612f8d565b9050919050565b6000612fcc82612faf565b9050919050565b612fdc81612fc1565b82525050565b6000602082019050612ff76000830184612fd3565b92915050565b61300681612e42565b811461301157600080fd5b50565b60008135905061302381612ffd565b92915050565b600080604083850312156130405761303f612d69565b5b600061304e85828601612db7565b925050602061305f85828601613014565b9150509250929050565b60006020828403121561307f5761307e612d69565b5b600061308d84828501612ded565b91505092915050565b600080604083850312156130ad576130ac612d69565b5b60006130bb85828601612db7565b92505060206130cc85828601612db7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061311d57607f821691505b6020821081036131305761312f6130d6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061317082612dcc565b915061317b83612dcc565b925082820190508082111561319357613192613136565b5b92915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006131f5603983612cc2565b915061320082613199565b604082019050919050565b60006020820190508181036000830152613224816131e8565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613287602583612cc2565b91506132928261322b565b604082019050919050565b600060208201905081810360008301526132b68161327a565b9050919050565b60006132c882612dcc565b91506132d383612dcc565b92508282026132e181612dcc565b915082820484148315176132f8576132f7613136565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061333982612dcc565b915061334483612dcc565b925082613354576133536132ff565b5b828204905092915050565b7f4e6f7420656e6f75676820746f6b656e73000000000000000000000000000000600082015250565b6000613395601183612cc2565b91506133a08261335f565b602082019050919050565b600060208201905081810360008301526133c481613388565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60008201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b6000613427602583612cc2565b9150613432826133cb565b604082019050919050565b600060208201905081810360008301526134568161341a565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613493601783612cc2565b915061349e8261345d565b602082019050919050565b600060208201905081810360008301526134c281613486565b9050919050565b6000815190506134d881612da0565b92915050565b6000602082840312156134f4576134f3612d69565b5b6000613502848285016134c9565b91505092915050565b60006040820190506135206000830185612f59565b61352d6020830184612f59565b9392505050565b6000819050919050565b600061355961355461354f84613534565b612f83565b612dcc565b9050919050565b6135698161353e565b82525050565b600060c0820190506135846000830189612f59565b6135916020830188612e78565b61359e6040830187613560565b6135ab6060830186613560565b6135b86080830185612f59565b6135c560a0830184612e78565b979650505050505050565b6000815190506135df81612dd6565b92915050565b6000806000606084860312156135fe576135fd612d69565b5b600061360c868287016135d0565b935050602061361d868287016135d0565b925050604061362e868287016135d0565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613694602683612cc2565b915061369f82613638565b604082019050919050565b600060208201905081810360008301526136c381613687565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b6000613700601683612cc2565b915061370b826136ca565b602082019050919050565b6000602082019050818103600083015261372f816136f3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613792602483612cc2565b915061379d82613736565b604082019050919050565b600060208201905081810360008301526137c181613785565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613824602283612cc2565b915061382f826137c8565b604082019050919050565b6000602082019050818103600083015261385381613817565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613890602083612cc2565b915061389b8261385a565b602082019050919050565b600060208201905081810360008301526138bf81613883565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006138fc601d83612cc2565b9150613907826138c6565b602082019050919050565b6000602082019050818103600083015261392b816138ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061398e602583612cc2565b915061399982613932565b604082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a20602383612cc2565b9150613a2b826139c4565b604082019050919050565b60006020820190508181036000830152613a4f81613a13565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613a8c601683612cc2565b9150613a9782613a56565b602082019050919050565b60006020820190508181036000830152613abb81613a7f565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613b1e603583612cc2565b9150613b2982613ac2565b604082019050919050565b60006020820190508181036000830152613b4d81613b11565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613b8a601383612cc2565b9150613b9582613b54565b602082019050919050565b60006020820190508181036000830152613bb981613b7d565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613c1c603683612cc2565b9150613c2782613bc0565b604082019050919050565b60006020820190508181036000830152613c4b81613c0f565b9050919050565b6000613c5d82612dcc565b9150613c6883612dcc565b9250828203905081811115613c8057613c7f613136565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d1981612d8e565b82525050565b6000613d2b8383613d10565b60208301905092915050565b6000602082019050919050565b6000613d4f82613ce4565b613d598185613cef565b9350613d6483613d00565b8060005b83811015613d95578151613d7c8882613d1f565b9750613d8783613d37565b925050600181019050613d68565b5085935050505092915050565b600060a082019050613db76000830188612e78565b613dc46020830187613560565b8181036040830152613dd68186613d44565b9050613de56060830185612f59565b613df26080830184612e78565b9695505050505050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e58602183612cc2565b9150613e6382613dfc565b604082019050919050565b60006020820190508181036000830152613e8781613e4b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613eea602283612cc2565b9150613ef582613e8e565b604082019050919050565b60006020820190508181036000830152613f1981613edd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613f7c602683612cc2565b9150613f8782613f20565b604082019050919050565b60006020820190508181036000830152613fab81613f6f565b905091905056fea2646970667358221220048509d093d63ce5dee42b1d72a58684eb775571d778a29e1089a81033e49c1b64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102345760003560e01c80639a7a23d61161012e578063cf9522fd116100ab578063e2f456051161006f578063e2f4560514610819578063f2fde38b14610844578063f8b45b051461086d578063fe605c0414610898578063ffb54a99146108af5761023b565b8063cf9522fd14610753578063d45c0cae1461077e578063d81a4a89146107a7578063dd62ed3e146107b1578063dd854652146107ee5761023b565b8063c0246668116100f2578063c0246668146106a8578063c18bc195146106d1578063c8c8ebe4146106fa578063c8ce76fe14610725578063ce068ae81461073c5761023b565b80639a7a23d6146105b3578063a457c2d7146105dc578063a9059cbb14610619578063afa4f3b214610656578063b70143c91461067f5761023b565b8063414a8786116101bc57806370a082311161018057806370a08231146104e0578063715018a61461051d5780637571336a146105345780638da5cb5b1461055d57806395d89b41146105885761023b565b8063414a8786146103f757806349bd5a5e146104225780634fbee1931461044d578063583e05681461048a5780636ddd1713146104b55761023b565b806323b872dd1161020357806323b872dd146102fc578063311028af14610339578063313ce56714610364578063395093511461038f5780633ff52513146103cc5761023b565b806306fdde0314610240578063095ea7b31461026b57806318160ddd146102a85780631816467f146102d35761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102556108da565b6040516102629190612d47565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612e02565b61096c565b60405161029f9190612e5d565b60405180910390f35b3480156102b457600080fd5b506102bd61098f565b6040516102ca9190612e87565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190612ea2565b610999565b005b34801561030857600080fd5b50610323600480360381019061031e9190612ecf565b610a61565b6040516103309190612e5d565b60405180910390f35b34801561034557600080fd5b5061034e610a90565b60405161035b9190612e87565b60405180910390f35b34801561037057600080fd5b50610379610a96565b6040516103869190612f3e565b60405180910390f35b34801561039b57600080fd5b506103b660048036038101906103b19190612e02565b610a9f565b6040516103c39190612e5d565b60405180910390f35b3480156103d857600080fd5b506103e1610ad6565b6040516103ee9190612e87565b60405180910390f35b34801561040357600080fd5b5061040c610adc565b6040516104199190612e87565b60405180910390f35b34801561042e57600080fd5b50610437610ae2565b6040516104449190612f68565b60405180910390f35b34801561045957600080fd5b50610474600480360381019061046f9190612ea2565b610b08565b6040516104819190612e5d565b60405180910390f35b34801561049657600080fd5b5061049f610b5e565b6040516104ac9190612fe2565b60405180910390f35b3480156104c157600080fd5b506104ca610b84565b6040516104d79190612e5d565b60405180910390f35b3480156104ec57600080fd5b5061050760048036038101906105029190612ea2565b610b97565b6040516105149190612e87565b60405180910390f35b34801561052957600080fd5b50610532610bdf565b005b34801561054057600080fd5b5061055b60048036038101906105569190613029565b610bf3565b005b34801561056957600080fd5b50610572610c56565b60405161057f9190612f68565b60405180910390f35b34801561059457600080fd5b5061059d610c80565b6040516105aa9190612d47565b60405180910390f35b3480156105bf57600080fd5b506105da60048036038101906105d59190613029565b610d12565b005b3480156105e857600080fd5b5061060360048036038101906105fe9190612e02565b610db8565b6040516106109190612e5d565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b9190612e02565b610e2f565b60405161064d9190612e5d565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190613069565b610e52565b005b34801561068b57600080fd5b506106a660048036038101906106a19190613069565b610e77565b005b3480156106b457600080fd5b506106cf60048036038101906106ca9190613029565b610f5f565b005b3480156106dd57600080fd5b506106f860048036038101906106f39190613069565b611010565b005b34801561070657600080fd5b5061070f6110ab565b60405161071c9190612e87565b60405180910390f35b34801561073157600080fd5b5061073a6110b1565b005b34801561074857600080fd5b506107516110d6565b005b34801561075f57600080fd5b50610768611166565b6040516107759190612e87565b60405180910390f35b34801561078a57600080fd5b506107a560048036038101906107a09190612e02565b61116c565b005b6107af61118c565b005b3480156107bd57600080fd5b506107d860048036038101906107d39190613096565b611552565b6040516107e59190612e87565b60405180910390f35b3480156107fa57600080fd5b506108036115d9565b6040516108109190612e87565b60405180910390f35b34801561082557600080fd5b5061082e6115df565b60405161083b9190612e87565b60405180910390f35b34801561085057600080fd5b5061086b60048036038101906108669190612ea2565b6115e5565b005b34801561087957600080fd5b50610882611668565b60405161088f9190612e87565b60405180910390f35b3480156108a457600080fd5b506108ad61166e565b005b3480156108bb57600080fd5b506108c461175b565b6040516108d19190612e5d565b60405180910390f35b6060600380546108e990613105565b80601f016020809104026020016040519081016040528092919081815260200182805461091590613105565b80156109625780601f1061093757610100808354040283529160200191610962565b820191906000526020600020905b81548152906001019060200180831161094557829003601f168201915b5050505050905090565b60008061097761176e565b9050610984818585611776565b600191505092915050565b6000600254905090565b6109a161193f565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080610a6c61176e565b9050610a798582856119bd565b610a84858585611a49565b60019150509392505050565b600a5481565b60006012905090565b600080610aaa61176e565b9050610acb818585610abc8589611552565b610ac69190613165565b611776565b600191505092915050565b60125481565b60115481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610be761193f565b610bf1600061238b565b565b610bfb61193f565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c8f90613105565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbb90613105565b8015610d085780601f10610cdd57610100808354040283529160200191610d08565b820191906000526020600020905b815481529060010190602001808311610ceb57829003601f168201915b5050505050905090565b610d1a61193f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da19061320b565b60405180910390fd5b610db48282612451565b5050565b600080610dc361176e565b90506000610dd18286611552565b905083811015610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d9061329d565b60405180910390fd5b610e238286868403611776565b60019250505092915050565b600080610e3a61176e565b9050610e47818585611a49565b600191505092915050565b610e5a61193f565b670de0b6b3a764000081610e6e91906132bd565b600d8190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eb861176e565b73ffffffffffffffffffffffffffffffffffffffff1614610ed857600080fd5b6000610ee261098f565b90506000610eef30610b97565b9050600060648484610f0191906132bd565b610f0b919061332e565b905080821015610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f47906133ab565b60405180910390fd5b610f59816124f2565b50505050565b610f6761193f565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516110049190612e5d565b60405180910390a25050565b61101861193f565b670de0b6b3a76400006103e8600161102e61098f565b61103891906132bd565b611042919061332e565b61104c919061332e565b81101561108e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110859061343d565b60405180910390fd5b670de0b6b3a7640000816110a291906132bd565b600c8190555050565b600b5481565b6110b961193f565b60006110c361098f565b905080600b8190555080600c8190555050565b6110de61193f565b600e60009054906101000a900460ff161561112e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611125906134a9565b60405180910390fd5b6001600e60016101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff021916908315150217905550565b60105481565b61117533610b08565b61117e57600080fd5b6111888282612757565b5050565b61119461193f565b737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611216600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610bf3565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611283573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a791906134de565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135491906134de565b6040518363ffffffff1660e01b815260040161137192919061350b565b6020604051808303816000875af1158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b491906134de565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611421600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001610bf3565b61144e600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612451565b61149b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611776565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306114e430610b97565b60008033426040518863ffffffff1660e01b815260040161150a9695949392919061356f565b60606040518083038185885af1158015611528573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061154d91906135e5565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f5481565b600d5481565b6115ed61193f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361165c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611653906136aa565b60405180910390fd5b6116658161238b565b50565b600c5481565b600047116116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a890613716565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116f261176e565b73ffffffffffffffffffffffffffffffffffffffff161461171257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611758573d6000803e3d6000fd5b50565b600e60009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc906137a8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b9061383a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119329190612e87565b60405180910390a3505050565b61194761176e565b73ffffffffffffffffffffffffffffffffffffffff16611965610c56565b73ffffffffffffffffffffffffffffffffffffffff16146119bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b2906138a6565b60405180910390fd5b565b60006119c98484611552565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a435781811015611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c90613912565b60405180910390fd5b611a428484848403611776565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaf906139a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e90613a36565b60405180910390fd5b60008103611b4057611b3b83836000612924565b612386565b611b48610c56565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bb65750611b86610c56565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611bef5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c29575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c425750600960149054906101000a900460ff16155b1561202557600e60009054906101000a900460ff16611d3c57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cfc5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3290613aa2565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ddf5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e8657600b54811115611e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2090613b34565b60405180910390fd5b600c54611e3583610b97565b82611e409190613165565b1115611e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7890613ba0565b60405180910390fd5b612024565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f295750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f7857600b54811115611f73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6a90613c32565b60405180910390fd5b612023565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661202257600c54611fd583610b97565b82611fe09190613165565b1115612021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201890613ba0565b60405180910390fd5b5b5b5b5b600061203030610b97565b9050600080821190508080156120525750600e60019054906101000a900460ff165b801561206b5750600960149054906101000a900460ff16155b80156120c15750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121175750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561216d5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121b2576001600960146101000a81548160ff02191690831515021790555061219683612b9a565b6000600960146101000a81548160ff0219169083151502179055505b6000600960149054906101000a900460ff16159050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122685750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561227257600090505b6000811561237657601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123115761230a6013546122dd601254612c38565b6122e791906132bd565b6122fc60105488612c8190919063ffffffff16565b612c9790919063ffffffff16565b9050612352565b61234f601354612322601154612c38565b61232c91906132bd565b612341600f5488612c8190919063ffffffff16565b612c9790919063ffffffff16565b90505b600081111561236757612366873083612924565b5b80856123739190613c52565b94505b612381878787612924565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600267ffffffffffffffff81111561250f5761250e613c86565b5b60405190808252806020026020018201604052801561253d5781602001602082028036833780820191505090505b509050308160008151811061255557612554613cb5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262091906134de565b8160018151811061263457612633613cb5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061269b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611776565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612721959493929190613da2565b600060405180830381600087803b15801561273b57600080fd5b505af115801561274f573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bd90613e6e565b60405180910390fd5b6127d282600083612cad565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284f90613f00565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161290b9190612e87565b60405180910390a361291f83600084612cb2565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298a906139a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f990613a36565b60405180910390fd5b612a0d838383612cad565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8a90613f92565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b819190612e87565b60405180910390a3612b94848484612cb2565b50505050565b6000612ba530610b97565b90506000808203612bb7575050612c35565b600082118015612bc85750600d5482105b15612bd557819050612c29565b6000612bff6064612bf160105487612c8190919063ffffffff16565b612c9790919063ffffffff16565b90508084612c0d9190613c52565b9350600d54841115612c2357600d549150612c27565b8391505b505b612c32816124f2565b50505b50565b600080612c4661dead610b97565b118015612c535750600082115b612c5e576001612c7a565b60646001601354612c6f9190613c52565b612c79919061332e565b5b9050919050565b60008183612c8f91906132bd565b905092915050565b60008183612ca5919061332e565b905092915050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612cf1578082015181840152602081019050612cd6565b60008484015250505050565b6000601f19601f8301169050919050565b6000612d1982612cb7565b612d238185612cc2565b9350612d33818560208601612cd3565b612d3c81612cfd565b840191505092915050565b60006020820190508181036000830152612d618184612d0e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d9982612d6e565b9050919050565b612da981612d8e565b8114612db457600080fd5b50565b600081359050612dc681612da0565b92915050565b6000819050919050565b612ddf81612dcc565b8114612dea57600080fd5b50565b600081359050612dfc81612dd6565b92915050565b60008060408385031215612e1957612e18612d69565b5b6000612e2785828601612db7565b9250506020612e3885828601612ded565b9150509250929050565b60008115159050919050565b612e5781612e42565b82525050565b6000602082019050612e726000830184612e4e565b92915050565b612e8181612dcc565b82525050565b6000602082019050612e9c6000830184612e78565b92915050565b600060208284031215612eb857612eb7612d69565b5b6000612ec684828501612db7565b91505092915050565b600080600060608486031215612ee857612ee7612d69565b5b6000612ef686828701612db7565b9350506020612f0786828701612db7565b9250506040612f1886828701612ded565b9150509250925092565b600060ff82169050919050565b612f3881612f22565b82525050565b6000602082019050612f536000830184612f2f565b92915050565b612f6281612d8e565b82525050565b6000602082019050612f7d6000830184612f59565b92915050565b6000819050919050565b6000612fa8612fa3612f9e84612d6e565b612f83565b612d6e565b9050919050565b6000612fba82612f8d565b9050919050565b6000612fcc82612faf565b9050919050565b612fdc81612fc1565b82525050565b6000602082019050612ff76000830184612fd3565b92915050565b61300681612e42565b811461301157600080fd5b50565b60008135905061302381612ffd565b92915050565b600080604083850312156130405761303f612d69565b5b600061304e85828601612db7565b925050602061305f85828601613014565b9150509250929050565b60006020828403121561307f5761307e612d69565b5b600061308d84828501612ded565b91505092915050565b600080604083850312156130ad576130ac612d69565b5b60006130bb85828601612db7565b92505060206130cc85828601612db7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061311d57607f821691505b6020821081036131305761312f6130d6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061317082612dcc565b915061317b83612dcc565b925082820190508082111561319357613192613136565b5b92915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006131f5603983612cc2565b915061320082613199565b604082019050919050565b60006020820190508181036000830152613224816131e8565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613287602583612cc2565b91506132928261322b565b604082019050919050565b600060208201905081810360008301526132b68161327a565b9050919050565b60006132c882612dcc565b91506132d383612dcc565b92508282026132e181612dcc565b915082820484148315176132f8576132f7613136565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061333982612dcc565b915061334483612dcc565b925082613354576133536132ff565b5b828204905092915050565b7f4e6f7420656e6f75676820746f6b656e73000000000000000000000000000000600082015250565b6000613395601183612cc2565b91506133a08261335f565b602082019050919050565b600060208201905081810360008301526133c481613388565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c6574206c6f776572207468616e60008201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b6000613427602583612cc2565b9150613432826133cb565b604082019050919050565b600060208201905081810360008301526134568161341a565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613493601783612cc2565b915061349e8261345d565b602082019050919050565b600060208201905081810360008301526134c281613486565b9050919050565b6000815190506134d881612da0565b92915050565b6000602082840312156134f4576134f3612d69565b5b6000613502848285016134c9565b91505092915050565b60006040820190506135206000830185612f59565b61352d6020830184612f59565b9392505050565b6000819050919050565b600061355961355461354f84613534565b612f83565b612dcc565b9050919050565b6135698161353e565b82525050565b600060c0820190506135846000830189612f59565b6135916020830188612e78565b61359e6040830187613560565b6135ab6060830186613560565b6135b86080830185612f59565b6135c560a0830184612e78565b979650505050505050565b6000815190506135df81612dd6565b92915050565b6000806000606084860312156135fe576135fd612d69565b5b600061360c868287016135d0565b935050602061361d868287016135d0565b925050604061362e868287016135d0565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613694602683612cc2565b915061369f82613638565b604082019050919050565b600060208201905081810360008301526136c381613687565b9050919050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b6000613700601683612cc2565b915061370b826136ca565b602082019050919050565b6000602082019050818103600083015261372f816136f3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613792602483612cc2565b915061379d82613736565b604082019050919050565b600060208201905081810360008301526137c181613785565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613824602283612cc2565b915061382f826137c8565b604082019050919050565b6000602082019050818103600083015261385381613817565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613890602083612cc2565b915061389b8261385a565b602082019050919050565b600060208201905081810360008301526138bf81613883565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006138fc601d83612cc2565b9150613907826138c6565b602082019050919050565b6000602082019050818103600083015261392b816138ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061398e602583612cc2565b915061399982613932565b604082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a20602383612cc2565b9150613a2b826139c4565b604082019050919050565b60006020820190508181036000830152613a4f81613a13565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613a8c601683612cc2565b9150613a9782613a56565b602082019050919050565b60006020820190508181036000830152613abb81613a7f565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000613b1e603583612cc2565b9150613b2982613ac2565b604082019050919050565b60006020820190508181036000830152613b4d81613b11565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613b8a601383612cc2565b9150613b9582613b54565b602082019050919050565b60006020820190508181036000830152613bb981613b7d565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000613c1c603683612cc2565b9150613c2782613bc0565b604082019050919050565b60006020820190508181036000830152613c4b81613c0f565b9050919050565b6000613c5d82612dcc565b9150613c6883612dcc565b9250828203905081811115613c8057613c7f613136565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d1981612d8e565b82525050565b6000613d2b8383613d10565b60208301905092915050565b6000602082019050919050565b6000613d4f82613ce4565b613d598185613cef565b9350613d6483613d00565b8060005b83811015613d95578151613d7c8882613d1f565b9750613d8783613d37565b925050600181019050613d68565b5085935050505092915050565b600060a082019050613db76000830188612e78565b613dc46020830187613560565b8181036040830152613dd68186613d44565b9050613de56060830185612f59565b613df26080830184612e78565b9695505050505050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e58602183612cc2565b9150613e6382613dfc565b604082019050919050565b60006020820190508181036000830152613e8781613e4b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613eea602283612cc2565b9150613ef582613e8e565b604082019050919050565b60006020820190508181036000830152613f1981613edd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613f7c602683612cc2565b9150613f8782613f20565b604082019050919050565b60006020820190508181036000830152613fab81613f6f565b905091905056fea2646970667358221220048509d093d63ce5dee42b1d72a58684eb775571d778a29e1089a81033e49c1b64736f6c63430008130033
Deployed Bytecode Sourcemap
14687:9687:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9915:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10847:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10236:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18207:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11056:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15129:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10135:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11325:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15652:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15616:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14814:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19521:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14765:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15509:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10352:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1008:103;;;;;;;;;;;;;:::i;:::-;;18032:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;773:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10023:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19054:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11571:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10487:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23089:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23224:407;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18839:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18402:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15205:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22537:194;;;;;;;;;;;;;:::i;:::-;;17828:196;;;;;;;;;;;;;:::i;:::-;;15581:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22974:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17030:753;;;:::i;:::-;;10688:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15549:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15379:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1119:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15292:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22739:227;;;;;;;;;;;;;:::i;:::-;;15471:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9915:100;9969:13;10002:5;9995:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9915:100;:::o;10847:201::-;10930:4;10947:13;10963:12;:10;:12::i;:::-;10947:28;;10986:32;10995:5;11002:7;11011:6;10986:8;:32::i;:::-;11036:4;11029:11;;;10847:201;;;;:::o;10236:108::-;10297:7;10324:12;;10317:19;;10236:108;:::o;18207:187::-;732:13;:11;:13::i;:::-;18341:9:::1;;;;;;;;;;;18310:41;;18327:12;18310:41;;;;;;;;;;;;18374:12;18362:9;;:24;;;;;;;;;;;;;;;;;;18207:187:::0;:::o;11056:261::-;11153:4;11170:15;11188:12;:10;:12::i;:::-;11170:30;;11211:38;11227:4;11233:7;11242:6;11211:15;:38::i;:::-;11260:27;11270:4;11276:2;11280:6;11260:9;:27::i;:::-;11305:4;11298:11;;;11056:261;;;;;:::o;15129:55::-;;;;:::o;10135:93::-;10193:5;10218:2;10211:9;;10135:93;:::o;11325:238::-;11413:4;11430:13;11446:12;:10;:12::i;:::-;11430:28;;11469:64;11478:5;11485:7;11522:10;11494:25;11504:5;11511:7;11494:9;:25::i;:::-;:38;;;;:::i;:::-;11469:8;:64::i;:::-;11551:4;11544:11;;;11325:238;;;;:::o;15652:30::-;;;;:::o;15616:29::-;;;;:::o;14814:28::-;;;;;;;;;;;;;:::o;19521:126::-;19587:4;19611:19;:28;19631:7;19611:28;;;;;;;;;;;;;;;;;;;;;;;;;19604:35;;19521:126;;;:::o;14765:42::-;;;;;;;;;;;;;:::o;15509:31::-;;;;;;;;;;;;;:::o;10352:127::-;10426:7;10453:9;:18;10463:7;10453:18;;;;;;;;;;;;;;;;10446:25;;10352:127;;;:::o;1008:103::-;732:13;:11;:13::i;:::-;1073:30:::1;1100:1;1073:18;:30::i;:::-;1008:103::o:0;18032:167::-;732:13;:11;:13::i;:::-;18187:4:::1;18145:31;:39;18177:6;18145:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;18032:167:::0;;:::o;773:87::-;819:7;846:6;;;;;;;;;;;839:13;;773:87;:::o;10023:104::-;10079:13;10112:7;10105:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10023:104;:::o;19054:265::-;732:13;:11;:13::i;:::-;19184::::1;;;;;;;;;;;19176:21;;:4;:21;;::::0;19168:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;19270:41;19299:4;19305:5;19270:28;:41::i;:::-;19054:265:::0;;:::o;11571:436::-;11664:4;11681:13;11697:12;:10;:12::i;:::-;11681:28;;11720:24;11747:25;11757:5;11764:7;11747:9;:25::i;:::-;11720:52;;11811:15;11791:16;:35;;11783:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11904:60;11913:5;11920:7;11948:15;11929:16;:34;11904:8;:60::i;:::-;11995:4;11988:11;;;;11571:436;;;;:::o;10487:193::-;10566:4;10583:13;10599:12;:10;:12::i;:::-;10583:28;;10622;10632:5;10639:2;10643:6;10622:9;:28::i;:::-;10668:4;10661:11;;;10487:193;;;;:::o;23089:127::-;732:13;:11;:13::i;:::-;23199:8:::1;23188:7;:20;;;;:::i;:::-;23167:18;:41;;;;23089:127:::0;:::o;23224:407::-;23305:13;;;;;;;;;;;23289:29;;:12;:10;:12::i;:::-;:29;;;23281:38;;;;;;23332:25;23360:13;:11;:13::i;:::-;23332:41;;23384:23;23410:24;23428:4;23410:9;:24::i;:::-;23384:50;;23445:23;23501:3;23491:7;23471:17;:27;;;;:::i;:::-;:33;;;;:::i;:::-;23445:59;;23542:15;23523;:34;;23515:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;23590:33;23607:15;23590:16;:33::i;:::-;23270:361;;;23224:407;:::o;18839:207::-;732:13;:11;:13::i;:::-;18980:8:::1;18949:19;:28;18969:7;18949:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;19020:7;19004:34;;;19029:8;19004:34;;;;;;:::i;:::-;;;;;;;;18839:207:::0;;:::o;18402:259::-;732:13;:11;:13::i;:::-;18565:4:::1;18557;18552:1;18536:13;:11;:13::i;:::-;:17;;;;:::i;:::-;18535:26;;;;:::i;:::-;18534:35;;;;:::i;:::-;18518:12;:51;;18510:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;18649:4;18634:12;:19;;;;:::i;:::-;18622:9;:31;;;;18402:259:::0;:::o;15205:68::-;;;;:::o;22537:194::-;732:13;:11;:13::i;:::-;22591:25:::1;22619:13;:11;:13::i;:::-;22591:41;;22666:17;22643:20;:40;;;;22706:17;22694:9;:29;;;;22580:151;22537:194::o:0;17828:196::-;732:13;:11;:13::i;:::-;17918:11:::1;;;;;;;;;;;17917:12;17909:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;17983:4;17969:11;;:18;;;;;;;;;;;;;;;;;;18012:4;17998:11;;:18;;;;;;;;;;;;;;;;;;17828:196::o:0;15581:26::-;;;;:::o;22974:107::-;16034:30;16053:10;16034:18;:30::i;:::-;16026:39;;;;;;23052:21:::1;23058:6;23066;23052:5;:21::i;:::-;22974:107:::0;;:::o;17030:753::-;732:13;:11;:13::i;:::-;17163:42:::1;17125:16;;:81;;;;;;;;;;;;;;;;;;17217:58;17251:16;;;;;;;;;;;17270:4;17217:25;:58::i;:::-;17322:16;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17304:56;;;17369:4;17376:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17304:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17288:13;;:112;;;;;;;;;;;;;;;;;;17427:55;17461:13;;;;;;;;;;;17477:4;17427:25;:55::i;:::-;17495:58;17532:13;;;;;;;;;;;17548:4;17495:28;:58::i;:::-;17572:69;17589:4;17604:16;;;;;;;;;;;17623:17;17572:8;:69::i;:::-;17654:16;;;;;;;;;;;:32;;;17694:9;17713:4;17719:24;17737:4;17719:9;:24::i;:::-;17744:1;17746::::0;17748:10:::1;17759:15;17654:121;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17030:753::o:0;10688:151::-;10777:7;10804:11;:18;10816:5;10804:18;;;;;;;;;;;;;;;:27;10823:7;10804:27;;;;;;;;;;;;;;;;10797:34;;10688:151;;;;:::o;15549:25::-;;;;:::o;15379:68::-;;;;:::o;1119:201::-;732:13;:11;:13::i;:::-;1228:1:::1;1208:22;;:8;:22;;::::0;1200:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1284:28;1303:8;1284:18;:28::i;:::-;1119:201:::0;:::o;15292:57::-;;;;:::o;22739:227::-;22819:1;22795:21;:25;22787:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;22882:13;;;;;;;;;;;22866:29;;:12;:10;:12::i;:::-;:29;;;22858:38;;;;;;22915:10;22907:28;;:51;22936:21;22907:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22739:227::o;15471:31::-;;;;;;;;;;;;;:::o;246:98::-;299:7;326:10;319:17;;246:98;:::o;13710:346::-;13829:1;13812:19;;:5;:19;;;13804:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13910:1;13891:21;;:7;:21;;;13883:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13994:6;13964:11;:18;13976:5;13964:18;;;;;;;;;;;;;;;:27;13983:7;13964:27;;;;;;;;;;;;;;;:36;;;;14032:7;14016:32;;14025:5;14016:32;;;14041:6;14016:32;;;;;;:::i;:::-;;;;;;;;13710:346;;;:::o;868:132::-;943:12;:10;:12::i;:::-;932:23;;:7;:5;:7::i;:::-;:23;;;924:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;868:132::o;14064:419::-;14165:24;14192:25;14202:5;14209:7;14192:9;:25::i;:::-;14165:52;;14252:17;14232:16;:37;14228:248;;14314:6;14294:16;:26;;14286:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14398:51;14407:5;14414:7;14442:6;14423:16;:25;14398:8;:51::i;:::-;14228:248;14154:329;14064:419;;;:::o;19655:2390::-;19771:1;19755:18;;:4;:18;;;19747:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19848:1;19834:16;;:2;:16;;;19826:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19925:1;19915:6;:11;19911:93;;19943:28;19959:4;19965:2;19969:1;19943:15;:28::i;:::-;19986:7;;19911:93;20028:7;:5;:7::i;:::-;20020:15;;:4;:15;;;;:32;;;;;20045:7;:5;:7::i;:::-;20039:13;;:2;:13;;;;20020:32;:52;;;;;20070:1;20056:16;;:2;:16;;;;20020:52;:77;;;;;20090:6;20076:21;;:2;:21;;;;20020:77;:90;;;;;20102:8;;;;;;;;;;;20101:9;20020:90;20016:996;;;20134:11;;;;;;;;;;;20129:140;;20174:19;:25;20194:4;20174:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;20203:19;:23;20223:2;20203:23;;;;;;;;;;;;;;;;;;;;;;;;;20174:52;20166:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;20129:140;20289:25;:31;20315:4;20289:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20325:31;:35;20357:2;20325:35;;;;;;;;;;;;;;;;;;;;;;;;;20324:36;20289:71;20285:716;;;20413:20;;20403:6;:30;;20395:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;20544:9;;20527:13;20537:2;20527:9;:13::i;:::-;20518:6;:22;;;;:::i;:::-;:35;;20510:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20285:716;;;20618:25;:29;20644:2;20618:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20652:31;:37;20684:4;20652:37;;;;;;;;;;;;;;;;;;;;;;;;;20651:38;20618:71;20614:387;;;20728:20;;20718:6;:30;;20710:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;20614:387;;;20862:31;:35;20894:2;20862:35;;;;;;;;;;;;;;;;;;;;;;;;;20857:144;;20952:9;;20935:13;20945:2;20935:9;:13::i;:::-;20926:6;:22;;;;:::i;:::-;:35;;20918:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20857:144;20614:387;20285:716;20016:996;21024:28;21055:24;21073:4;21055:9;:24::i;:::-;21024:55;;21092:12;21130:1;21107:20;:24;21092:39;;21148:7;:22;;;;;21159:11;;;;;;;;;;;21148:22;:35;;;;;21175:8;;;;;;;;;;;21174:9;21148:35;:71;;;;;21188:25;:31;21214:4;21188:31;;;;;;;;;;;;;;;;;;;;;;;;;21187:32;21148:71;:101;;;;;21224:19;:25;21244:4;21224:25;;;;;;;;;;;;;;;;;;;;;;;;;21223:26;21148:101;:129;;;;;21254:19;:23;21274:2;21254:23;;;;;;;;;;;;;;;;;;;;;;;;;21253:24;21148:129;21144:239;;;21305:4;21294:8;;:15;;;;;;;;;;;;;;;;;;21324:16;21333:6;21324:8;:16::i;:::-;21366:5;21355:8;;:16;;;;;;;;;;;;;;;;;;21144:239;21395:12;21411:8;;;;;;;;;;;21410:9;21395:24;;21436:19;:25;21456:4;21436:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;21465:19;:23;21485:2;21465:23;;;;;;;;;;;;;;;;;;;;;;;;;21436:52;21432:100;;;21515:5;21505:15;;21432:100;21544:12;21577:7;21573:421;;;21605:25;:29;21631:2;21605:29;;;;;;;;;;;;;;;;;;;;;;;;;21601:266;;;21662:65;21712:14;;21686:23;21697:11;;21686:10;:23::i;:::-;:40;;;;:::i;:::-;21662:19;21673:7;;21662:6;:10;;:19;;;;:::i;:::-;:23;;:65;;;;:::i;:::-;21655:72;;21601:266;;;21788:63;21836:14;;21811:22;21822:10;;21811;:22::i;:::-;:39;;;;:::i;:::-;21788:18;21799:6;;21788;:10;;:18;;;;:::i;:::-;:22;;:63;;;;:::i;:::-;21781:70;;21601:266;21890:1;21883:4;:8;21879:83;;;21908:42;21924:4;21938;21945;21908:15;:42::i;:::-;21879:83;21982:4;21972:14;;;;;:::i;:::-;;;21573:421;22004:33;22020:4;22026:2;22030:6;22004:15;:33::i;:::-;19734:2311;;;;19655:2390;;;;:::o;1328:191::-;1402:16;1421:6;;;;;;;;;;;1402:25;;1447:8;1438:6;;:17;;;;;;;;;;;;;;;;;;1502:8;1471:40;;1492:8;1471:40;;;;;;;;;;;;1391:128;1328:191;:::o;19327:186::-;19444:5;19410:25;:31;19436:4;19410:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;19499:5;19465:40;;19493:4;19465:40;;;;;;;;;;;;19327:186;;:::o;22053:476::-;22121:21;22159:1;22145:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22121:40;;22190:4;22172;22177:1;22172:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22216:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22206:4;22211:1;22206:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;22250:63;22267:4;22282:16;;;;;;;;;;;22301:11;22250:8;:63::i;:::-;22324:16;;;;;;;;;;;:67;;;22406:11;22432:1;22448:4;22467:13;;;;;;;;;;;22495:15;22324:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22108:421;22053:476;:::o;13107:595::-;13210:1;13191:21;;:7;:21;;;13183:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13263:49;13284:7;13301:1;13305:6;13263:20;:49::i;:::-;13325:22;13350:9;:18;13360:7;13350:18;;;;;;;;;;;;;;;;13325:43;;13405:6;13387:14;:24;;13379:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13524:6;13507:14;:23;13486:9;:18;13496:7;13486:18;;;;;;;;;;;;;;;:44;;;;13561:6;13545:12;;:22;;;;;;;;;;;13622:1;13596:37;;13605:7;13596:37;;;13626:6;13596:37;;;;;;:::i;:::-;;;;;;;;13646:48;13666:7;13683:1;13687:6;13646:19;:48::i;:::-;13172:530;13107:595;;:::o;12015:641::-;12128:1;12112:18;;:4;:18;;;12104:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12205:1;12191:16;;:2;:16;;;12183:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12260:38;12281:4;12287:2;12291:6;12260:20;:38::i;:::-;12311:19;12333:9;:15;12343:4;12333:15;;;;;;;;;;;;;;;;12311:37;;12382:6;12367:11;:21;;12359:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12499:6;12485:11;:20;12467:9;:15;12477:4;12467:15;;;;;;;;;;;;;;;:38;;;;12537:6;12520:9;:13;12530:2;12520:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12587:2;12572:26;;12581:4;12572:26;;;12591:6;12572:26;;;;;;:::i;:::-;;;;;;;;12611:37;12631:4;12637:2;12641:6;12611:19;:37::i;:::-;12093:563;12015:641;;;:::o;23639:728::-;23718:23;23744:24;23762:4;23744:9;:24::i;:::-;23718:50;;23779:20;23835:1;23816:15;:20;23812:505;;23853:7;;;;23812:505;23908:1;23890:15;:19;:59;;;;;23931:18;;23913:15;:36;23890:59;23887:430;;;23981:15;23966:30;;23887:430;;;24038:21;24062:28;24086:3;24062:19;24073:7;;24062:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;24038:52;;24115:13;24105:23;;;;;:::i;:::-;;;24156:18;;24147:6;:27;24143:163;;;24210:18;;24195:33;;24143:163;;;24284:6;24269:21;;24143:163;24023:294;23887:430;24329:30;24346:12;24329:16;:30::i;:::-;23681:686;;23639:728;;:::o;18669:162::-;18726:7;18778:1;18753:22;14972:6;18753:9;:22::i;:::-;:26;:37;;;;;18789:1;18783:3;:7;18753:37;:70;;18822:1;18753:70;;;18815:3;18810:1;18795:14;;:16;;;;:::i;:::-;18794:24;;;;:::i;:::-;18753:70;18746:77;;18669:162;;;:::o;8368:98::-;8426:7;8457:1;8453;:5;;;;:::i;:::-;8446:12;;8368:98;;;;:::o;8474:::-;8532:7;8563:1;8559;:5;;;;:::i;:::-;8552:12;;8474:98;;;;:::o;14491:91::-;;;;:::o;14590:90::-;;;;:::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;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:60::-;5568:3;5589:5;5582:12;;5540:60;;;:::o;5606:142::-;5656:9;5689:53;5707:34;5716:24;5734:5;5716:24;:::i;:::-;5707:34;:::i;:::-;5689:53;:::i;:::-;5676:66;;5606:142;;;:::o;5754:126::-;5804:9;5837:37;5868:5;5837:37;:::i;:::-;5824:50;;5754:126;;;:::o;5886:152::-;5962:9;5995:37;6026:5;5995:37;:::i;:::-;5982:50;;5886:152;;;:::o;6044:183::-;6157:63;6214:5;6157:63;:::i;:::-;6152:3;6145:76;6044:183;;:::o;6233:274::-;6352:4;6390:2;6379:9;6375:18;6367:26;;6403:97;6497:1;6486:9;6482:17;6473:6;6403:97;:::i;:::-;6233:274;;;;:::o;6513:116::-;6583:21;6598:5;6583:21;:::i;:::-;6576:5;6573:32;6563:60;;6619:1;6616;6609:12;6563:60;6513:116;:::o;6635:133::-;6678:5;6716:6;6703:20;6694:29;;6732:30;6756:5;6732:30;:::i;:::-;6635:133;;;;:::o;6774:468::-;6839:6;6847;6896:2;6884:9;6875:7;6871:23;6867:32;6864:119;;;6902:79;;:::i;:::-;6864:119;7022:1;7047:53;7092:7;7083:6;7072:9;7068:22;7047:53;:::i;:::-;7037:63;;6993:117;7149:2;7175:50;7217:7;7208:6;7197:9;7193:22;7175:50;:::i;:::-;7165:60;;7120:115;6774:468;;;;;:::o;7248:329::-;7307:6;7356:2;7344:9;7335:7;7331:23;7327:32;7324:119;;;7362:79;;:::i;:::-;7324:119;7482:1;7507:53;7552:7;7543:6;7532:9;7528:22;7507:53;:::i;:::-;7497:63;;7453:117;7248:329;;;;:::o;7583:474::-;7651:6;7659;7708:2;7696:9;7687:7;7683:23;7679:32;7676:119;;;7714:79;;:::i;:::-;7676:119;7834:1;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7805:117;7961:2;7987:53;8032:7;8023:6;8012:9;8008:22;7987:53;:::i;:::-;7977:63;;7932:118;7583:474;;;;;:::o;8063:180::-;8111:77;8108:1;8101:88;8208:4;8205:1;8198:15;8232:4;8229:1;8222:15;8249:320;8293:6;8330:1;8324:4;8320:12;8310:22;;8377:1;8371:4;8367:12;8398:18;8388:81;;8454:4;8446:6;8442:17;8432:27;;8388:81;8516:2;8508:6;8505:14;8485:18;8482:38;8479:84;;8535:18;;:::i;:::-;8479:84;8300:269;8249:320;;;:::o;8575:180::-;8623:77;8620:1;8613:88;8720:4;8717:1;8710:15;8744:4;8741:1;8734:15;8761:191;8801:3;8820:20;8838:1;8820:20;:::i;:::-;8815:25;;8854:20;8872:1;8854:20;:::i;:::-;8849:25;;8897:1;8894;8890:9;8883:16;;8918:3;8915:1;8912:10;8909:36;;;8925:18;;:::i;:::-;8909:36;8761:191;;;;:::o;8958:244::-;9098:34;9094:1;9086:6;9082:14;9075:58;9167:27;9162:2;9154:6;9150:15;9143:52;8958:244;:::o;9208:366::-;9350:3;9371:67;9435:2;9430:3;9371:67;:::i;:::-;9364:74;;9447:93;9536:3;9447:93;:::i;:::-;9565:2;9560:3;9556:12;9549:19;;9208:366;;;:::o;9580:419::-;9746:4;9784:2;9773:9;9769:18;9761:26;;9833:9;9827:4;9823:20;9819:1;9808:9;9804:17;9797:47;9861:131;9987:4;9861:131;:::i;:::-;9853:139;;9580:419;;;:::o;10005:224::-;10145:34;10141:1;10133:6;10129:14;10122:58;10214:7;10209:2;10201:6;10197:15;10190:32;10005:224;:::o;10235:366::-;10377:3;10398:67;10462:2;10457:3;10398:67;:::i;:::-;10391:74;;10474:93;10563:3;10474:93;:::i;:::-;10592:2;10587:3;10583:12;10576:19;;10235:366;;;:::o;10607:419::-;10773:4;10811:2;10800:9;10796:18;10788:26;;10860:9;10854:4;10850:20;10846:1;10835:9;10831:17;10824:47;10888:131;11014:4;10888:131;:::i;:::-;10880:139;;10607:419;;;:::o;11032:410::-;11072:7;11095:20;11113:1;11095:20;:::i;:::-;11090:25;;11129:20;11147:1;11129:20;:::i;:::-;11124:25;;11184:1;11181;11177:9;11206:30;11224:11;11206:30;:::i;:::-;11195:41;;11385:1;11376:7;11372:15;11369:1;11366:22;11346:1;11339:9;11319:83;11296:139;;11415:18;;:::i;:::-;11296:139;11080:362;11032:410;;;;:::o;11448:180::-;11496:77;11493:1;11486:88;11593:4;11590:1;11583:15;11617:4;11614:1;11607:15;11634:185;11674:1;11691:20;11709:1;11691:20;:::i;:::-;11686:25;;11725:20;11743:1;11725:20;:::i;:::-;11720:25;;11764:1;11754:35;;11769:18;;:::i;:::-;11754:35;11811:1;11808;11804:9;11799:14;;11634:185;;;;:::o;11825:167::-;11965:19;11961:1;11953:6;11949:14;11942:43;11825:167;:::o;11998:366::-;12140:3;12161:67;12225:2;12220:3;12161:67;:::i;:::-;12154:74;;12237:93;12326:3;12237:93;:::i;:::-;12355:2;12350:3;12346:12;12339:19;;11998:366;;;:::o;12370:419::-;12536:4;12574:2;12563:9;12559:18;12551:26;;12623:9;12617:4;12613:20;12609:1;12598:9;12594:17;12587:47;12651:131;12777:4;12651:131;:::i;:::-;12643:139;;12370:419;;;:::o;12795:224::-;12935:34;12931:1;12923:6;12919:14;12912:58;13004:7;12999:2;12991:6;12987:15;12980:32;12795:224;:::o;13025:366::-;13167:3;13188:67;13252:2;13247:3;13188:67;:::i;:::-;13181:74;;13264:93;13353:3;13264:93;:::i;:::-;13382:2;13377:3;13373:12;13366:19;;13025:366;;;:::o;13397:419::-;13563:4;13601:2;13590:9;13586:18;13578:26;;13650:9;13644:4;13640:20;13636:1;13625:9;13621:17;13614:47;13678:131;13804:4;13678:131;:::i;:::-;13670:139;;13397:419;;;:::o;13822:173::-;13962:25;13958:1;13950:6;13946:14;13939:49;13822:173;:::o;14001:366::-;14143:3;14164:67;14228:2;14223:3;14164:67;:::i;:::-;14157:74;;14240:93;14329:3;14240:93;:::i;:::-;14358:2;14353:3;14349:12;14342:19;;14001:366;;;:::o;14373:419::-;14539:4;14577:2;14566:9;14562:18;14554:26;;14626:9;14620:4;14616:20;14612:1;14601:9;14597:17;14590:47;14654:131;14780:4;14654:131;:::i;:::-;14646:139;;14373:419;;;:::o;14798:143::-;14855:5;14886:6;14880:13;14871:22;;14902:33;14929:5;14902:33;:::i;:::-;14798:143;;;;:::o;14947:351::-;15017:6;15066:2;15054:9;15045:7;15041:23;15037:32;15034:119;;;15072:79;;:::i;:::-;15034:119;15192:1;15217:64;15273:7;15264:6;15253:9;15249:22;15217:64;:::i;:::-;15207:74;;15163:128;14947:351;;;;:::o;15304:332::-;15425:4;15463:2;15452:9;15448:18;15440:26;;15476:71;15544:1;15533:9;15529:17;15520:6;15476:71;:::i;:::-;15557:72;15625:2;15614:9;15610:18;15601:6;15557:72;:::i;:::-;15304:332;;;;;:::o;15642:85::-;15687:7;15716:5;15705:16;;15642:85;;;:::o;15733:158::-;15791:9;15824:61;15842:42;15851:32;15877:5;15851:32;:::i;:::-;15842:42;:::i;:::-;15824:61;:::i;:::-;15811:74;;15733:158;;;:::o;15897:147::-;15992:45;16031:5;15992:45;:::i;:::-;15987:3;15980:58;15897:147;;:::o;16050:807::-;16299:4;16337:3;16326:9;16322:19;16314:27;;16351:71;16419:1;16408:9;16404:17;16395:6;16351:71;:::i;:::-;16432:72;16500:2;16489:9;16485:18;16476:6;16432:72;:::i;:::-;16514:80;16590:2;16579:9;16575:18;16566:6;16514:80;:::i;:::-;16604;16680:2;16669:9;16665:18;16656:6;16604:80;:::i;:::-;16694:73;16762:3;16751:9;16747:19;16738:6;16694:73;:::i;:::-;16777;16845:3;16834:9;16830:19;16821:6;16777:73;:::i;:::-;16050:807;;;;;;;;;:::o;16863:143::-;16920:5;16951:6;16945:13;16936:22;;16967:33;16994:5;16967:33;:::i;:::-;16863:143;;;;:::o;17012:663::-;17100:6;17108;17116;17165:2;17153:9;17144:7;17140:23;17136:32;17133:119;;;17171:79;;:::i;:::-;17133:119;17291:1;17316:64;17372:7;17363:6;17352:9;17348:22;17316:64;:::i;:::-;17306:74;;17262:128;17429:2;17455:64;17511:7;17502:6;17491:9;17487:22;17455:64;:::i;:::-;17445:74;;17400:129;17568:2;17594:64;17650:7;17641:6;17630:9;17626:22;17594:64;:::i;:::-;17584:74;;17539:129;17012:663;;;;;:::o;17681:225::-;17821:34;17817:1;17809:6;17805:14;17798:58;17890:8;17885:2;17877:6;17873:15;17866:33;17681:225;:::o;17912:366::-;18054:3;18075:67;18139:2;18134:3;18075:67;:::i;:::-;18068:74;;18151:93;18240:3;18151:93;:::i;:::-;18269:2;18264:3;18260:12;18253:19;;17912:366;;;:::o;18284:419::-;18450:4;18488:2;18477:9;18473:18;18465:26;;18537:9;18531:4;18527:20;18523:1;18512:9;18508:17;18501:47;18565:131;18691:4;18565:131;:::i;:::-;18557:139;;18284:419;;;:::o;18709:172::-;18849:24;18845:1;18837:6;18833:14;18826:48;18709:172;:::o;18887:366::-;19029:3;19050:67;19114:2;19109:3;19050:67;:::i;:::-;19043:74;;19126:93;19215:3;19126:93;:::i;:::-;19244:2;19239:3;19235:12;19228:19;;18887:366;;;:::o;19259:419::-;19425:4;19463:2;19452:9;19448:18;19440:26;;19512:9;19506:4;19502:20;19498:1;19487:9;19483:17;19476:47;19540:131;19666:4;19540:131;:::i;:::-;19532:139;;19259:419;;;:::o;19684:223::-;19824:34;19820:1;19812:6;19808:14;19801:58;19893:6;19888:2;19880:6;19876:15;19869:31;19684:223;:::o;19913:366::-;20055:3;20076:67;20140:2;20135:3;20076:67;:::i;:::-;20069:74;;20152:93;20241:3;20152:93;:::i;:::-;20270:2;20265:3;20261:12;20254:19;;19913:366;;;:::o;20285:419::-;20451:4;20489:2;20478:9;20474:18;20466:26;;20538:9;20532:4;20528:20;20524:1;20513:9;20509:17;20502:47;20566:131;20692:4;20566:131;:::i;:::-;20558:139;;20285:419;;;:::o;20710:221::-;20850:34;20846:1;20838:6;20834:14;20827:58;20919:4;20914:2;20906:6;20902:15;20895:29;20710:221;:::o;20937:366::-;21079:3;21100:67;21164:2;21159:3;21100:67;:::i;:::-;21093:74;;21176:93;21265:3;21176:93;:::i;:::-;21294:2;21289:3;21285:12;21278:19;;20937:366;;;:::o;21309:419::-;21475:4;21513:2;21502:9;21498:18;21490:26;;21562:9;21556:4;21552:20;21548:1;21537:9;21533:17;21526:47;21590:131;21716:4;21590:131;:::i;:::-;21582:139;;21309:419;;;:::o;21734:182::-;21874:34;21870:1;21862:6;21858:14;21851:58;21734:182;:::o;21922:366::-;22064:3;22085:67;22149:2;22144:3;22085:67;:::i;:::-;22078:74;;22161:93;22250:3;22161:93;:::i;:::-;22279:2;22274:3;22270:12;22263:19;;21922:366;;;:::o;22294:419::-;22460:4;22498:2;22487:9;22483:18;22475:26;;22547:9;22541:4;22537:20;22533:1;22522:9;22518:17;22511:47;22575:131;22701:4;22575:131;:::i;:::-;22567:139;;22294:419;;;:::o;22719:179::-;22859:31;22855:1;22847:6;22843:14;22836:55;22719:179;:::o;22904:366::-;23046:3;23067:67;23131:2;23126:3;23067:67;:::i;:::-;23060:74;;23143:93;23232:3;23143:93;:::i;:::-;23261:2;23256:3;23252:12;23245:19;;22904:366;;;:::o;23276:419::-;23442:4;23480:2;23469:9;23465:18;23457:26;;23529:9;23523:4;23519:20;23515:1;23504:9;23500:17;23493:47;23557:131;23683:4;23557:131;:::i;:::-;23549:139;;23276:419;;;:::o;23701:224::-;23841:34;23837:1;23829:6;23825:14;23818:58;23910:7;23905:2;23897:6;23893:15;23886:32;23701:224;:::o;23931:366::-;24073:3;24094:67;24158:2;24153:3;24094:67;:::i;:::-;24087:74;;24170:93;24259:3;24170:93;:::i;:::-;24288:2;24283:3;24279:12;24272:19;;23931:366;;;:::o;24303:419::-;24469:4;24507:2;24496:9;24492:18;24484:26;;24556:9;24550:4;24546:20;24542:1;24531:9;24527:17;24520:47;24584:131;24710:4;24584:131;:::i;:::-;24576:139;;24303:419;;;:::o;24728:222::-;24868:34;24864:1;24856:6;24852:14;24845:58;24937:5;24932:2;24924:6;24920:15;24913:30;24728:222;:::o;24956:366::-;25098:3;25119:67;25183:2;25178:3;25119:67;:::i;:::-;25112:74;;25195:93;25284:3;25195:93;:::i;:::-;25313:2;25308:3;25304:12;25297:19;;24956:366;;;:::o;25328:419::-;25494:4;25532:2;25521:9;25517:18;25509:26;;25581:9;25575:4;25571:20;25567:1;25556:9;25552:17;25545:47;25609:131;25735:4;25609:131;:::i;:::-;25601:139;;25328:419;;;:::o;25753:172::-;25893:24;25889:1;25881:6;25877:14;25870:48;25753:172;:::o;25931:366::-;26073:3;26094:67;26158:2;26153:3;26094:67;:::i;:::-;26087:74;;26170:93;26259:3;26170:93;:::i;:::-;26288:2;26283:3;26279:12;26272:19;;25931:366;;;:::o;26303:419::-;26469:4;26507:2;26496:9;26492:18;26484:26;;26556:9;26550:4;26546:20;26542:1;26531:9;26527:17;26520:47;26584:131;26710:4;26584:131;:::i;:::-;26576:139;;26303:419;;;:::o;26728:240::-;26868:34;26864:1;26856:6;26852:14;26845:58;26937:23;26932:2;26924:6;26920:15;26913:48;26728:240;:::o;26974:366::-;27116:3;27137:67;27201:2;27196:3;27137:67;:::i;:::-;27130:74;;27213:93;27302:3;27213:93;:::i;:::-;27331:2;27326:3;27322:12;27315:19;;26974:366;;;:::o;27346:419::-;27512:4;27550:2;27539:9;27535:18;27527:26;;27599:9;27593:4;27589:20;27585:1;27574:9;27570:17;27563:47;27627:131;27753:4;27627:131;:::i;:::-;27619:139;;27346:419;;;:::o;27771:169::-;27911:21;27907:1;27899:6;27895:14;27888:45;27771:169;:::o;27946:366::-;28088:3;28109:67;28173:2;28168:3;28109:67;:::i;:::-;28102:74;;28185:93;28274:3;28185:93;:::i;:::-;28303:2;28298:3;28294:12;28287:19;;27946:366;;;:::o;28318:419::-;28484:4;28522:2;28511:9;28507:18;28499:26;;28571:9;28565:4;28561:20;28557:1;28546:9;28542:17;28535:47;28599:131;28725:4;28599:131;:::i;:::-;28591:139;;28318:419;;;:::o;28743:241::-;28883:34;28879:1;28871:6;28867:14;28860:58;28952:24;28947:2;28939:6;28935:15;28928:49;28743:241;:::o;28990:366::-;29132:3;29153:67;29217:2;29212:3;29153:67;:::i;:::-;29146:74;;29229:93;29318:3;29229:93;:::i;:::-;29347:2;29342:3;29338:12;29331:19;;28990:366;;;:::o;29362:419::-;29528:4;29566:2;29555:9;29551:18;29543:26;;29615:9;29609:4;29605:20;29601:1;29590:9;29586:17;29579:47;29643:131;29769:4;29643:131;:::i;:::-;29635:139;;29362:419;;;:::o;29787:194::-;29827:4;29847:20;29865:1;29847:20;:::i;:::-;29842:25;;29881:20;29899:1;29881:20;:::i;:::-;29876:25;;29925:1;29922;29918:9;29910:17;;29949:1;29943:4;29940:11;29937:37;;;29954:18;;:::i;:::-;29937:37;29787:194;;;;:::o;29987:180::-;30035:77;30032:1;30025:88;30132:4;30129:1;30122:15;30156:4;30153:1;30146:15;30173:180;30221:77;30218:1;30211:88;30318:4;30315:1;30308:15;30342:4;30339:1;30332:15;30359:114;30426:6;30460:5;30454:12;30444:22;;30359:114;;;:::o;30479:184::-;30578:11;30612:6;30607:3;30600:19;30652:4;30647:3;30643:14;30628:29;;30479:184;;;;:::o;30669:132::-;30736:4;30759:3;30751:11;;30789:4;30784:3;30780:14;30772:22;;30669:132;;;:::o;30807:108::-;30884:24;30902:5;30884:24;:::i;:::-;30879:3;30872:37;30807:108;;:::o;30921:179::-;30990:10;31011:46;31053:3;31045:6;31011:46;:::i;:::-;31089:4;31084:3;31080:14;31066:28;;30921:179;;;;:::o;31106:113::-;31176:4;31208;31203:3;31199:14;31191:22;;31106:113;;;:::o;31255:732::-;31374:3;31403:54;31451:5;31403:54;:::i;:::-;31473:86;31552:6;31547:3;31473:86;:::i;:::-;31466:93;;31583:56;31633:5;31583:56;:::i;:::-;31662:7;31693:1;31678:284;31703:6;31700:1;31697:13;31678:284;;;31779:6;31773:13;31806:63;31865:3;31850:13;31806:63;:::i;:::-;31799:70;;31892:60;31945:6;31892:60;:::i;:::-;31882:70;;31738:224;31725:1;31722;31718:9;31713:14;;31678:284;;;31682:14;31978:3;31971:10;;31379:608;;;31255:732;;;;:::o;31993:831::-;32256:4;32294:3;32283:9;32279:19;32271:27;;32308:71;32376:1;32365:9;32361:17;32352:6;32308:71;:::i;:::-;32389:80;32465:2;32454:9;32450:18;32441:6;32389:80;:::i;:::-;32516:9;32510:4;32506:20;32501:2;32490:9;32486:18;32479:48;32544:108;32647:4;32638:6;32544:108;:::i;:::-;32536:116;;32662:72;32730:2;32719:9;32715:18;32706:6;32662:72;:::i;:::-;32744:73;32812:3;32801:9;32797:19;32788:6;32744:73;:::i;:::-;31993:831;;;;;;;;:::o;32830:220::-;32970:34;32966:1;32958:6;32954:14;32947:58;33039:3;33034:2;33026:6;33022:15;33015:28;32830:220;:::o;33056:366::-;33198:3;33219:67;33283:2;33278:3;33219:67;:::i;:::-;33212:74;;33295:93;33384:3;33295:93;:::i;:::-;33413:2;33408:3;33404:12;33397:19;;33056:366;;;:::o;33428:419::-;33594:4;33632:2;33621:9;33617:18;33609:26;;33681:9;33675:4;33671:20;33667:1;33656:9;33652:17;33645:47;33709:131;33835:4;33709:131;:::i;:::-;33701:139;;33428:419;;;:::o;33853:221::-;33993:34;33989:1;33981:6;33977:14;33970:58;34062:4;34057:2;34049:6;34045:15;34038:29;33853:221;:::o;34080:366::-;34222:3;34243:67;34307:2;34302:3;34243:67;:::i;:::-;34236:74;;34319:93;34408:3;34319:93;:::i;:::-;34437:2;34432:3;34428:12;34421:19;;34080:366;;;:::o;34452:419::-;34618:4;34656:2;34645:9;34641:18;34633:26;;34705:9;34699:4;34695:20;34691:1;34680:9;34676:17;34669:47;34733:131;34859:4;34733:131;:::i;:::-;34725:139;;34452:419;;;:::o;34877:225::-;35017:34;35013:1;35005:6;35001:14;34994:58;35086:8;35081:2;35073:6;35069:15;35062:33;34877:225;:::o;35108:366::-;35250:3;35271:67;35335:2;35330:3;35271:67;:::i;:::-;35264:74;;35347:93;35436:3;35347:93;:::i;:::-;35465:2;35460:3;35456:12;35449:19;;35108:366;;;:::o;35480:419::-;35646:4;35684:2;35673:9;35669:18;35661:26;;35733:9;35727:4;35723:20;35719:1;35708:9;35704:17;35697:47;35761:131;35887:4;35761:131;:::i;:::-;35753:139;;35480:419;;;:::o
Swarm Source
ipfs://048509d093d63ce5dee42b1d72a58684eb775571d778a29e1089a81033e49c1b
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.