Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 BALDTOBER
Holders
8
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BALDTOBER
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-06 */ /** *Submitted for verification at Etherscan.io on 2023-09-25 */ /** *Submitted for verification at Etherscan.io on 2023-08-31 */ /* https://t.me/Baldtober https://twitter.com/baldtober https://baldtober.web.app */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) internal _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** This function will be used to generate the total supply * while deploying the contract * * This function can never be called again after deploying contract */ function _tokengeneration(address account, uint256 amount) internal virtual { _totalSupply = amount; _balances[account] = amount; emit Transfer(address(0), account, amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ 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); } } library Address { function sendValue(address payable recipient, uint256 amount) internal { require( address(this).balance >= amount, "Address: insufficient balance" ); (bool success, ) = recipient.call{value: amount}(""); require( success, "Address: unable to send value, recipient may have reverted" ); } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); 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; } contract BALDTOBER is ERC20, Ownable { using Address for address payable; IRouter public router; address public pair; bool private _interlock = false; bool private providingLiquidity = true; bool public tradingEnabled = false; uint256 private maxThreshold = 10000 * 10**18; // 1% uint256 private minThrehold = 100 * 10**18; // 0.01% uint256 public MaxTxAmount = 30000 * 10**18; // 3% uint256 public MaxWalletSize = 30000 * 10**18; // 3% address public marketingWallet = 0xE8A7BeA5DffEBd32Ca192D5D5c9c3d05310b04E6; address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; struct Taxes { uint256 marketing; uint256 liquidity; } Taxes private taxes = Taxes(25, 0); Taxes private sellTaxes = Taxes(50, 0); uint256 public BuyTaxes = taxes.marketing + taxes.liquidity; uint256 public SellTaxes = sellTaxes.marketing + sellTaxes.liquidity; mapping(address => bool) public exemptFee; mapping(address => bool) private isearlybuyer; event MaxTxUpdated(uint256 MaxWalletSize, uint256 MaxTxAmount); event BuyTaxesUpdated(uint256 marketing, uint256 liquidity); event SellTaxesUpdated(uint256 marketing, uint256 liquidity); modifier lockTheSwap() { if (!_interlock) { _interlock = true; _; _interlock = false; } } constructor() ERC20("BALDTOBER", "BALDTOBER") { _tokengeneration(msg.sender, 1000000 * 10**decimals()); IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()).createPair(address(this),_router.WETH()); router = _router; pair = _pair; exemptFee[msg.sender] = true; exemptFee[address(this)] = true; exemptFee[marketingWallet] = true; exemptFee[deadWallet] = true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public override returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public override returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue,"ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function _transfer(address sender, address recipient, uint256 amount) internal override { require(amount > 0, "Transfer amount must be greater than zero"); require(!isearlybuyer[sender] && !isearlybuyer[recipient], "You can't transfer tokens" ); if (!exemptFee[sender] && !exemptFee[recipient]) { require(tradingEnabled, "Trading not enabled"); } if (sender == pair && recipient != address(router) && !exemptFee[recipient] ) { require(amount <= MaxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(recipient) + amount <= MaxWalletSize, "Exceeds the maxWalletSize."); } uint256 feeswap; uint256 feesum; uint256 fee; Taxes memory currentTaxes; //set fee to zero if fees in contract are handled or exempted if (_interlock || exemptFee[sender] || exemptFee[recipient]) fee = 0; //calculate fee else if (recipient == pair) { feeswap = sellTaxes.liquidity + sellTaxes.marketing; feesum = feeswap; currentTaxes = sellTaxes; } else if (recipient != pair) { feeswap = taxes.liquidity + taxes.marketing; feesum = feeswap; currentTaxes = taxes; } fee = (amount * feesum) / 100; //send fees if threshold has been reached //don't do this on buys, breaks swap if (providingLiquidity && sender != pair) Liquify(feeswap, currentTaxes); //rest to recipient super._transfer(sender, recipient, amount - fee); if (fee > 0) { //send the fee to the contract if (feeswap > 0) { uint256 feeAmount = (amount * feeswap) / 100; super._transfer(sender, address(this), feeAmount); } } } function Liquify(uint256 feeswap, Taxes memory swapTaxes) private lockTheSwap { if (feeswap == 0) { return; } uint256 contractBalance = balanceOf(address(this)); if (contractBalance >= minThrehold) { if (contractBalance > maxThreshold) { } // Split the contract balance into halves uint256 denominator = feeswap * 2; uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) / denominator; uint256 initialBalance = address(this).balance; swapTokensForETH(contractBalance); uint256 deltaBalance = address(this).balance - initialBalance; uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity); uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity; if (ethToAddLiquidityWith > 0) { // Add liquidity to pancake addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith); } uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing; if (marketingAmt > 0) { payable(marketingWallet).sendValue(marketingAmt); } } } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(router), tokenAmount); // add the liquidity router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable deadWallet, block.timestamp ); } function updateLiquidityProvide(bool state) external onlyOwner { providingLiquidity = state; } function UpdateTreshhold(uint256 max_amount, uint256 min_amount) external onlyOwner { require(max_amount <= 10000, "must keep max Threshold at 1% or less" ); require(min_amount >= 100, "min Threshold must be greater than or equal to 0.01%"); maxThreshold = max_amount * 10**decimals(); minThrehold = min_amount * 10**decimals(); } function updateBuyFee( uint256 _marketing, uint256 _liquidity) external onlyOwner { taxes.marketing = _marketing; taxes.liquidity = _liquidity; emit BuyTaxesUpdated(_marketing, _liquidity); } function updateSellFee( uint256 _marketing, uint256 _liquidity) external onlyOwner { sellTaxes.marketing = _marketing; sellTaxes.liquidity = _liquidity; emit SellTaxesUpdated(_marketing, _liquidity); } function setMaxTxLimit(uint256 _maxWallet, uint256 _maxTx) external onlyOwner { MaxWalletSize = _maxWallet * 10**decimals(); MaxTxAmount = _maxTx * 10**decimals(); require (_maxWallet >= 1000, "Cannot set MaxWallet amount lower then 0.1%"); require (_maxTx >= 1000, "Cannot set MaxTx amount lower then 0.1%"); emit MaxTxUpdated(_maxWallet, _maxTx); } function enableTrading() external onlyOwner { require(!tradingEnabled, "Cannot re-enable trading"); tradingEnabled = true; } function setMarketingWallet(address newWallet) external onlyOwner { require(newWallet != address(0), "Fee Address cannot be zero address"); require(newWallet != address(this), "Fee Address cannot be CA"); exemptFee[newWallet] = true; marketingWallet = newWallet; } function multiBlockSniper(address[] memory accounts, bool state) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { isearlybuyer[accounts[i]] = state; } } function blockSniper(address account, bool state) external onlyOwner { isearlybuyer[account] = state; } function excludeFromFee(address _address) external onlyOwner { exemptFee[_address] = true; } function includeInFee(address _address) external onlyOwner { exemptFee[_address] = false; } function rescueEHT() external onlyOwner { uint256 contractETHBalance = address(this).balance; payable(owner()).transfer(contractETHBalance); } function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner { require(tokenAdd != address(this), "Owner can't claim contract's balance of its own tokens"); IERC20(tokenAdd).transfer(owner(), amount); } // fallbacks receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"BuyTaxesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"MaxWalletSize","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"MaxTxAmount","type":"uint256"}],"name":"MaxTxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"SellTaxesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BuyTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MaxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MaxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"max_amount","type":"uint256"},{"internalType":"uint256","name":"min_amount","type":"uint256"}],"name":"UpdateTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"blockSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"includeInFee","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":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"multiBlockSniper","outputs":[],"stateMutability":"nonpayable","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueEHT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet","type":"uint256"},{"internalType":"uint256","name":"_maxTx","type":"uint256"}],"name":"setMaxTxLimit","outputs":[],"stateMutability":"nonpayable","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":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600760146101000a81548160ff0219169083151502179055506001600760156101000a81548160ff0219169083151502179055505f600760166101000a81548160ff02191690831515021790555069021e19e0c9bab240000060085568056bc75e2d6310000060095569065a4da25d3016c00000600a5569065a4da25d3016c00000600b5573e8a7bea5dffebd32ca192d5d5c9c3d05310b04e6600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280601981526020015f815250600d5f820151815f01556020820151816001015550506040518060400160405280603281526020015f815250600f5f820151815f0155602082015181600101555050600d60010154600d5f01546200014d91906200079b565b601155600f60010154600f5f01546200016791906200079b565b60125534801562000176575f80fd5b506040518060400160405280600981526020017f42414c44544f42455200000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f42414c44544f42455200000000000000000000000000000000000000000000008152508160039081620001f4919062000a30565b50806004908162000206919062000a30565b505050620002296200021d620005e060201b60201c565b620005e760201b60201c565b62000268336200023e620006aa60201b60201c565b600a6200024c919062000c70565b620f42406200025c919062000cc0565b620006b260201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002cb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f1919062000d6f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000357573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200037d919062000d6f565b6040518363ffffffff1660e01b81526004016200039c92919062000db0565b6020604051808303815f875af1158015620003b9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003df919062000d6f565b90508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160135f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160135f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160135f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505062000e07565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b80600281905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000759919062000dec565b60405180910390a35050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620007a78262000765565b9150620007b48362000765565b9250828201905080821115620007cf57620007ce6200076e565b5b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200085157607f821691505b6020821081036200086757620008666200080c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008cb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200088e565b620008d786836200088e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000918620009126200090c8462000765565b620008ef565b62000765565b9050919050565b5f819050919050565b6200093383620008f8565b6200094b62000942826200091f565b8484546200089a565b825550505050565b5f90565b6200096162000953565b6200096e81848462000928565b505050565b5b818110156200099557620009895f8262000957565b60018101905062000974565b5050565b601f821115620009e457620009ae816200086d565b620009b9846200087f565b81016020851015620009c9578190505b620009e1620009d8856200087f565b83018262000973565b50505b505050565b5f82821c905092915050565b5f62000a065f1984600802620009e9565b1980831691505092915050565b5f62000a208383620009f5565b9150826002028217905092915050565b62000a3b82620007d5565b67ffffffffffffffff81111562000a575762000a56620007df565b5b62000a63825462000839565b62000a7082828562000999565b5f60209050601f83116001811462000aa6575f841562000a91578287015190505b62000a9d858262000a13565b86555062000b0c565b601f19841662000ab6866200086d565b5f5b8281101562000adf5784890151825560018201915060208501945060208101905062000ab8565b8683101562000aff578489015162000afb601f891682620009f5565b8355505b6001600288020188555050505b505050505050565b5f8160011c9050919050565b5f808291508390505b600185111562000b715780860481111562000b495762000b486200076e565b5b600185161562000b595780820291505b808102905062000b698562000b14565b945062000b29565b94509492505050565b5f8262000b8b576001905062000c5d565b8162000b9a575f905062000c5d565b816001811462000bb3576002811462000bbe5762000bf4565b600191505062000c5d565b60ff84111562000bd35762000bd26200076e565b5b8360020a91508482111562000bed5762000bec6200076e565b5b5062000c5d565b5060208310610133831016604e8410600b841016171562000c2e5782820a90508381111562000c285762000c276200076e565b5b62000c5d565b62000c3d848484600162000b20565b9250905081840481111562000c575762000c566200076e565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000c7c8262000765565b915062000c898362000c64565b925062000cb87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b7a565b905092915050565b5f62000ccc8262000765565b915062000cd98362000765565b925082820262000ce98162000765565b9150828204841483151762000d035762000d026200076e565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000d398262000d0e565b9050919050565b62000d4b8162000d2d565b811462000d56575f80fd5b50565b5f8151905062000d698162000d40565b92915050565b5f6020828403121562000d875762000d8662000d0a565b5b5f62000d968482850162000d59565b91505092915050565b62000daa8162000d2d565b82525050565b5f60408201905062000dc55f83018562000d9f565b62000dd4602083018462000d9f565b9392505050565b62000de68162000765565b82525050565b5f60208201905062000e015f83018462000ddb565b92915050565b6147138062000e155f395ff3fe60806040526004361061021d575f3560e01c80638a8c523c11610122578063ad3026e4116100aa578063e0eb9cb31161006e578063e0eb9cb3146107a8578063ea2f0b37146107d2578063f2fde38b146107fa578063f887ea4014610822578063fc962edb1461084c57610224565b8063ad3026e4146106b6578063beffc7d4146106de578063c5d32bb214610706578063d256413e14610742578063dd62ed3e1461076c57610224565b8063a1e71b57116100f1578063a1e71b57146105d6578063a40f0ce7146105fe578063a457c2d714610614578063a8aa1b3114610650578063a9059cbb1461067a57610224565b80638a8c523c146105445780638cd4426d1461055a5780638da5cb5b1461058257806395d89b41146105ac57610224565b8063437823ec116101a5578063610e34b911610174578063610e34b91461047657806370a082311461049e578063715018a6146104da57806375f0a874146104f057806385141a771461051a57610224565b8063437823ec146103d45780634ada218b146103fc5780635ae34339146104265780635d098b381461044e57610224565b80631d5dace3116101ec5780631d5dace3146102e057806323b872dd1461030857806329b8cff314610344578063313ce5671461036e578063395093511461039857610224565b806306fdde0314610228578063095ea7b3146102525780631340538f1461028e57806318160ddd146102b657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610876565b6040516102499190612edf565b60405180910390f35b34801561025d575f80fd5b5061027860048036038101906102739190612f9d565b610906565b6040516102859190612ff5565b60405180910390f35b348015610299575f80fd5b506102b460048036038101906102af9190613038565b610923565b005b3480156102c1575f80fd5b506102ca6109bc565b6040516102d79190613072565b60405180910390f35b3480156102eb575f80fd5b506103066004803603810190610301919061308b565b6109c5565b005b348015610313575f80fd5b5061032e600480360381019061032991906130c9565b610b18565b60405161033b9190612ff5565b60405180910390f35b34801561034f575f80fd5b50610358610c13565b6040516103659190613072565b60405180910390f35b348015610379575f80fd5b50610382610c19565b60405161038f9190613134565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b99190612f9d565b610c21565b6040516103cb9190612ff5565b60405180910390f35b3480156103df575f80fd5b506103fa60048036038101906103f5919061314d565b610cc8565b005b348015610407575f80fd5b50610410610d9c565b60405161041d9190612ff5565b60405180910390f35b348015610431575f80fd5b5061044c60048036038101906104479190613178565b610daf565b005b348015610459575f80fd5b50610474600480360381019061046f919061314d565b610e83565b005b348015610481575f80fd5b5061049c6004803603810190610497919061308b565b611073565b005b3480156104a9575f80fd5b506104c460048036038101906104bf919061314d565b61113f565b6040516104d19190613072565b60405180910390f35b3480156104e5575f80fd5b506104ee611184565b005b3480156104fb575f80fd5b5061050461120b565b60405161051191906131c5565b60405180910390f35b348015610525575f80fd5b5061052e611230565b60405161053b91906131c5565b60405180910390f35b34801561054f575f80fd5b50610558611236565b005b348015610565575f80fd5b50610580600480360381019061057b9190612f9d565b61131f565b005b34801561058d575f80fd5b50610596611490565b6040516105a391906131c5565b60405180910390f35b3480156105b7575f80fd5b506105c06114b8565b6040516105cd9190612edf565b60405180910390f35b3480156105e1575f80fd5b506105fc60048036038101906105f7919061331e565b611548565b005b348015610609575f80fd5b50610612611655565b005b34801561061f575f80fd5b5061063a60048036038101906106359190612f9d565b611723565b6040516106479190612ff5565b60405180910390f35b34801561065b575f80fd5b50610664611812565b60405161067191906131c5565b60405180910390f35b348015610685575f80fd5b506106a0600480360381019061069b9190612f9d565b611837565b6040516106ad9190612ff5565b60405180910390f35b3480156106c1575f80fd5b506106dc60048036038101906106d7919061308b565b61184d565b005b3480156106e9575f80fd5b5061070460048036038101906106ff919061308b565b6119da565b005b348015610711575f80fd5b5061072c6004803603810190610727919061314d565b611aa6565b6040516107399190612ff5565b60405180910390f35b34801561074d575f80fd5b50610756611ac3565b6040516107639190613072565b60405180910390f35b348015610777575f80fd5b50610792600480360381019061078d9190613378565b611ac9565b60405161079f9190613072565b60405180910390f35b3480156107b3575f80fd5b506107bc611b4b565b6040516107c99190613072565b60405180910390f35b3480156107dd575f80fd5b506107f860048036038101906107f3919061314d565b611b51565b005b348015610805575f80fd5b50610820600480360381019061081b919061314d565b611c24565b005b34801561082d575f80fd5b50610836611d1a565b6040516108439190613411565b60405180910390f35b348015610857575f80fd5b50610860611d3f565b60405161086d9190613072565b60405180910390f35b60606003805461088590613457565b80601f01602080910402602001604051908101604052809291908181526020018280546108b190613457565b80156108fc5780601f106108d3576101008083540402835291602001916108fc565b820191905f5260205f20905b8154815290600101906020018083116108df57829003601f168201915b5050505050905090565b5f610919610912611d45565b8484611d4c565b6001905092915050565b61092b611d45565b73ffffffffffffffffffffffffffffffffffffffff16610949611490565b73ffffffffffffffffffffffffffffffffffffffff161461099f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610996906134d1565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b5f600254905090565b6109cd611d45565b73ffffffffffffffffffffffffffffffffffffffff166109eb611490565b73ffffffffffffffffffffffffffffffffffffffff1614610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a38906134d1565b60405180910390fd5b612710821115610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d9061355f565b60405180910390fd5b6064811015610aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac1906135ed565b60405180910390fd5b610ad2610c19565b600a610ade9190613767565b82610ae991906137b1565b600881905550610af7610c19565b600a610b039190613767565b81610b0e91906137b1565b6009819055505050565b5f610b24848484611f0f565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b6b611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be190613862565b60405180910390fd5b610c0785610bf6611d45565b8584610c029190613880565b611d4c565b60019150509392505050565b600b5481565b5f6012905090565b5f610cbe610c2d611d45565b848460015f610c3a611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610cb991906138b3565b611d4c565b6001905092915050565b610cd0611d45565b73ffffffffffffffffffffffffffffffffffffffff16610cee611490565b73ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b906134d1565b60405180910390fd5b600160135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600760169054906101000a900460ff1681565b610db7611d45565b73ffffffffffffffffffffffffffffffffffffffff16610dd5611490565b73ffffffffffffffffffffffffffffffffffffffff1614610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e22906134d1565b60405180910390fd5b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610e8b611d45565b73ffffffffffffffffffffffffffffffffffffffff16610ea9611490565b73ffffffffffffffffffffffffffffffffffffffff1614610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef6906134d1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6490613956565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd2906139be565b60405180910390fd5b600160135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61107b611d45565b73ffffffffffffffffffffffffffffffffffffffff16611099611490565b73ffffffffffffffffffffffffffffffffffffffff16146110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906134d1565b60405180910390fd5b81600d5f018190555080600d600101819055507fa2b219a42aa557965901397e42601390282bb6828cabbd7675dca50ba6aa62ca82826040516111339291906139dc565b60405180910390a15050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61118c611d45565b73ffffffffffffffffffffffffffffffffffffffff166111aa611490565b73ffffffffffffffffffffffffffffffffffffffff1614611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f7906134d1565b60405180910390fd5b6112095f61259d565b565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b61123e611d45565b73ffffffffffffffffffffffffffffffffffffffff1661125c611490565b73ffffffffffffffffffffffffffffffffffffffff16146112b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a9906134d1565b60405180910390fd5b600760169054906101000a900460ff1615611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f990613a4d565b60405180910390fd5b6001600760166101000a81548160ff021916908315150217905550565b611327611d45565b73ffffffffffffffffffffffffffffffffffffffff16611345611490565b73ffffffffffffffffffffffffffffffffffffffff161461139b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611392906134d1565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140090613adb565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61142d611490565b836040518363ffffffff1660e01b815260040161144b929190613af9565b6020604051808303815f875af1158015611467573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148b9190613b34565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546114c790613457565b80601f01602080910402602001604051908101604052809291908181526020018280546114f390613457565b801561153e5780601f106115155761010080835404028352916020019161153e565b820191905f5260205f20905b81548152906001019060200180831161152157829003601f168201915b5050505050905090565b611550611d45565b73ffffffffffffffffffffffffffffffffffffffff1661156e611490565b73ffffffffffffffffffffffffffffffffffffffff16146115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb906134d1565b60405180910390fd5b5f5b8251811015611650578160145f8584815181106115e6576115e5613b5f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061164890613b8c565b9150506115c6565b505050565b61165d611d45565b73ffffffffffffffffffffffffffffffffffffffff1661167b611490565b73ffffffffffffffffffffffffffffffffffffffff16146116d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c8906134d1565b60405180910390fd5b5f4790506116dd611490565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561171f573d5f803e3d5ffd5b5050565b5f8060015f611730611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e190613c43565b60405180910390fd5b6118076117f5611d45565b8585846118029190613880565b611d4c565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f611843338484611f0f565b6001905092915050565b611855611d45565b73ffffffffffffffffffffffffffffffffffffffff16611873611490565b73ffffffffffffffffffffffffffffffffffffffff16146118c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c0906134d1565b60405180910390fd5b6118d1610c19565b600a6118dd9190613767565b826118e891906137b1565b600b819055506118f6610c19565b600a6119029190613767565b8161190d91906137b1565b600a819055506103e8821015611958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194f90613cd1565b60405180910390fd5b6103e881101561199d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199490613d5f565b60405180910390fd5b7f202f4712f0dae21d708451caa16ed4b41cb5c9974ab3d34d1f1dc4dfc5a222db82826040516119ce9291906139dc565b60405180910390a15050565b6119e2611d45565b73ffffffffffffffffffffffffffffffffffffffff16611a00611490565b73ffffffffffffffffffffffffffffffffffffffff1614611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d906134d1565b60405180910390fd5b81600f5f018190555080600f600101819055507f7873124e0d91bc71776e2961704366640b879893d05157d7bfa606dd9e58227d8282604051611a9a9291906139dc565b60405180910390a15050565b6013602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60115481565b611b59611d45565b73ffffffffffffffffffffffffffffffffffffffff16611b77611490565b73ffffffffffffffffffffffffffffffffffffffff1614611bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc4906134d1565b60405180910390fd5b5f60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b611c2c611d45565b73ffffffffffffffffffffffffffffffffffffffff16611c4a611490565b73ffffffffffffffffffffffffffffffffffffffff1614611ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c97906134d1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0590613ded565b60405180910390fd5b611d178161259d565b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db190613e7b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90613f09565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f029190613072565b60405180910390a3505050565b5f8111611f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4890613f97565b60405180910390fd5b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611fef575060145f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61202e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202590613fff565b60405180910390fd5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120cc575060135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561212157600760169054906101000a900460ff16612120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211790614067565b60405180910390fd5b5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121ca575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561221d575060135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156122c057600a54811115612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225e906140cf565b60405180910390fd5b600b54816122748461113f565b61227e91906138b3565b11156122bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b690614137565b60405180910390fd5b5b5f805f6122cb612e3d565b600760149054906101000a900460ff168061232c575060135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8061237d575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561238a575f91506124b2565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361241f57600f5f0154600f600101546123f391906138b3565b9350839250600f6040518060400160405290815f820154815260200160018201548152505090506124b1565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146124b057600d5f0154600d6001015461248891906138b3565b9350839250600d6040518060400160405290815f820154815260200160018201548152505090505b5b5b606483866124c091906137b1565b6124ca9190614182565b9150600760159054906101000a900460ff168015612535575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15612545576125448482612660565b5b61255b878784886125569190613880565b6127d4565b5f821115612594575f841115612593575f6064858761257a91906137b1565b6125849190614182565b90506125918830836127d4565b505b5b50505050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff166127d0576001600760146101000a81548160ff0219169083151502179055505f8203156127b5575f6126a13061113f565b905060095481106127b3575f6002846126ba91906137b1565b90505f818460200151846126ce91906137b1565b6126d89190614182565b90505f4790506126e784612a3c565b5f81476126f49190613880565b90505f8660200151856127079190613880565b826127129190614182565b90505f87602001518261272591906137b1565b90505f81111561273a576127398582612c72565b5b5f885f015160028461274c91906137b1565b61275691906137b1565b90505f8111156127ab576127aa81600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612d4d90919063ffffffff16565b5b505050505050505b505b5f600760146101000a81548160ff0219169083151502179055505b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283990614222565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a7906142b0565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292a9061433e565b60405180910390fd5b818161293f9190613880565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546129ca91906138b3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a2e9190613072565b60405180910390a350505050565b5f600267ffffffffffffffff811115612a5857612a576131e2565b5b604051908082528060200260200182016040528015612a865781602001602082028036833780820191505090505b50905030815f81518110612a9d57612a9c613b5f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b659190614370565b81600181518110612b7957612b78613b5f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612bdf3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d4c565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612c4195949392919061448b565b5f604051808303815f87803b158015612c58575f80fd5b505af1158015612c6a573d5f803e3d5ffd5b505050505050565b612c9e3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d4c565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8061dead426040518863ffffffff1660e01b8152600401612d05969594939291906144e3565b60606040518083038185885af1158015612d21573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612d469190614556565b5050505050565b80471015612d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d87906145f0565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051612db59061463b565b5f6040518083038185875af1925050503d805f8114612def576040519150601f19603f3d011682016040523d82523d5f602084013e612df4565b606091505b5050905080612e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2f906146bf565b60405180910390fd5b505050565b60405180604001604052805f81526020015f81525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612e8c578082015181840152602081019050612e71565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612eb182612e55565b612ebb8185612e5f565b9350612ecb818560208601612e6f565b612ed481612e97565b840191505092915050565b5f6020820190508181035f830152612ef78184612ea7565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f3982612f10565b9050919050565b612f4981612f2f565b8114612f53575f80fd5b50565b5f81359050612f6481612f40565b92915050565b5f819050919050565b612f7c81612f6a565b8114612f86575f80fd5b50565b5f81359050612f9781612f73565b92915050565b5f8060408385031215612fb357612fb2612f08565b5b5f612fc085828601612f56565b9250506020612fd185828601612f89565b9150509250929050565b5f8115159050919050565b612fef81612fdb565b82525050565b5f6020820190506130085f830184612fe6565b92915050565b61301781612fdb565b8114613021575f80fd5b50565b5f813590506130328161300e565b92915050565b5f6020828403121561304d5761304c612f08565b5b5f61305a84828501613024565b91505092915050565b61306c81612f6a565b82525050565b5f6020820190506130855f830184613063565b92915050565b5f80604083850312156130a1576130a0612f08565b5b5f6130ae85828601612f89565b92505060206130bf85828601612f89565b9150509250929050565b5f805f606084860312156130e0576130df612f08565b5b5f6130ed86828701612f56565b93505060206130fe86828701612f56565b925050604061310f86828701612f89565b9150509250925092565b5f60ff82169050919050565b61312e81613119565b82525050565b5f6020820190506131475f830184613125565b92915050565b5f6020828403121561316257613161612f08565b5b5f61316f84828501612f56565b91505092915050565b5f806040838503121561318e5761318d612f08565b5b5f61319b85828601612f56565b92505060206131ac85828601613024565b9150509250929050565b6131bf81612f2f565b82525050565b5f6020820190506131d85f8301846131b6565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61321882612e97565b810181811067ffffffffffffffff82111715613237576132366131e2565b5b80604052505050565b5f613249612eff565b9050613255828261320f565b919050565b5f67ffffffffffffffff821115613274576132736131e2565b5b602082029050602081019050919050565b5f80fd5b5f61329b6132968461325a565b613240565b905080838252602082019050602084028301858111156132be576132bd613285565b5b835b818110156132e757806132d38882612f56565b8452602084019350506020810190506132c0565b5050509392505050565b5f82601f830112613305576133046131de565b5b8135613315848260208601613289565b91505092915050565b5f806040838503121561333457613333612f08565b5b5f83013567ffffffffffffffff81111561335157613350612f0c565b5b61335d858286016132f1565b925050602061336e85828601613024565b9150509250929050565b5f806040838503121561338e5761338d612f08565b5b5f61339b85828601612f56565b92505060206133ac85828601612f56565b9150509250929050565b5f819050919050565b5f6133d96133d46133cf84612f10565b6133b6565b612f10565b9050919050565b5f6133ea826133bf565b9050919050565b5f6133fb826133e0565b9050919050565b61340b816133f1565b82525050565b5f6020820190506134245f830184613402565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061346e57607f821691505b6020821081036134815761348061342a565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6134bb602083612e5f565b91506134c682613487565b602082019050919050565b5f6020820190508181035f8301526134e8816134af565b9050919050565b7f6d757374206b656570206d6178205468726573686f6c64206174203125206f725f8201527f206c657373000000000000000000000000000000000000000000000000000000602082015250565b5f613549602583612e5f565b9150613554826134ef565b604082019050919050565b5f6020820190508181035f8301526135768161353d565b9050919050565b7f6d696e205468726573686f6c64206d75737420626520677265617465722074685f8201527f616e206f7220657175616c20746f20302e303125000000000000000000000000602082015250565b5f6135d7603483612e5f565b91506135e28261357d565b604082019050919050565b5f6020820190508181035f830152613604816135cb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561368d578086048111156136695761366861360b565b5b60018516156136785780820291505b808102905061368685613638565b945061364d565b94509492505050565b5f826136a55760019050613760565b816136b2575f9050613760565b81600181146136c857600281146136d257613701565b6001915050613760565b60ff8411156136e4576136e361360b565b5b8360020a9150848211156136fb576136fa61360b565b5b50613760565b5060208310610133831016604e8410600b84101617156137365782820a9050838111156137315761373061360b565b5b613760565b6137438484846001613644565b9250905081840481111561375a5761375961360b565b5b81810290505b9392505050565b5f61377182612f6a565b915061377c83613119565b92506137a97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613696565b905092915050565b5f6137bb82612f6a565b91506137c683612f6a565b92508282026137d481612f6a565b915082820484148315176137eb576137ea61360b565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61384c602883612e5f565b9150613857826137f2565b604082019050919050565b5f6020820190508181035f83015261387981613840565b9050919050565b5f61388a82612f6a565b915061389583612f6a565b92508282039050818111156138ad576138ac61360b565b5b92915050565b5f6138bd82612f6a565b91506138c883612f6a565b92508282019050808211156138e0576138df61360b565b5b92915050565b7f46656520416464726573732063616e6e6f74206265207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613940602283612e5f565b915061394b826138e6565b604082019050919050565b5f6020820190508181035f83015261396d81613934565b9050919050565b7f46656520416464726573732063616e6e6f7420626520434100000000000000005f82015250565b5f6139a8601883612e5f565b91506139b382613974565b602082019050919050565b5f6020820190508181035f8301526139d58161399c565b9050919050565b5f6040820190506139ef5f830185613063565b6139fc6020830184613063565b9392505050565b7f43616e6e6f742072652d656e61626c652074726164696e6700000000000000005f82015250565b5f613a37601883612e5f565b9150613a4282613a03565b602082019050919050565b5f6020820190508181035f830152613a6481613a2b565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c5f8201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b5f613ac5603683612e5f565b9150613ad082613a6b565b604082019050919050565b5f6020820190508181035f830152613af281613ab9565b9050919050565b5f604082019050613b0c5f8301856131b6565b613b196020830184613063565b9392505050565b5f81519050613b2e8161300e565b92915050565b5f60208284031215613b4957613b48612f08565b5b5f613b5684828501613b20565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613b9682612f6a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bc857613bc761360b565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613c2d602583612e5f565b9150613c3882613bd3565b604082019050919050565b5f6020820190508181035f830152613c5a81613c21565b9050919050565b7f43616e6e6f7420736574204d617857616c6c657420616d6f756e74206c6f77655f8201527f72207468656e20302e3125000000000000000000000000000000000000000000602082015250565b5f613cbb602b83612e5f565b9150613cc682613c61565b604082019050919050565b5f6020820190508181035f830152613ce881613caf565b9050919050565b7f43616e6e6f7420736574204d6178547820616d6f756e74206c6f7765722074685f8201527f656e20302e312500000000000000000000000000000000000000000000000000602082015250565b5f613d49602783612e5f565b9150613d5482613cef565b604082019050919050565b5f6020820190508181035f830152613d7681613d3d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613dd7602683612e5f565b9150613de282613d7d565b604082019050919050565b5f6020820190508181035f830152613e0481613dcb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613e65602483612e5f565b9150613e7082613e0b565b604082019050919050565b5f6020820190508181035f830152613e9281613e59565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ef3602283612e5f565b9150613efe82613e99565b604082019050919050565b5f6020820190508181035f830152613f2081613ee7565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613f81602983612e5f565b9150613f8c82613f27565b604082019050919050565b5f6020820190508181035f830152613fae81613f75565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e73000000000000005f82015250565b5f613fe9601983612e5f565b9150613ff482613fb5565b602082019050919050565b5f6020820190508181035f83015261401681613fdd565b9050919050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f614051601383612e5f565b915061405c8261401d565b602082019050919050565b5f6020820190508181035f83015261407e81614045565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6140b9601983612e5f565b91506140c482614085565b602082019050919050565b5f6020820190508181035f8301526140e6816140ad565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f614121601a83612e5f565b915061412c826140ed565b602082019050919050565b5f6020820190508181035f83015261414e81614115565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61418c82612f6a565b915061419783612f6a565b9250826141a7576141a6614155565b5b828204905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61420c602583612e5f565b9150614217826141b2565b604082019050919050565b5f6020820190508181035f83015261423981614200565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61429a602383612e5f565b91506142a582614240565b604082019050919050565b5f6020820190508181035f8301526142c78161428e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614328602683612e5f565b9150614333826142ce565b604082019050919050565b5f6020820190508181035f8301526143558161431c565b9050919050565b5f8151905061436a81612f40565b92915050565b5f6020828403121561438557614384612f08565b5b5f6143928482850161435c565b91505092915050565b5f819050919050565b5f6143be6143b96143b48461439b565b6133b6565b612f6a565b9050919050565b6143ce816143a4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61440681612f2f565b82525050565b5f61441783836143fd565b60208301905092915050565b5f602082019050919050565b5f614439826143d4565b61444381856143de565b935061444e836143ee565b805f5b8381101561447e578151614465888261440c565b975061447083614423565b925050600181019050614451565b5085935050505092915050565b5f60a08201905061449e5f830188613063565b6144ab60208301876143c5565b81810360408301526144bd818661442f565b90506144cc60608301856131b6565b6144d96080830184613063565b9695505050505050565b5f60c0820190506144f65f8301896131b6565b6145036020830188613063565b61451060408301876143c5565b61451d60608301866143c5565b61452a60808301856131b6565b61453760a0830184613063565b979650505050505050565b5f8151905061455081612f73565b92915050565b5f805f6060848603121561456d5761456c612f08565b5b5f61457a86828701614542565b935050602061458b86828701614542565b925050604061459c86828701614542565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e63650000005f82015250565b5f6145da601d83612e5f565b91506145e5826145a6565b602082019050919050565b5f6020820190508181035f830152614607816145ce565b9050919050565b5f81905092915050565b50565b5f6146265f8361460e565b915061463182614618565b5f82019050919050565b5f6146458261461b565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c20725f8201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b5f6146a9603a83612e5f565b91506146b48261464f565b604082019050919050565b5f6020820190508181035f8301526146d68161469d565b905091905056fea26469706673582212200235cf8643a8a24749eb67f8801d823cb8bf7d03744566302edfd1369e51c66b64736f6c63430008150033
Deployed Bytecode
0x60806040526004361061021d575f3560e01c80638a8c523c11610122578063ad3026e4116100aa578063e0eb9cb31161006e578063e0eb9cb3146107a8578063ea2f0b37146107d2578063f2fde38b146107fa578063f887ea4014610822578063fc962edb1461084c57610224565b8063ad3026e4146106b6578063beffc7d4146106de578063c5d32bb214610706578063d256413e14610742578063dd62ed3e1461076c57610224565b8063a1e71b57116100f1578063a1e71b57146105d6578063a40f0ce7146105fe578063a457c2d714610614578063a8aa1b3114610650578063a9059cbb1461067a57610224565b80638a8c523c146105445780638cd4426d1461055a5780638da5cb5b1461058257806395d89b41146105ac57610224565b8063437823ec116101a5578063610e34b911610174578063610e34b91461047657806370a082311461049e578063715018a6146104da57806375f0a874146104f057806385141a771461051a57610224565b8063437823ec146103d45780634ada218b146103fc5780635ae34339146104265780635d098b381461044e57610224565b80631d5dace3116101ec5780631d5dace3146102e057806323b872dd1461030857806329b8cff314610344578063313ce5671461036e578063395093511461039857610224565b806306fdde0314610228578063095ea7b3146102525780631340538f1461028e57806318160ddd146102b657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c610876565b6040516102499190612edf565b60405180910390f35b34801561025d575f80fd5b5061027860048036038101906102739190612f9d565b610906565b6040516102859190612ff5565b60405180910390f35b348015610299575f80fd5b506102b460048036038101906102af9190613038565b610923565b005b3480156102c1575f80fd5b506102ca6109bc565b6040516102d79190613072565b60405180910390f35b3480156102eb575f80fd5b506103066004803603810190610301919061308b565b6109c5565b005b348015610313575f80fd5b5061032e600480360381019061032991906130c9565b610b18565b60405161033b9190612ff5565b60405180910390f35b34801561034f575f80fd5b50610358610c13565b6040516103659190613072565b60405180910390f35b348015610379575f80fd5b50610382610c19565b60405161038f9190613134565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b99190612f9d565b610c21565b6040516103cb9190612ff5565b60405180910390f35b3480156103df575f80fd5b506103fa60048036038101906103f5919061314d565b610cc8565b005b348015610407575f80fd5b50610410610d9c565b60405161041d9190612ff5565b60405180910390f35b348015610431575f80fd5b5061044c60048036038101906104479190613178565b610daf565b005b348015610459575f80fd5b50610474600480360381019061046f919061314d565b610e83565b005b348015610481575f80fd5b5061049c6004803603810190610497919061308b565b611073565b005b3480156104a9575f80fd5b506104c460048036038101906104bf919061314d565b61113f565b6040516104d19190613072565b60405180910390f35b3480156104e5575f80fd5b506104ee611184565b005b3480156104fb575f80fd5b5061050461120b565b60405161051191906131c5565b60405180910390f35b348015610525575f80fd5b5061052e611230565b60405161053b91906131c5565b60405180910390f35b34801561054f575f80fd5b50610558611236565b005b348015610565575f80fd5b50610580600480360381019061057b9190612f9d565b61131f565b005b34801561058d575f80fd5b50610596611490565b6040516105a391906131c5565b60405180910390f35b3480156105b7575f80fd5b506105c06114b8565b6040516105cd9190612edf565b60405180910390f35b3480156105e1575f80fd5b506105fc60048036038101906105f7919061331e565b611548565b005b348015610609575f80fd5b50610612611655565b005b34801561061f575f80fd5b5061063a60048036038101906106359190612f9d565b611723565b6040516106479190612ff5565b60405180910390f35b34801561065b575f80fd5b50610664611812565b60405161067191906131c5565b60405180910390f35b348015610685575f80fd5b506106a0600480360381019061069b9190612f9d565b611837565b6040516106ad9190612ff5565b60405180910390f35b3480156106c1575f80fd5b506106dc60048036038101906106d7919061308b565b61184d565b005b3480156106e9575f80fd5b5061070460048036038101906106ff919061308b565b6119da565b005b348015610711575f80fd5b5061072c6004803603810190610727919061314d565b611aa6565b6040516107399190612ff5565b60405180910390f35b34801561074d575f80fd5b50610756611ac3565b6040516107639190613072565b60405180910390f35b348015610777575f80fd5b50610792600480360381019061078d9190613378565b611ac9565b60405161079f9190613072565b60405180910390f35b3480156107b3575f80fd5b506107bc611b4b565b6040516107c99190613072565b60405180910390f35b3480156107dd575f80fd5b506107f860048036038101906107f3919061314d565b611b51565b005b348015610805575f80fd5b50610820600480360381019061081b919061314d565b611c24565b005b34801561082d575f80fd5b50610836611d1a565b6040516108439190613411565b60405180910390f35b348015610857575f80fd5b50610860611d3f565b60405161086d9190613072565b60405180910390f35b60606003805461088590613457565b80601f01602080910402602001604051908101604052809291908181526020018280546108b190613457565b80156108fc5780601f106108d3576101008083540402835291602001916108fc565b820191905f5260205f20905b8154815290600101906020018083116108df57829003601f168201915b5050505050905090565b5f610919610912611d45565b8484611d4c565b6001905092915050565b61092b611d45565b73ffffffffffffffffffffffffffffffffffffffff16610949611490565b73ffffffffffffffffffffffffffffffffffffffff161461099f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610996906134d1565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b5f600254905090565b6109cd611d45565b73ffffffffffffffffffffffffffffffffffffffff166109eb611490565b73ffffffffffffffffffffffffffffffffffffffff1614610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a38906134d1565b60405180910390fd5b612710821115610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d9061355f565b60405180910390fd5b6064811015610aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac1906135ed565b60405180910390fd5b610ad2610c19565b600a610ade9190613767565b82610ae991906137b1565b600881905550610af7610c19565b600a610b039190613767565b81610b0e91906137b1565b6009819055505050565b5f610b24848484611f0f565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b6b611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be190613862565b60405180910390fd5b610c0785610bf6611d45565b8584610c029190613880565b611d4c565b60019150509392505050565b600b5481565b5f6012905090565b5f610cbe610c2d611d45565b848460015f610c3a611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610cb991906138b3565b611d4c565b6001905092915050565b610cd0611d45565b73ffffffffffffffffffffffffffffffffffffffff16610cee611490565b73ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b906134d1565b60405180910390fd5b600160135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600760169054906101000a900460ff1681565b610db7611d45565b73ffffffffffffffffffffffffffffffffffffffff16610dd5611490565b73ffffffffffffffffffffffffffffffffffffffff1614610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e22906134d1565b60405180910390fd5b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610e8b611d45565b73ffffffffffffffffffffffffffffffffffffffff16610ea9611490565b73ffffffffffffffffffffffffffffffffffffffff1614610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef6906134d1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6490613956565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd2906139be565b60405180910390fd5b600160135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61107b611d45565b73ffffffffffffffffffffffffffffffffffffffff16611099611490565b73ffffffffffffffffffffffffffffffffffffffff16146110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906134d1565b60405180910390fd5b81600d5f018190555080600d600101819055507fa2b219a42aa557965901397e42601390282bb6828cabbd7675dca50ba6aa62ca82826040516111339291906139dc565b60405180910390a15050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61118c611d45565b73ffffffffffffffffffffffffffffffffffffffff166111aa611490565b73ffffffffffffffffffffffffffffffffffffffff1614611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f7906134d1565b60405180910390fd5b6112095f61259d565b565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b61123e611d45565b73ffffffffffffffffffffffffffffffffffffffff1661125c611490565b73ffffffffffffffffffffffffffffffffffffffff16146112b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a9906134d1565b60405180910390fd5b600760169054906101000a900460ff1615611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f990613a4d565b60405180910390fd5b6001600760166101000a81548160ff021916908315150217905550565b611327611d45565b73ffffffffffffffffffffffffffffffffffffffff16611345611490565b73ffffffffffffffffffffffffffffffffffffffff161461139b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611392906134d1565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140090613adb565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61142d611490565b836040518363ffffffff1660e01b815260040161144b929190613af9565b6020604051808303815f875af1158015611467573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148b9190613b34565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546114c790613457565b80601f01602080910402602001604051908101604052809291908181526020018280546114f390613457565b801561153e5780601f106115155761010080835404028352916020019161153e565b820191905f5260205f20905b81548152906001019060200180831161152157829003601f168201915b5050505050905090565b611550611d45565b73ffffffffffffffffffffffffffffffffffffffff1661156e611490565b73ffffffffffffffffffffffffffffffffffffffff16146115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb906134d1565b60405180910390fd5b5f5b8251811015611650578160145f8584815181106115e6576115e5613b5f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061164890613b8c565b9150506115c6565b505050565b61165d611d45565b73ffffffffffffffffffffffffffffffffffffffff1661167b611490565b73ffffffffffffffffffffffffffffffffffffffff16146116d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c8906134d1565b60405180910390fd5b5f4790506116dd611490565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561171f573d5f803e3d5ffd5b5050565b5f8060015f611730611d45565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e190613c43565b60405180910390fd5b6118076117f5611d45565b8585846118029190613880565b611d4c565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f611843338484611f0f565b6001905092915050565b611855611d45565b73ffffffffffffffffffffffffffffffffffffffff16611873611490565b73ffffffffffffffffffffffffffffffffffffffff16146118c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c0906134d1565b60405180910390fd5b6118d1610c19565b600a6118dd9190613767565b826118e891906137b1565b600b819055506118f6610c19565b600a6119029190613767565b8161190d91906137b1565b600a819055506103e8821015611958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194f90613cd1565b60405180910390fd5b6103e881101561199d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199490613d5f565b60405180910390fd5b7f202f4712f0dae21d708451caa16ed4b41cb5c9974ab3d34d1f1dc4dfc5a222db82826040516119ce9291906139dc565b60405180910390a15050565b6119e2611d45565b73ffffffffffffffffffffffffffffffffffffffff16611a00611490565b73ffffffffffffffffffffffffffffffffffffffff1614611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d906134d1565b60405180910390fd5b81600f5f018190555080600f600101819055507f7873124e0d91bc71776e2961704366640b879893d05157d7bfa606dd9e58227d8282604051611a9a9291906139dc565b60405180910390a15050565b6013602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60115481565b611b59611d45565b73ffffffffffffffffffffffffffffffffffffffff16611b77611490565b73ffffffffffffffffffffffffffffffffffffffff1614611bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc4906134d1565b60405180910390fd5b5f60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b611c2c611d45565b73ffffffffffffffffffffffffffffffffffffffff16611c4a611490565b73ffffffffffffffffffffffffffffffffffffffff1614611ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c97906134d1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0590613ded565b60405180910390fd5b611d178161259d565b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db190613e7b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90613f09565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f029190613072565b60405180910390a3505050565b5f8111611f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4890613f97565b60405180910390fd5b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611fef575060145f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61202e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202590613fff565b60405180910390fd5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156120cc575060135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561212157600760169054906101000a900460ff16612120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211790614067565b60405180910390fd5b5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156121ca575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561221d575060135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156122c057600a54811115612267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225e906140cf565b60405180910390fd5b600b54816122748461113f565b61227e91906138b3565b11156122bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b690614137565b60405180910390fd5b5b5f805f6122cb612e3d565b600760149054906101000a900460ff168061232c575060135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8061237d575060135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561238a575f91506124b2565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361241f57600f5f0154600f600101546123f391906138b3565b9350839250600f6040518060400160405290815f820154815260200160018201548152505090506124b1565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146124b057600d5f0154600d6001015461248891906138b3565b9350839250600d6040518060400160405290815f820154815260200160018201548152505090505b5b5b606483866124c091906137b1565b6124ca9190614182565b9150600760159054906101000a900460ff168015612535575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15612545576125448482612660565b5b61255b878784886125569190613880565b6127d4565b5f821115612594575f841115612593575f6064858761257a91906137b1565b6125849190614182565b90506125918830836127d4565b505b5b50505050505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff166127d0576001600760146101000a81548160ff0219169083151502179055505f8203156127b5575f6126a13061113f565b905060095481106127b3575f6002846126ba91906137b1565b90505f818460200151846126ce91906137b1565b6126d89190614182565b90505f4790506126e784612a3c565b5f81476126f49190613880565b90505f8660200151856127079190613880565b826127129190614182565b90505f87602001518261272591906137b1565b90505f81111561273a576127398582612c72565b5b5f885f015160028461274c91906137b1565b61275691906137b1565b90505f8111156127ab576127aa81600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612d4d90919063ffffffff16565b5b505050505050505b505b5f600760146101000a81548160ff0219169083151502179055505b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283990614222565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a7906142b0565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292a9061433e565b60405180910390fd5b818161293f9190613880565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546129ca91906138b3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a2e9190613072565b60405180910390a350505050565b5f600267ffffffffffffffff811115612a5857612a576131e2565b5b604051908082528060200260200182016040528015612a865781602001602082028036833780820191505090505b50905030815f81518110612a9d57612a9c613b5f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b659190614370565b81600181518110612b7957612b78613b5f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612bdf3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d4c565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612c4195949392919061448b565b5f604051808303815f87803b158015612c58575f80fd5b505af1158015612c6a573d5f803e3d5ffd5b505050505050565b612c9e3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d4c565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8061dead426040518863ffffffff1660e01b8152600401612d05969594939291906144e3565b60606040518083038185885af1158015612d21573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612d469190614556565b5050505050565b80471015612d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d87906145f0565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051612db59061463b565b5f6040518083038185875af1925050503d805f8114612def576040519150601f19603f3d011682016040523d82523d5f602084013e612df4565b606091505b5050905080612e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2f906146bf565b60405180910390fd5b505050565b60405180604001604052805f81526020015f81525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612e8c578082015181840152602081019050612e71565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612eb182612e55565b612ebb8185612e5f565b9350612ecb818560208601612e6f565b612ed481612e97565b840191505092915050565b5f6020820190508181035f830152612ef78184612ea7565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f3982612f10565b9050919050565b612f4981612f2f565b8114612f53575f80fd5b50565b5f81359050612f6481612f40565b92915050565b5f819050919050565b612f7c81612f6a565b8114612f86575f80fd5b50565b5f81359050612f9781612f73565b92915050565b5f8060408385031215612fb357612fb2612f08565b5b5f612fc085828601612f56565b9250506020612fd185828601612f89565b9150509250929050565b5f8115159050919050565b612fef81612fdb565b82525050565b5f6020820190506130085f830184612fe6565b92915050565b61301781612fdb565b8114613021575f80fd5b50565b5f813590506130328161300e565b92915050565b5f6020828403121561304d5761304c612f08565b5b5f61305a84828501613024565b91505092915050565b61306c81612f6a565b82525050565b5f6020820190506130855f830184613063565b92915050565b5f80604083850312156130a1576130a0612f08565b5b5f6130ae85828601612f89565b92505060206130bf85828601612f89565b9150509250929050565b5f805f606084860312156130e0576130df612f08565b5b5f6130ed86828701612f56565b93505060206130fe86828701612f56565b925050604061310f86828701612f89565b9150509250925092565b5f60ff82169050919050565b61312e81613119565b82525050565b5f6020820190506131475f830184613125565b92915050565b5f6020828403121561316257613161612f08565b5b5f61316f84828501612f56565b91505092915050565b5f806040838503121561318e5761318d612f08565b5b5f61319b85828601612f56565b92505060206131ac85828601613024565b9150509250929050565b6131bf81612f2f565b82525050565b5f6020820190506131d85f8301846131b6565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61321882612e97565b810181811067ffffffffffffffff82111715613237576132366131e2565b5b80604052505050565b5f613249612eff565b9050613255828261320f565b919050565b5f67ffffffffffffffff821115613274576132736131e2565b5b602082029050602081019050919050565b5f80fd5b5f61329b6132968461325a565b613240565b905080838252602082019050602084028301858111156132be576132bd613285565b5b835b818110156132e757806132d38882612f56565b8452602084019350506020810190506132c0565b5050509392505050565b5f82601f830112613305576133046131de565b5b8135613315848260208601613289565b91505092915050565b5f806040838503121561333457613333612f08565b5b5f83013567ffffffffffffffff81111561335157613350612f0c565b5b61335d858286016132f1565b925050602061336e85828601613024565b9150509250929050565b5f806040838503121561338e5761338d612f08565b5b5f61339b85828601612f56565b92505060206133ac85828601612f56565b9150509250929050565b5f819050919050565b5f6133d96133d46133cf84612f10565b6133b6565b612f10565b9050919050565b5f6133ea826133bf565b9050919050565b5f6133fb826133e0565b9050919050565b61340b816133f1565b82525050565b5f6020820190506134245f830184613402565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061346e57607f821691505b6020821081036134815761348061342a565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6134bb602083612e5f565b91506134c682613487565b602082019050919050565b5f6020820190508181035f8301526134e8816134af565b9050919050565b7f6d757374206b656570206d6178205468726573686f6c64206174203125206f725f8201527f206c657373000000000000000000000000000000000000000000000000000000602082015250565b5f613549602583612e5f565b9150613554826134ef565b604082019050919050565b5f6020820190508181035f8301526135768161353d565b9050919050565b7f6d696e205468726573686f6c64206d75737420626520677265617465722074685f8201527f616e206f7220657175616c20746f20302e303125000000000000000000000000602082015250565b5f6135d7603483612e5f565b91506135e28261357d565b604082019050919050565b5f6020820190508181035f830152613604816135cb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561368d578086048111156136695761366861360b565b5b60018516156136785780820291505b808102905061368685613638565b945061364d565b94509492505050565b5f826136a55760019050613760565b816136b2575f9050613760565b81600181146136c857600281146136d257613701565b6001915050613760565b60ff8411156136e4576136e361360b565b5b8360020a9150848211156136fb576136fa61360b565b5b50613760565b5060208310610133831016604e8410600b84101617156137365782820a9050838111156137315761373061360b565b5b613760565b6137438484846001613644565b9250905081840481111561375a5761375961360b565b5b81810290505b9392505050565b5f61377182612f6a565b915061377c83613119565b92506137a97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613696565b905092915050565b5f6137bb82612f6a565b91506137c683612f6a565b92508282026137d481612f6a565b915082820484148315176137eb576137ea61360b565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61384c602883612e5f565b9150613857826137f2565b604082019050919050565b5f6020820190508181035f83015261387981613840565b9050919050565b5f61388a82612f6a565b915061389583612f6a565b92508282039050818111156138ad576138ac61360b565b5b92915050565b5f6138bd82612f6a565b91506138c883612f6a565b92508282019050808211156138e0576138df61360b565b5b92915050565b7f46656520416464726573732063616e6e6f74206265207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613940602283612e5f565b915061394b826138e6565b604082019050919050565b5f6020820190508181035f83015261396d81613934565b9050919050565b7f46656520416464726573732063616e6e6f7420626520434100000000000000005f82015250565b5f6139a8601883612e5f565b91506139b382613974565b602082019050919050565b5f6020820190508181035f8301526139d58161399c565b9050919050565b5f6040820190506139ef5f830185613063565b6139fc6020830184613063565b9392505050565b7f43616e6e6f742072652d656e61626c652074726164696e6700000000000000005f82015250565b5f613a37601883612e5f565b9150613a4282613a03565b602082019050919050565b5f6020820190508181035f830152613a6481613a2b565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c5f8201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b5f613ac5603683612e5f565b9150613ad082613a6b565b604082019050919050565b5f6020820190508181035f830152613af281613ab9565b9050919050565b5f604082019050613b0c5f8301856131b6565b613b196020830184613063565b9392505050565b5f81519050613b2e8161300e565b92915050565b5f60208284031215613b4957613b48612f08565b5b5f613b5684828501613b20565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613b9682612f6a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613bc857613bc761360b565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613c2d602583612e5f565b9150613c3882613bd3565b604082019050919050565b5f6020820190508181035f830152613c5a81613c21565b9050919050565b7f43616e6e6f7420736574204d617857616c6c657420616d6f756e74206c6f77655f8201527f72207468656e20302e3125000000000000000000000000000000000000000000602082015250565b5f613cbb602b83612e5f565b9150613cc682613c61565b604082019050919050565b5f6020820190508181035f830152613ce881613caf565b9050919050565b7f43616e6e6f7420736574204d6178547820616d6f756e74206c6f7765722074685f8201527f656e20302e312500000000000000000000000000000000000000000000000000602082015250565b5f613d49602783612e5f565b9150613d5482613cef565b604082019050919050565b5f6020820190508181035f830152613d7681613d3d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613dd7602683612e5f565b9150613de282613d7d565b604082019050919050565b5f6020820190508181035f830152613e0481613dcb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613e65602483612e5f565b9150613e7082613e0b565b604082019050919050565b5f6020820190508181035f830152613e9281613e59565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ef3602283612e5f565b9150613efe82613e99565b604082019050919050565b5f6020820190508181035f830152613f2081613ee7565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613f81602983612e5f565b9150613f8c82613f27565b604082019050919050565b5f6020820190508181035f830152613fae81613f75565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e73000000000000005f82015250565b5f613fe9601983612e5f565b9150613ff482613fb5565b602082019050919050565b5f6020820190508181035f83015261401681613fdd565b9050919050565b7f54726164696e67206e6f7420656e61626c6564000000000000000000000000005f82015250565b5f614051601383612e5f565b915061405c8261401d565b602082019050919050565b5f6020820190508181035f83015261407e81614045565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6140b9601983612e5f565b91506140c482614085565b602082019050919050565b5f6020820190508181035f8301526140e6816140ad565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f614121601a83612e5f565b915061412c826140ed565b602082019050919050565b5f6020820190508181035f83015261414e81614115565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61418c82612f6a565b915061419783612f6a565b9250826141a7576141a6614155565b5b828204905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61420c602583612e5f565b9150614217826141b2565b604082019050919050565b5f6020820190508181035f83015261423981614200565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61429a602383612e5f565b91506142a582614240565b604082019050919050565b5f6020820190508181035f8301526142c78161428e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f614328602683612e5f565b9150614333826142ce565b604082019050919050565b5f6020820190508181035f8301526143558161431c565b9050919050565b5f8151905061436a81612f40565b92915050565b5f6020828403121561438557614384612f08565b5b5f6143928482850161435c565b91505092915050565b5f819050919050565b5f6143be6143b96143b48461439b565b6133b6565b612f6a565b9050919050565b6143ce816143a4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61440681612f2f565b82525050565b5f61441783836143fd565b60208301905092915050565b5f602082019050919050565b5f614439826143d4565b61444381856143de565b935061444e836143ee565b805f5b8381101561447e578151614465888261440c565b975061447083614423565b925050600181019050614451565b5085935050505092915050565b5f60a08201905061449e5f830188613063565b6144ab60208301876143c5565b81810360408301526144bd818661442f565b90506144cc60608301856131b6565b6144d96080830184613063565b9695505050505050565b5f60c0820190506144f65f8301896131b6565b6145036020830188613063565b61451060408301876143c5565b61451d60608301866143c5565b61452a60808301856131b6565b61453760a0830184613063565b979650505050505050565b5f8151905061455081612f73565b92915050565b5f805f6060848603121561456d5761456c612f08565b5b5f61457a86828701614542565b935050602061458b86828701614542565b925050604061459c86828701614542565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e63650000005f82015250565b5f6145da601d83612e5f565b91506145e5826145a6565b602082019050919050565b5f6020820190508181035f830152614607816145ce565b9050919050565b5f81905092915050565b50565b5f6146265f8361460e565b915061463182614618565b5f82019050919050565b5f6146458261461b565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c20725f8201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b5f6146a9603a83612e5f565b91506146b48261464f565b604082019050919050565b5f6020820190508181035f8301526146d68161469d565b905091905056fea26469706673582212200235cf8643a8a24749eb67f8801d823cb8bf7d03744566302edfd1369e51c66b64736f6c63430008150033
Deployed Bytecode Sourcemap
12487:10678:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2686:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14478:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20278:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3806;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20399:371;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14679:485;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12933:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3648:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15172:298;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22469:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12712:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22341:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21810:305;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20782:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3977:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11094:94;;;;;;;;;;;;;:::i;:::-;;12997:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13079:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21652:147;;;;;;;;;;;;;:::i;:::-;;22869:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10871:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2905:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22125:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22696:165;;;;;;;;;;;;;:::i;:::-;;15478:409;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12601:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15895:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21251:389;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21010:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13483:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12877:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4646:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13340:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22583:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11196:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12573:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13406:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2686:100;2740:13;2773:5;2766:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2686:100;:::o;14478:193::-;14580:4;14602:39;14611:12;:10;:12::i;:::-;14625:7;14634:6;14602:8;:39::i;:::-;14659:4;14652:11;;14478:193;;;;:::o;20278:108::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20373:5:::1;20352:18;;:26;;;;;;;;;;;;;;;;;;20278:108:::0;:::o;3806:::-;3867:7;3894:12;;3887:19;;3806:108;:::o;20399:371::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20516:5:::1;20502:10;:19;;20494:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20597:3;20583:10;:17;;20575:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;20700:10;:8;:10::i;:::-;20696:2;:14;;;;:::i;:::-;20683:10;:27;;;;:::i;:::-;20668:12;:42;;;;20752:10;:8;:10::i;:::-;20748:2;:14;;;;:::i;:::-;20735:10;:27;;;;:::i;:::-;20721:11;:41;;;;20399:371:::0;;:::o;14679:485::-;14811:4;14828:36;14838:6;14846:9;14857:6;14828:9;:36::i;:::-;14877:24;14904:11;:19;14916:6;14904:19;;;;;;;;;;;;;;;:33;14924:12;:10;:12::i;:::-;14904:33;;;;;;;;;;;;;;;;14877:60;;14990:6;14970:16;:26;;14948:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;15075:57;15084:6;15092:12;:10;:12::i;:::-;15125:6;15106:16;:25;;;;:::i;:::-;15075:8;:57::i;:::-;15152:4;15145:11;;;14679:485;;;;;:::o;12933:45::-;;;;:::o;3648:93::-;3706:5;3731:2;3724:9;;3648:93;:::o;15172:298::-;15288:4;15310:130;15333:12;:10;:12::i;:::-;15360:7;15419:10;15382:11;:25;15394:12;:10;:12::i;:::-;15382:25;;;;;;;;;;;;;;;:34;15408:7;15382:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;15310:8;:130::i;:::-;15458:4;15451:11;;15172:298;;;;:::o;22469:106::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22563:4:::1;22541:9;:19;22551:8;22541:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;22469:106:::0;:::o;12712:34::-;;;;;;;;;;;;;:::o;22341:117::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22445:5:::1;22421:12;:21;22434:7;22421:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;22341:117:::0;;:::o;21810:305::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21916:1:::1;21895:23;;:9;:23;;::::0;21887:70:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;21997:4;21976:26;;:9;:26;;::::0;21968:63:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22065:4;22042:9;:20;22052:9;22042:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;22098:9;22080:15;;:27;;;;;;;;;;;;;;;;;;21810:305:::0;:::o;20782:220::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20893:10:::1;20875:5;:15;;:28;;;;20932:10;20914:5;:15;;:28;;;;20955:39;20971:10;20983;20955:39;;;;;;;:::i;:::-;;;;;;;;20782:220:::0;;:::o;3977:177::-;4096:7;4128:9;:18;4138:7;4128:18;;;;;;;;;;;;;;;;4121:25;;3977:177;;;:::o;11094:94::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11159:21:::1;11177:1;11159:9;:21::i;:::-;11094:94::o:0;12997:75::-;;;;;;;;;;;;;:::o;13079:79::-;13116:42;13079:79;:::o;21652:147::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21716:14:::1;;;;;;;;;;;21715:15;21707:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;21787:4;21770:14;;:21;;;;;;;;;;;;;;;;;;21652:147::o:0;22869:238::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22982:4:::1;22962:25;;:8;:25;;::::0;22954:92:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23064:8;23057:25;;;23083:7;:5;:7::i;:::-;23092:6;23057:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22869:238:::0;;:::o;10871:87::-;10917:7;10944:6;;;;;;;;;;;10937:13;;10871:87;:::o;2905:104::-;2961:13;2994:7;2987:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2905:104;:::o;22125:208::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22225:9:::1;22220:106;22244:8;:15;22240:1;:19;22220:106;;;22309:5;22281:12;:25;22294:8;22303:1;22294:11;;;;;;;;:::i;:::-;;;;;;;;22281:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;22261:3;;;;;:::i;:::-;;;;22220:106;;;;22125:208:::0;;:::o;22696:165::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22747:26:::1;22776:21;22747:50;;22816:7;:5;:7::i;:::-;22808:25;;:45;22834:18;22808:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;22736:125;22696:165::o:0;15478:409::-;15599:4;15621:24;15648:11;:25;15660:12;:10;:12::i;:::-;15648:25;;;;;;;;;;;;;;;:34;15674:7;15648:34;;;;;;;;;;;;;;;;15621:61;;15721:15;15701:16;:35;;15693:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;15788:67;15797:12;:10;:12::i;:::-;15811:7;15839:15;15820:16;:34;;;;:::i;:::-;15788:8;:67::i;:::-;15875:4;15868:11;;;15478:409;;;;:::o;12601:19::-;;;;;;;;;;;;;:::o;15895:197::-;16000:4;16022:40;16032:10;16044:9;16055:6;16022:9;:40::i;:::-;16080:4;16073:11;;15895:197;;;;:::o;21251:389::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21373:10:::1;:8;:10::i;:::-;21369:2;:14;;;;:::i;:::-;21356:10;:27;;;;:::i;:::-;21340:13;:43;;;;21422:10;:8;:10::i;:::-;21418:2;:14;;;;:::i;:::-;21409:6;:23;;;;:::i;:::-;21395:11;:37;;;;21462:4;21448:10;:18;;21439:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;21540:4;21530:6;:14;;21521:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21600:32;21613:10;21625:6;21600:32;;;;;;;:::i;:::-;;;;;;;;21251:389:::0;;:::o;21010:229::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21126:10:::1;21104:9;:19;;:32;;;;21169:10;21147:9;:19;;:32;;;;21191:40;21208:10;21220;21191:40;;;;;;;:::i;:::-;;;;;;;;21010:229:::0;;:::o;13483:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;12877:43::-;;;;:::o;4646:201::-;4780:7;4812:11;:18;4824:5;4812:18;;;;;;;;;;;;;;;:27;4831:7;4812:27;;;;;;;;;;;;;;;;4805:34;;4646:201;;;;:::o;13340:59::-;;;;:::o;22583:105::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22675:5:::1;22653:9;:19;22663:8;22653:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;22583:105:::0;:::o;11196:229::-;11017:12;:10;:12::i;:::-;11006:23;;:7;:5;:7::i;:::-;:23;;;10998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11319:1:::1;11299:22;;:8;:22;;::::0;11277:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11398:19;11408:8;11398:9;:19::i;:::-;11196:229:::0;:::o;12573:21::-;;;;;;;;;;;;;:::o;13406:68::-;;;;:::o;329:98::-;382:7;409:10;402:17;;329:98;:::o;9807:380::-;9960:1;9943:19;;:5;:19;;;9935:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10041:1;10022:21;;:7;:21;;;10014:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10125:6;10095:11;:18;10107:5;10095:18;;;;;;;;;;;;;;;:27;10114:7;10095:27;;;;;;;;;;;;;;;:36;;;;10163:7;10147:32;;10156:5;10147:32;;;10172:6;10147:32;;;;;;:::i;:::-;;;;;;;;9807:380;;;:::o;16100:1985::-;16216:1;16207:6;:10;16199:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16284:12;:20;16297:6;16284:20;;;;;;;;;;;;;;;;;;;;;;;;;16283:21;:49;;;;;16309:12;:23;16322:9;16309:23;;;;;;;;;;;;;;;;;;;;;;;;;16308:24;16283:49;16275:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;16408:9;:17;16418:6;16408:17;;;;;;;;;;;;;;;;;;;;;;;;;16407:18;:43;;;;;16430:9;:20;16440:9;16430:20;;;;;;;;;;;;;;;;;;;;;;;;;16429:21;16407:43;16403:122;;;16475:14;;;;;;;;;;;16467:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;16403:122;16559:4;;;;;;;;;;;16549:14;;:6;:14;;;:46;;;;;16588:6;;;;;;;;;;;16567:28;;:9;:28;;;;16549:46;:71;;;;;16600:9;:20;16610:9;16600:20;;;;;;;;;;;;;;;;;;;;;;;;;16599:21;16549:71;16545:294;;;16660:11;;16650:6;:21;;16642:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;16761:13;;16751:6;16728:20;16738:9;16728;:20::i;:::-;:29;;;;:::i;:::-;:46;;16720:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;16545:294;16849:15;16875:14;16900:11;16922:25;;:::i;:::-;17035:10;;;;;;;;;;;:31;;;;17049:9;:17;17059:6;17049:17;;;;;;;;;;;;;;;;;;;;;;;;;17035:31;:55;;;;17070:9;:20;17080:9;17070:20;;;;;;;;;;;;;;;;;;;;;;;;;17035:55;17031:464;;;17111:1;17105:7;;17031:464;;;17176:4;;;;;;;;;;;17163:17;;:9;:17;;;17159:336;;17229:9;:19;;;17207:9;:19;;;:41;;;;:::i;:::-;17197:51;;17272:7;17263:16;;17309:9;17294:24;;;;;;;;;;;;;;;;;;;;;;;;;;;17159:336;;;17353:4;;;;;;;;;;;17340:17;;:9;:17;;;17336:159;;17402:5;:15;;;17384:5;:15;;;:33;;;;:::i;:::-;17374:43;;17441:7;17432:16;;17478:5;17463:20;;;;;;;;;;;;;;;;;;;;;;;;;;;17336:159;17159:336;17031:464;17534:3;17524:6;17515;:15;;;;:::i;:::-;17514:23;;;;:::i;:::-;17508:29;;17651:18;;;;;;;;;;;:36;;;;;17683:4;;;;;;;;;;;17673:14;;:6;:14;;;;17651:36;17647:85;;;17702:30;17710:7;17719:12;17702:7;:30::i;:::-;17647:85;17774:48;17790:6;17798:9;17818:3;17809:6;:12;;;;:::i;:::-;17774:15;:48::i;:::-;17843:1;17837:3;:7;17833:247;;;17919:1;17909:7;:11;17905:164;;;17941:17;17982:3;17971:7;17962:6;:16;;;;:::i;:::-;17961:24;;;;:::i;:::-;17941:44;;18004:49;18020:6;18036:4;18043:9;18004:15;:49::i;:::-;17922:147;17905:164;17833:247;16188:1897;;;;16100:1985;;;:::o;11433:173::-;11489:16;11508:6;;;;;;;;;;;11489:25;;11534:8;11525:6;;:17;;;;;;;;;;;;;;;;;;11589:8;11558:40;;11579:8;11558:40;;;;;;;;;;;;11478:128;11433:173;:::o;18093:1282::-;13832:10;;;;;;;;;;;13827:110;;13872:4;13859:10;;:17;;;;;;;;;;;;;;;;;;18197:1:::1;18186:7;:12:::0;18182:51;18215:7:::1;18182:51;18245:23;18271:24;18289:4;18271:9;:24::i;:::-;18245:50;;18329:11;;18310:15;:30;18306:1062;;18480:19;18512:1;18502:7;:11;;;;:::i;:::-;18480:33;;18528:32;18605:11;18582:9;:19;;;18564:15;:37;;;;:::i;:::-;18563:53;;;;:::i;:::-;18528:88;;18631:22;18656:21;18631:46;;18694:33;18711:15;18694:16;:33::i;:::-;18744:20;18791:14;18767:21;:38;;;;:::i;:::-;18744:61;;18820:19;18872:9;:19;;;18858:11;:33;;;;:::i;:::-;18842:12;:50;;;;:::i;:::-;18820:72;;18907:29;18953:9;:19;;;18939:11;:33;;;;:::i;:::-;18907:65;;19017:1;18993:21;:25;18989:172;;;19084:61;19097:24;19123:21;19084:12;:61::i;:::-;18989:172;19177:20;19218:9;:19;;;19214:1;19200:11;:15;;;;:::i;:::-;:37;;;;:::i;:::-;19177:60;;19271:1;19256:12;:16;19252:105;;;19293:48;19328:12;19301:15;;;;;;;;;;;19293:34;;;;:48;;;;:::i;:::-;19252:105;18342:1026;;;;;;;18306:1062;18171:1204;13891:1;13920:5:::0;13907:10;;:18;;;;;;;;;;;;;;;;;;13827:110;18093:1282;;:::o;8324:615::-;8482:1;8464:20;;:6;:20;;;8456:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8566:1;8545:23;;:9;:23;;;8537:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8621:21;8645:9;:17;8655:6;8645:17;;;;;;;;;;;;;;;;8621:41;;8712:6;8695:13;:23;;8673:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;8831:6;8815:13;:22;;;;:::i;:::-;8795:9;:17;8805:6;8795:17;;;;;;;;;;;;;;;:42;;;;8872:6;8848:9;:20;8858:9;8848:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8913:9;8896:35;;8905:6;8896:35;;;8924:6;8896:35;;;;;;:::i;:::-;;;;;;;;8445:494;8324:615;;;:::o;19383:448::-;19449:21;19487:1;19473:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19449:40;;19518:4;19500;19505:1;19500:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;19544:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19534:4;19539:1;19534:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;19570:53;19587:4;19602:6;;;;;;;;;;;19611:11;19570:8;:53::i;:::-;19636:6;;;;;;;;;;;:57;;;19708:11;19734:1;19750:4;19777;19797:15;19636:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19438:393;19383:448;:::o;19839:431::-;19920:53;19937:4;19952:6;;;;;;;;;;;19961:11;19920:8;:53::i;:::-;20016:6;;;;;;;;;;;:22;;;20046:9;20079:4;20099:11;20125:1;20168;13116:42;20236:15;20016:246;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19839:431;;:::o;10217:391::-;10346:6;10321:21;:31;;10299:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10423:12;10441:9;:14;;10463:6;10441:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10422:52;;;10507:7;10485:115;;;;;;;;;;;;:::i;:::-;;;;;;;;;10288:320;10217:391;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:116::-;3516:21;3531:5;3516:21;:::i;:::-;3509:5;3506:32;3496:60;;3552:1;3549;3542:12;3496:60;3446:116;:::o;3568:133::-;3611:5;3649:6;3636:20;3627:29;;3665:30;3689:5;3665:30;:::i;:::-;3568:133;;;;:::o;3707:323::-;3763:6;3812:2;3800:9;3791:7;3787:23;3783:32;3780:119;;;3818:79;;:::i;:::-;3780:119;3938:1;3963:50;4005:7;3996:6;3985:9;3981:22;3963:50;:::i;:::-;3953:60;;3909:114;3707:323;;;;:::o;4036:118::-;4123:24;4141:5;4123:24;:::i;:::-;4118:3;4111:37;4036:118;;:::o;4160:222::-;4253:4;4291:2;4280:9;4276:18;4268:26;;4304:71;4372:1;4361:9;4357:17;4348:6;4304:71;:::i;:::-;4160:222;;;;:::o;4388:474::-;4456:6;4464;4513:2;4501:9;4492:7;4488:23;4484:32;4481:119;;;4519:79;;:::i;:::-;4481:119;4639:1;4664:53;4709:7;4700:6;4689:9;4685:22;4664:53;:::i;:::-;4654:63;;4610:117;4766:2;4792:53;4837:7;4828:6;4817:9;4813:22;4792:53;:::i;:::-;4782:63;;4737:118;4388:474;;;;;:::o;4868:619::-;4945:6;4953;4961;5010:2;4998:9;4989:7;4985:23;4981:32;4978:119;;;5016:79;;:::i;:::-;4978:119;5136:1;5161:53;5206:7;5197:6;5186:9;5182:22;5161:53;:::i;:::-;5151:63;;5107:117;5263:2;5289:53;5334:7;5325:6;5314:9;5310:22;5289:53;:::i;:::-;5279:63;;5234:118;5391:2;5417:53;5462:7;5453:6;5442:9;5438:22;5417:53;:::i;:::-;5407:63;;5362:118;4868:619;;;;;:::o;5493:86::-;5528:7;5568:4;5561:5;5557:16;5546:27;;5493:86;;;:::o;5585:112::-;5668:22;5684:5;5668:22;:::i;:::-;5663:3;5656:35;5585:112;;:::o;5703:214::-;5792:4;5830:2;5819:9;5815:18;5807:26;;5843:67;5907:1;5896:9;5892:17;5883:6;5843:67;:::i;:::-;5703:214;;;;:::o;5923:329::-;5982:6;6031:2;6019:9;6010:7;6006:23;6002:32;5999:119;;;6037:79;;:::i;:::-;5999:119;6157:1;6182:53;6227:7;6218:6;6207:9;6203:22;6182:53;:::i;:::-;6172:63;;6128:117;5923:329;;;;:::o;6258:468::-;6323:6;6331;6380:2;6368:9;6359:7;6355:23;6351:32;6348:119;;;6386:79;;:::i;:::-;6348:119;6506:1;6531:53;6576:7;6567:6;6556:9;6552:22;6531:53;:::i;:::-;6521:63;;6477:117;6633:2;6659:50;6701:7;6692:6;6681:9;6677:22;6659:50;:::i;:::-;6649:60;;6604:115;6258:468;;;;;:::o;6732:118::-;6819:24;6837:5;6819:24;:::i;:::-;6814:3;6807:37;6732:118;;:::o;6856:222::-;6949:4;6987:2;6976:9;6972:18;6964:26;;7000:71;7068:1;7057:9;7053:17;7044:6;7000:71;:::i;:::-;6856:222;;;;:::o;7084:117::-;7193:1;7190;7183:12;7207:180;7255:77;7252:1;7245:88;7352:4;7349:1;7342:15;7376:4;7373:1;7366:15;7393:281;7476:27;7498:4;7476:27;:::i;:::-;7468:6;7464:40;7606:6;7594:10;7591:22;7570:18;7558:10;7555:34;7552:62;7549:88;;;7617:18;;:::i;:::-;7549:88;7657:10;7653:2;7646:22;7436:238;7393:281;;:::o;7680:129::-;7714:6;7741:20;;:::i;:::-;7731:30;;7770:33;7798:4;7790:6;7770:33;:::i;:::-;7680:129;;;:::o;7815:311::-;7892:4;7982:18;7974:6;7971:30;7968:56;;;8004:18;;:::i;:::-;7968:56;8054:4;8046:6;8042:17;8034:25;;8114:4;8108;8104:15;8096:23;;7815:311;;;:::o;8132:117::-;8241:1;8238;8231:12;8272:710;8368:5;8393:81;8409:64;8466:6;8409:64;:::i;:::-;8393:81;:::i;:::-;8384:90;;8494:5;8523:6;8516:5;8509:21;8557:4;8550:5;8546:16;8539:23;;8610:4;8602:6;8598:17;8590:6;8586:30;8639:3;8631:6;8628:15;8625:122;;;8658:79;;:::i;:::-;8625:122;8773:6;8756:220;8790:6;8785:3;8782:15;8756:220;;;8865:3;8894:37;8927:3;8915:10;8894:37;:::i;:::-;8889:3;8882:50;8961:4;8956:3;8952:14;8945:21;;8832:144;8816:4;8811:3;8807:14;8800:21;;8756:220;;;8760:21;8374:608;;8272:710;;;;;:::o;9005:370::-;9076:5;9125:3;9118:4;9110:6;9106:17;9102:27;9092:122;;9133:79;;:::i;:::-;9092:122;9250:6;9237:20;9275:94;9365:3;9357:6;9350:4;9342:6;9338:17;9275:94;:::i;:::-;9266:103;;9082:293;9005:370;;;;:::o;9381:678::-;9471:6;9479;9528:2;9516:9;9507:7;9503:23;9499:32;9496:119;;;9534:79;;:::i;:::-;9496:119;9682:1;9671:9;9667:17;9654:31;9712:18;9704:6;9701:30;9698:117;;;9734:79;;:::i;:::-;9698:117;9839:78;9909:7;9900:6;9889:9;9885:22;9839:78;:::i;:::-;9829:88;;9625:302;9966:2;9992:50;10034:7;10025:6;10014:9;10010:22;9992:50;:::i;:::-;9982:60;;9937:115;9381:678;;;;;:::o;10065:474::-;10133:6;10141;10190:2;10178:9;10169:7;10165:23;10161:32;10158:119;;;10196:79;;:::i;:::-;10158:119;10316:1;10341:53;10386:7;10377:6;10366:9;10362:22;10341:53;:::i;:::-;10331:63;;10287:117;10443:2;10469:53;10514:7;10505:6;10494:9;10490:22;10469:53;:::i;:::-;10459:63;;10414:118;10065:474;;;;;:::o;10545:60::-;10573:3;10594:5;10587:12;;10545:60;;;:::o;10611:142::-;10661:9;10694:53;10712:34;10721:24;10739:5;10721:24;:::i;:::-;10712:34;:::i;:::-;10694:53;:::i;:::-;10681:66;;10611:142;;;:::o;10759:126::-;10809:9;10842:37;10873:5;10842:37;:::i;:::-;10829:50;;10759:126;;;:::o;10891:141::-;10956:9;10989:37;11020:5;10989:37;:::i;:::-;10976:50;;10891:141;;;:::o;11038:161::-;11140:52;11186:5;11140:52;:::i;:::-;11135:3;11128:65;11038:161;;:::o;11205:252::-;11313:4;11351:2;11340:9;11336:18;11328:26;;11364:86;11447:1;11436:9;11432:17;11423:6;11364:86;:::i;:::-;11205:252;;;;:::o;11463:180::-;11511:77;11508:1;11501:88;11608:4;11605:1;11598:15;11632:4;11629:1;11622:15;11649:320;11693:6;11730:1;11724:4;11720:12;11710:22;;11777:1;11771:4;11767:12;11798:18;11788:81;;11854:4;11846:6;11842:17;11832:27;;11788:81;11916:2;11908:6;11905:14;11885:18;11882:38;11879:84;;11935:18;;:::i;:::-;11879:84;11700:269;11649:320;;;:::o;11975:182::-;12115:34;12111:1;12103:6;12099:14;12092:58;11975:182;:::o;12163:366::-;12305:3;12326:67;12390:2;12385:3;12326:67;:::i;:::-;12319:74;;12402:93;12491:3;12402:93;:::i;:::-;12520:2;12515:3;12511:12;12504:19;;12163:366;;;:::o;12535:419::-;12701:4;12739:2;12728:9;12724:18;12716:26;;12788:9;12782:4;12778:20;12774:1;12763:9;12759:17;12752:47;12816:131;12942:4;12816:131;:::i;:::-;12808:139;;12535:419;;;:::o;12960:224::-;13100:34;13096:1;13088:6;13084:14;13077:58;13169:7;13164:2;13156:6;13152:15;13145:32;12960:224;:::o;13190:366::-;13332:3;13353:67;13417:2;13412:3;13353:67;:::i;:::-;13346:74;;13429:93;13518:3;13429:93;:::i;:::-;13547:2;13542:3;13538:12;13531:19;;13190:366;;;:::o;13562:419::-;13728:4;13766:2;13755:9;13751:18;13743:26;;13815:9;13809:4;13805:20;13801:1;13790:9;13786:17;13779:47;13843:131;13969:4;13843:131;:::i;:::-;13835:139;;13562:419;;;:::o;13987:239::-;14127:34;14123:1;14115:6;14111:14;14104:58;14196:22;14191:2;14183:6;14179:15;14172:47;13987:239;:::o;14232:366::-;14374:3;14395:67;14459:2;14454:3;14395:67;:::i;:::-;14388:74;;14471:93;14560:3;14471:93;:::i;:::-;14589:2;14584:3;14580:12;14573:19;;14232:366;;;:::o;14604:419::-;14770:4;14808:2;14797:9;14793:18;14785:26;;14857:9;14851:4;14847:20;14843:1;14832:9;14828:17;14821:47;14885:131;15011:4;14885:131;:::i;:::-;14877:139;;14604:419;;;:::o;15029:180::-;15077:77;15074:1;15067:88;15174:4;15171:1;15164:15;15198:4;15195:1;15188:15;15215:102;15257:8;15304:5;15301:1;15297:13;15276:34;;15215:102;;;:::o;15323:848::-;15384:5;15391:4;15415:6;15406:15;;15439:5;15430:14;;15453:712;15474:1;15464:8;15461:15;15453:712;;;15569:4;15564:3;15560:14;15554:4;15551:24;15548:50;;;15578:18;;:::i;:::-;15548:50;15628:1;15618:8;15614:16;15611:451;;;16043:4;16036:5;16032:16;16023:25;;15611:451;16093:4;16087;16083:15;16075:23;;16123:32;16146:8;16123:32;:::i;:::-;16111:44;;15453:712;;;15323:848;;;;;;;:::o;16177:1073::-;16231:5;16422:8;16412:40;;16443:1;16434:10;;16445:5;;16412:40;16471:4;16461:36;;16488:1;16479:10;;16490:5;;16461:36;16557:4;16605:1;16600:27;;;;16641:1;16636:191;;;;16550:277;;16600:27;16618:1;16609:10;;16620:5;;;16636:191;16681:3;16671:8;16668:17;16665:43;;;16688:18;;:::i;:::-;16665:43;16737:8;16734:1;16730:16;16721:25;;16772:3;16765:5;16762:14;16759:40;;;16779:18;;:::i;:::-;16759:40;16812:5;;;16550:277;;16936:2;16926:8;16923:16;16917:3;16911:4;16908:13;16904:36;16886:2;16876:8;16873:16;16868:2;16862:4;16859:12;16855:35;16839:111;16836:246;;;16992:8;16986:4;16982:19;16973:28;;17027:3;17020:5;17017:14;17014:40;;;17034:18;;:::i;:::-;17014:40;17067:5;;16836:246;17107:42;17145:3;17135:8;17129:4;17126:1;17107:42;:::i;:::-;17092:57;;;;17181:4;17176:3;17172:14;17165:5;17162:25;17159:51;;;17190:18;;:::i;:::-;17159:51;17239:4;17232:5;17228:16;17219:25;;16177:1073;;;;;;:::o;17256:281::-;17314:5;17338:23;17356:4;17338:23;:::i;:::-;17330:31;;17382:25;17398:8;17382:25;:::i;:::-;17370:37;;17426:104;17463:66;17453:8;17447:4;17426:104;:::i;:::-;17417:113;;17256:281;;;;:::o;17543:410::-;17583:7;17606:20;17624:1;17606:20;:::i;:::-;17601:25;;17640:20;17658:1;17640:20;:::i;:::-;17635:25;;17695:1;17692;17688:9;17717:30;17735:11;17717:30;:::i;:::-;17706:41;;17896:1;17887:7;17883:15;17880:1;17877:22;17857:1;17850:9;17830:83;17807:139;;17926:18;;:::i;:::-;17807:139;17591:362;17543:410;;;;:::o;17959:227::-;18099:34;18095:1;18087:6;18083:14;18076:58;18168:10;18163:2;18155:6;18151:15;18144:35;17959:227;:::o;18192:366::-;18334:3;18355:67;18419:2;18414:3;18355:67;:::i;:::-;18348:74;;18431:93;18520:3;18431:93;:::i;:::-;18549:2;18544:3;18540:12;18533:19;;18192:366;;;:::o;18564:419::-;18730:4;18768:2;18757:9;18753:18;18745:26;;18817:9;18811:4;18807:20;18803:1;18792:9;18788:17;18781:47;18845:131;18971:4;18845:131;:::i;:::-;18837:139;;18564:419;;;:::o;18989:194::-;19029:4;19049:20;19067:1;19049:20;:::i;:::-;19044:25;;19083:20;19101:1;19083:20;:::i;:::-;19078:25;;19127:1;19124;19120:9;19112:17;;19151:1;19145:4;19142:11;19139:37;;;19156:18;;:::i;:::-;19139:37;18989:194;;;;:::o;19189:191::-;19229:3;19248:20;19266:1;19248:20;:::i;:::-;19243:25;;19282:20;19300:1;19282:20;:::i;:::-;19277:25;;19325:1;19322;19318:9;19311:16;;19346:3;19343:1;19340:10;19337:36;;;19353:18;;:::i;:::-;19337:36;19189:191;;;;:::o;19386:221::-;19526:34;19522:1;19514:6;19510:14;19503:58;19595:4;19590:2;19582:6;19578:15;19571:29;19386:221;:::o;19613:366::-;19755:3;19776:67;19840:2;19835:3;19776:67;:::i;:::-;19769:74;;19852:93;19941:3;19852:93;:::i;:::-;19970:2;19965:3;19961:12;19954:19;;19613:366;;;:::o;19985:419::-;20151:4;20189:2;20178:9;20174:18;20166:26;;20238:9;20232:4;20228:20;20224:1;20213:9;20209:17;20202:47;20266:131;20392:4;20266:131;:::i;:::-;20258:139;;19985:419;;;:::o;20410:174::-;20550:26;20546:1;20538:6;20534:14;20527:50;20410:174;:::o;20590:366::-;20732:3;20753:67;20817:2;20812:3;20753:67;:::i;:::-;20746:74;;20829:93;20918:3;20829:93;:::i;:::-;20947:2;20942:3;20938:12;20931:19;;20590:366;;;:::o;20962:419::-;21128:4;21166:2;21155:9;21151:18;21143:26;;21215:9;21209:4;21205:20;21201:1;21190:9;21186:17;21179:47;21243:131;21369:4;21243:131;:::i;:::-;21235:139;;20962:419;;;:::o;21387:332::-;21508:4;21546:2;21535:9;21531:18;21523:26;;21559:71;21627:1;21616:9;21612:17;21603:6;21559:71;:::i;:::-;21640:72;21708:2;21697:9;21693:18;21684:6;21640:72;:::i;:::-;21387:332;;;;;:::o;21725:174::-;21865:26;21861:1;21853:6;21849:14;21842:50;21725:174;:::o;21905:366::-;22047:3;22068:67;22132:2;22127:3;22068:67;:::i;:::-;22061:74;;22144:93;22233:3;22144:93;:::i;:::-;22262:2;22257:3;22253:12;22246:19;;21905:366;;;:::o;22277:419::-;22443:4;22481:2;22470:9;22466:18;22458:26;;22530:9;22524:4;22520:20;22516:1;22505:9;22501:17;22494:47;22558:131;22684:4;22558:131;:::i;:::-;22550:139;;22277:419;;;:::o;22702:241::-;22842:34;22838:1;22830:6;22826:14;22819:58;22911:24;22906:2;22898:6;22894:15;22887:49;22702:241;:::o;22949:366::-;23091:3;23112:67;23176:2;23171:3;23112:67;:::i;:::-;23105:74;;23188:93;23277:3;23188:93;:::i;:::-;23306:2;23301:3;23297:12;23290:19;;22949:366;;;:::o;23321:419::-;23487:4;23525:2;23514:9;23510:18;23502:26;;23574:9;23568:4;23564:20;23560:1;23549:9;23545:17;23538:47;23602:131;23728:4;23602:131;:::i;:::-;23594:139;;23321:419;;;:::o;23746:332::-;23867:4;23905:2;23894:9;23890:18;23882:26;;23918:71;23986:1;23975:9;23971:17;23962:6;23918:71;:::i;:::-;23999:72;24067:2;24056:9;24052:18;24043:6;23999:72;:::i;:::-;23746:332;;;;;:::o;24084:137::-;24138:5;24169:6;24163:13;24154:22;;24185:30;24209:5;24185:30;:::i;:::-;24084:137;;;;:::o;24227:345::-;24294:6;24343:2;24331:9;24322:7;24318:23;24314:32;24311:119;;;24349:79;;:::i;:::-;24311:119;24469:1;24494:61;24547:7;24538:6;24527:9;24523:22;24494:61;:::i;:::-;24484:71;;24440:125;24227:345;;;;:::o;24578:180::-;24626:77;24623:1;24616:88;24723:4;24720:1;24713:15;24747:4;24744:1;24737:15;24764:233;24803:3;24826:24;24844:5;24826:24;:::i;:::-;24817:33;;24872:66;24865:5;24862:77;24859:103;;24942:18;;:::i;:::-;24859:103;24989:1;24982:5;24978:13;24971:20;;24764:233;;;:::o;25003:224::-;25143:34;25139:1;25131:6;25127:14;25120:58;25212:7;25207:2;25199:6;25195:15;25188:32;25003:224;:::o;25233:366::-;25375:3;25396:67;25460:2;25455:3;25396:67;:::i;:::-;25389:74;;25472:93;25561:3;25472:93;:::i;:::-;25590:2;25585:3;25581:12;25574:19;;25233:366;;;:::o;25605:419::-;25771:4;25809:2;25798:9;25794:18;25786:26;;25858:9;25852:4;25848:20;25844:1;25833:9;25829:17;25822:47;25886:131;26012:4;25886:131;:::i;:::-;25878:139;;25605:419;;;:::o;26030:230::-;26170:34;26166:1;26158:6;26154:14;26147:58;26239:13;26234:2;26226:6;26222:15;26215:38;26030:230;:::o;26266:366::-;26408:3;26429:67;26493:2;26488:3;26429:67;:::i;:::-;26422:74;;26505:93;26594:3;26505:93;:::i;:::-;26623:2;26618:3;26614:12;26607:19;;26266:366;;;:::o;26638:419::-;26804:4;26842:2;26831:9;26827:18;26819:26;;26891:9;26885:4;26881:20;26877:1;26866:9;26862:17;26855:47;26919:131;27045:4;26919:131;:::i;:::-;26911:139;;26638:419;;;:::o;27063:226::-;27203:34;27199:1;27191:6;27187:14;27180:58;27272:9;27267:2;27259:6;27255:15;27248:34;27063:226;:::o;27295:366::-;27437:3;27458:67;27522:2;27517:3;27458:67;:::i;:::-;27451:74;;27534:93;27623:3;27534:93;:::i;:::-;27652:2;27647:3;27643:12;27636:19;;27295:366;;;:::o;27667:419::-;27833:4;27871:2;27860:9;27856:18;27848:26;;27920:9;27914:4;27910:20;27906:1;27895:9;27891:17;27884:47;27948:131;28074:4;27948:131;:::i;:::-;27940:139;;27667:419;;;:::o;28092:225::-;28232:34;28228:1;28220:6;28216:14;28209:58;28301:8;28296:2;28288:6;28284:15;28277:33;28092:225;:::o;28323:366::-;28465:3;28486:67;28550:2;28545:3;28486:67;:::i;:::-;28479:74;;28562:93;28651:3;28562:93;:::i;:::-;28680:2;28675:3;28671:12;28664:19;;28323:366;;;:::o;28695:419::-;28861:4;28899:2;28888:9;28884:18;28876:26;;28948:9;28942:4;28938:20;28934:1;28923:9;28919:17;28912:47;28976:131;29102:4;28976:131;:::i;:::-;28968:139;;28695:419;;;:::o;29120:223::-;29260:34;29256:1;29248:6;29244:14;29237:58;29329:6;29324:2;29316:6;29312:15;29305:31;29120:223;:::o;29349:366::-;29491:3;29512:67;29576:2;29571:3;29512:67;:::i;:::-;29505:74;;29588:93;29677:3;29588:93;:::i;:::-;29706:2;29701:3;29697:12;29690:19;;29349:366;;;:::o;29721:419::-;29887:4;29925:2;29914:9;29910:18;29902:26;;29974:9;29968:4;29964:20;29960:1;29949:9;29945:17;29938:47;30002:131;30128:4;30002:131;:::i;:::-;29994:139;;29721:419;;;:::o;30146:221::-;30286:34;30282:1;30274:6;30270:14;30263:58;30355:4;30350:2;30342:6;30338:15;30331:29;30146:221;:::o;30373:366::-;30515:3;30536:67;30600:2;30595:3;30536:67;:::i;:::-;30529:74;;30612:93;30701:3;30612:93;:::i;:::-;30730:2;30725:3;30721:12;30714:19;;30373:366;;;:::o;30745:419::-;30911:4;30949:2;30938:9;30934:18;30926:26;;30998:9;30992:4;30988:20;30984:1;30973:9;30969:17;30962:47;31026:131;31152:4;31026:131;:::i;:::-;31018:139;;30745:419;;;:::o;31170:228::-;31310:34;31306:1;31298:6;31294:14;31287:58;31379:11;31374:2;31366:6;31362:15;31355:36;31170:228;:::o;31404:366::-;31546:3;31567:67;31631:2;31626:3;31567:67;:::i;:::-;31560:74;;31643:93;31732:3;31643:93;:::i;:::-;31761:2;31756:3;31752:12;31745:19;;31404:366;;;:::o;31776:419::-;31942:4;31980:2;31969:9;31965:18;31957:26;;32029:9;32023:4;32019:20;32015:1;32004:9;32000:17;31993:47;32057:131;32183:4;32057:131;:::i;:::-;32049:139;;31776:419;;;:::o;32201:175::-;32341:27;32337:1;32329:6;32325:14;32318:51;32201:175;:::o;32382:366::-;32524:3;32545:67;32609:2;32604:3;32545:67;:::i;:::-;32538:74;;32621:93;32710:3;32621:93;:::i;:::-;32739:2;32734:3;32730:12;32723:19;;32382:366;;;:::o;32754:419::-;32920:4;32958:2;32947:9;32943:18;32935:26;;33007:9;33001:4;32997:20;32993:1;32982:9;32978:17;32971:47;33035:131;33161:4;33035:131;:::i;:::-;33027:139;;32754:419;;;:::o;33179:169::-;33319:21;33315:1;33307:6;33303:14;33296:45;33179:169;:::o;33354:366::-;33496:3;33517:67;33581:2;33576:3;33517:67;:::i;:::-;33510:74;;33593:93;33682:3;33593:93;:::i;:::-;33711:2;33706:3;33702:12;33695:19;;33354:366;;;:::o;33726:419::-;33892:4;33930:2;33919:9;33915:18;33907:26;;33979:9;33973:4;33969:20;33965:1;33954:9;33950:17;33943:47;34007:131;34133:4;34007:131;:::i;:::-;33999:139;;33726:419;;;:::o;34151:175::-;34291:27;34287:1;34279:6;34275:14;34268:51;34151:175;:::o;34332:366::-;34474:3;34495:67;34559:2;34554:3;34495:67;:::i;:::-;34488:74;;34571:93;34660:3;34571:93;:::i;:::-;34689:2;34684:3;34680:12;34673:19;;34332:366;;;:::o;34704:419::-;34870:4;34908:2;34897:9;34893:18;34885:26;;34957:9;34951:4;34947:20;34943:1;34932:9;34928:17;34921:47;34985:131;35111:4;34985:131;:::i;:::-;34977:139;;34704:419;;;:::o;35129:176::-;35269:28;35265:1;35257:6;35253:14;35246:52;35129:176;:::o;35311:366::-;35453:3;35474:67;35538:2;35533:3;35474:67;:::i;:::-;35467:74;;35550:93;35639:3;35550:93;:::i;:::-;35668:2;35663:3;35659:12;35652:19;;35311:366;;;:::o;35683:419::-;35849:4;35887:2;35876:9;35872:18;35864:26;;35936:9;35930:4;35926:20;35922:1;35911:9;35907:17;35900:47;35964:131;36090:4;35964:131;:::i;:::-;35956:139;;35683:419;;;:::o;36108:180::-;36156:77;36153:1;36146:88;36253:4;36250:1;36243:15;36277:4;36274:1;36267:15;36294:185;36334:1;36351:20;36369:1;36351:20;:::i;:::-;36346:25;;36385:20;36403:1;36385:20;:::i;:::-;36380:25;;36424:1;36414:35;;36429:18;;:::i;:::-;36414:35;36471:1;36468;36464:9;36459:14;;36294:185;;;;:::o;36485:224::-;36625:34;36621:1;36613:6;36609:14;36602:58;36694:7;36689:2;36681:6;36677:15;36670:32;36485:224;:::o;36715:366::-;36857:3;36878:67;36942:2;36937:3;36878:67;:::i;:::-;36871:74;;36954:93;37043:3;36954:93;:::i;:::-;37072:2;37067:3;37063:12;37056:19;;36715:366;;;:::o;37087:419::-;37253:4;37291:2;37280:9;37276:18;37268:26;;37340:9;37334:4;37330:20;37326:1;37315:9;37311:17;37304:47;37368:131;37494:4;37368:131;:::i;:::-;37360:139;;37087:419;;;:::o;37512:222::-;37652:34;37648:1;37640:6;37636:14;37629:58;37721:5;37716:2;37708:6;37704:15;37697:30;37512:222;:::o;37740:366::-;37882:3;37903:67;37967:2;37962:3;37903:67;:::i;:::-;37896:74;;37979:93;38068:3;37979:93;:::i;:::-;38097:2;38092:3;38088:12;38081:19;;37740:366;;;:::o;38112:419::-;38278:4;38316:2;38305:9;38301:18;38293:26;;38365:9;38359:4;38355:20;38351:1;38340:9;38336:17;38329:47;38393:131;38519:4;38393:131;:::i;:::-;38385:139;;38112:419;;;:::o;38537:225::-;38677:34;38673:1;38665:6;38661:14;38654:58;38746:8;38741:2;38733:6;38729:15;38722:33;38537:225;:::o;38768:366::-;38910:3;38931:67;38995:2;38990:3;38931:67;:::i;:::-;38924:74;;39007:93;39096:3;39007:93;:::i;:::-;39125:2;39120:3;39116:12;39109:19;;38768:366;;;:::o;39140:419::-;39306:4;39344:2;39333:9;39329:18;39321:26;;39393:9;39387:4;39383:20;39379:1;39368:9;39364:17;39357:47;39421:131;39547:4;39421:131;:::i;:::-;39413:139;;39140:419;;;:::o;39565:143::-;39622:5;39653:6;39647:13;39638:22;;39669:33;39696:5;39669:33;:::i;:::-;39565:143;;;;:::o;39714:351::-;39784:6;39833:2;39821:9;39812:7;39808:23;39804:32;39801:119;;;39839:79;;:::i;:::-;39801:119;39959:1;39984:64;40040:7;40031:6;40020:9;40016:22;39984:64;:::i;:::-;39974:74;;39930:128;39714:351;;;;:::o;40071:85::-;40116:7;40145:5;40134:16;;40071:85;;;:::o;40162:158::-;40220:9;40253:61;40271:42;40280:32;40306:5;40280:32;:::i;:::-;40271:42;:::i;:::-;40253:61;:::i;:::-;40240:74;;40162:158;;;:::o;40326:147::-;40421:45;40460:5;40421:45;:::i;:::-;40416:3;40409:58;40326:147;;:::o;40479:114::-;40546:6;40580:5;40574:12;40564:22;;40479:114;;;:::o;40599:184::-;40698:11;40732:6;40727:3;40720:19;40772:4;40767:3;40763:14;40748:29;;40599:184;;;;:::o;40789:132::-;40856:4;40879:3;40871:11;;40909:4;40904:3;40900:14;40892:22;;40789:132;;;:::o;40927:108::-;41004:24;41022:5;41004:24;:::i;:::-;40999:3;40992:37;40927:108;;:::o;41041:179::-;41110:10;41131:46;41173:3;41165:6;41131:46;:::i;:::-;41209:4;41204:3;41200:14;41186:28;;41041:179;;;;:::o;41226:113::-;41296:4;41328;41323:3;41319:14;41311:22;;41226:113;;;:::o;41375:732::-;41494:3;41523:54;41571:5;41523:54;:::i;:::-;41593:86;41672:6;41667:3;41593:86;:::i;:::-;41586:93;;41703:56;41753:5;41703:56;:::i;:::-;41782:7;41813:1;41798:284;41823:6;41820:1;41817:13;41798:284;;;41899:6;41893:13;41926:63;41985:3;41970:13;41926:63;:::i;:::-;41919:70;;42012:60;42065:6;42012:60;:::i;:::-;42002:70;;41858:224;41845:1;41842;41838:9;41833:14;;41798:284;;;41802:14;42098:3;42091:10;;41499:608;;;41375:732;;;;:::o;42113:831::-;42376:4;42414:3;42403:9;42399:19;42391:27;;42428:71;42496:1;42485:9;42481:17;42472:6;42428:71;:::i;:::-;42509:80;42585:2;42574:9;42570:18;42561:6;42509:80;:::i;:::-;42636:9;42630:4;42626:20;42621:2;42610:9;42606:18;42599:48;42664:108;42767:4;42758:6;42664:108;:::i;:::-;42656:116;;42782:72;42850:2;42839:9;42835:18;42826:6;42782:72;:::i;:::-;42864:73;42932:3;42921:9;42917:19;42908:6;42864:73;:::i;:::-;42113:831;;;;;;;;:::o;42950:807::-;43199:4;43237:3;43226:9;43222:19;43214:27;;43251:71;43319:1;43308:9;43304:17;43295:6;43251:71;:::i;:::-;43332:72;43400:2;43389:9;43385:18;43376:6;43332:72;:::i;:::-;43414:80;43490:2;43479:9;43475:18;43466:6;43414:80;:::i;:::-;43504;43580:2;43569:9;43565:18;43556:6;43504:80;:::i;:::-;43594:73;43662:3;43651:9;43647:19;43638:6;43594:73;:::i;:::-;43677;43745:3;43734:9;43730:19;43721:6;43677:73;:::i;:::-;42950:807;;;;;;;;;:::o;43763:143::-;43820:5;43851:6;43845:13;43836:22;;43867:33;43894:5;43867:33;:::i;:::-;43763:143;;;;:::o;43912:663::-;44000:6;44008;44016;44065:2;44053:9;44044:7;44040:23;44036:32;44033:119;;;44071:79;;:::i;:::-;44033:119;44191:1;44216:64;44272:7;44263:6;44252:9;44248:22;44216:64;:::i;:::-;44206:74;;44162:128;44329:2;44355:64;44411:7;44402:6;44391:9;44387:22;44355:64;:::i;:::-;44345:74;;44300:129;44468:2;44494:64;44550:7;44541:6;44530:9;44526:22;44494:64;:::i;:::-;44484:74;;44439:129;43912:663;;;;;:::o;44581:179::-;44721:31;44717:1;44709:6;44705:14;44698:55;44581:179;:::o;44766:366::-;44908:3;44929:67;44993:2;44988:3;44929:67;:::i;:::-;44922:74;;45005:93;45094:3;45005:93;:::i;:::-;45123:2;45118:3;45114:12;45107:19;;44766:366;;;:::o;45138:419::-;45304:4;45342:2;45331:9;45327:18;45319:26;;45391:9;45385:4;45381:20;45377:1;45366:9;45362:17;45355:47;45419:131;45545:4;45419:131;:::i;:::-;45411:139;;45138:419;;;:::o;45563:147::-;45664:11;45701:3;45686:18;;45563:147;;;;:::o;45716:114::-;;:::o;45836:398::-;45995:3;46016:83;46097:1;46092:3;46016:83;:::i;:::-;46009:90;;46108:93;46197:3;46108:93;:::i;:::-;46226:1;46221:3;46217:11;46210:18;;45836:398;;;:::o;46240:379::-;46424:3;46446:147;46589:3;46446:147;:::i;:::-;46439:154;;46610:3;46603:10;;46240:379;;;:::o;46625:245::-;46765:34;46761:1;46753:6;46749:14;46742:58;46834:28;46829:2;46821:6;46817:15;46810:53;46625:245;:::o;46876:366::-;47018:3;47039:67;47103:2;47098:3;47039:67;:::i;:::-;47032:74;;47115:93;47204:3;47115:93;:::i;:::-;47233:2;47228:3;47224:12;47217:19;;46876:366;;;:::o;47248:419::-;47414:4;47452:2;47441:9;47437:18;47429:26;;47501:9;47495:4;47491:20;47487:1;47476:9;47472:17;47465:47;47529:131;47655:4;47529:131;:::i;:::-;47521:139;;47248:419;;;:::o
Swarm Source
ipfs://0235cf8643a8a24749eb67f8801d823cb8bf7d03744566302edfd1369e51c66b
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.