Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
500,000 MONIE
Holders
367
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
54,077.98315052233661561 MONIEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MonieBotAI
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-22 */ /** */ /** */ pragma solidity 0.8.20; // SPDX-License-Identifier: MIT /* TELEGRAM:https://t.me/moniebotportal WEBSITE: https://www.moniebotai.com/ TWITTER: https://x.com/moniebotai */ 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 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ 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) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * 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; } function contractEthBalance() external view returns (uint256) { return address(this).balance; } /** * @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 default value returned by this function, unless * it's 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: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, 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}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @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) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, 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) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * This 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: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), 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); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() external virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract MonieBotAI is ERC20, Ownable { mapping (address => bool) public exemptFromFees; mapping (address => bool) public exemptFromLimits; mapping(address => bool) public isBlacklisted; bool public tradingActive; mapping (address => bool) public isAMMPair; uint256 public maxTransaction; uint256 public maxWallet; address public operationsAddress; uint256 public buyTax; uint256 public sellTax; mapping(address => uint256) private _holderLastTransferBlock; // to hold last Transfers temporarily during launch bool public transferDelayEnabled = true; bool public limitsInEffect = true; bool private swapping; uint256 public swapTokensAtAmt; address public lpPair; IDexRouter public dexRouter; uint256 public constant FEE_DIVISOR = 10000; // events event UpdatedMaxTransaction(uint256 newMax); event UpdatedMaxWallet(uint256 newMax); event SetExemptFromFees(address _address, bool _isExempt); event SetExemptFromLimits(address _address, bool _isExempt); event RemovedLimits(); event UpdatedBuyTax(uint256 newAmt); event UpdatedSellTax(uint256 newAmt); // constructor constructor(string memory _name, string memory _symbol) ERC20(_name, _symbol) { address newOwner = 0x43F27e72CC0D9f4270Ea259170771847fe637F69; _mint(newOwner, 500_000 * 1e18); uint256 _totalSupply = totalSupply(); address _v2Router; // @dev assumes WETH pair if(block.chainid == 1){ _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; } else if(block.chainid == 5){ _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; } else { revert("Chain not configured"); } dexRouter = IDexRouter(_v2Router); maxTransaction = _totalSupply * 15 / 1000; maxWallet = _totalSupply * 15 / 1000; swapTokensAtAmt = _totalSupply * 25 / 100000; operationsAddress = 0x118547D4c6A3160C1Eec427dF50313cC1FA17e41; buyTax = 500; // 1% = 100 sellTax = 500; // 1% = 100 lpPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH()); isAMMPair[lpPair] = true; exemptFromLimits[lpPair] = true; exemptFromLimits[newOwner] = true; exemptFromLimits[address(this)] = true; exemptFromLimits[address(dexRouter)] = true; exemptFromFees[newOwner] = true; exemptFromFees[address(this)] = true; exemptFromFees[address(dexRouter)] = true; _approve(address(this), address(dexRouter), type(uint256).max); transferOwnership(newOwner); } receive() external payable {} function _transfer( address from, address to, uint256 amount ) internal virtual override { // Check if the addresses are blacklisted require(!isBlacklisted[from], "Sender is blacklisted"); require(!isBlacklisted[to], "Recipient is blacklisted"); if(exemptFromFees[from] || exemptFromFees[to] || swapping){ super._transfer(from,to,amount); return; } require(tradingActive, "Trading not active"); if(limitsInEffect){ checkLimits(from, to, amount); } amount -= handleTax(from, to, amount); super._transfer(from,to,amount); } function checkLimits(address from, address to, uint256 amount) internal { if (transferDelayEnabled){ if (to != address(dexRouter) && !isAMMPair[to]){ require(_holderLastTransferBlock[tx.origin] < block.number, "Transfer Delay enabled."); _holderLastTransferBlock[tx.origin] = block.number; } } // buy if (isAMMPair[from] && !exemptFromLimits[to]) { require(amount <= maxTransaction, "Max tx exceeded."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } // sell else if (isAMMPair[to] && !exemptFromLimits[from]) { require(amount <= maxTransaction, "Max tx exceeded."); } else if(!exemptFromLimits[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } function handleTax(address from, address to, uint256 amount) internal returns (uint256){ if(balanceOf(address(this)) >= swapTokensAtAmt && !swapping && !isAMMPair[from]) { swapping = true; swapBack(); swapping = false; } uint256 tax = 0; // on sell if (isAMMPair[to] && sellTax > 0){ tax = amount * sellTax / FEE_DIVISOR; } // on buy else if(isAMMPair[from] && buyTax > 0) { tax = amount * buyTax / FEE_DIVISOR; } if(tax > 0){ super._transfer(from, address(this), tax); } return tax; } function swapTokensForETH(uint256 tokenAmt) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmt, 0, path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); if(contractBalance == 0) {return;} if(contractBalance > swapTokensAtAmt * 40){ contractBalance = swapTokensAtAmt * 40; } swapTokensForETH(contractBalance); if(address(this).balance > 0){ bool success; (success, ) = operationsAddress.call{value: address(this).balance}(""); } } // owner functions function addToBlacklist(address _address) external onlyOwner { require(_address != address(0), "Zero Address"); isBlacklisted[_address] = true; } function removeFromBlacklist(address _address) external onlyOwner { require(_address != address(0), "Zero Address"); isBlacklisted[_address] = false; } function setExemptFromFees(address _address, bool _isExempt) external onlyOwner { require(_address != address(0), "Zero Address"); exemptFromFees[_address] = _isExempt; emit SetExemptFromFees(_address, _isExempt); } function setExemptFromLimits(address _address, bool _isExempt) external onlyOwner { require(_address != address(0), "Zero Address"); if(!_isExempt){ require(_address != lpPair, "Pair"); } exemptFromLimits[_address] = _isExempt; emit SetExemptFromLimits(_address, _isExempt); } function updateMaxTransaction(uint256 newNumInTokens) external onlyOwner { require(newNumInTokens >= (totalSupply() * 5 / 1000)/(10**decimals()), "Too low"); maxTransaction = newNumInTokens * (10**decimals()); emit UpdatedMaxTransaction(maxTransaction); } function updateMaxWallet(uint256 newNumInTokens) external onlyOwner { require(newNumInTokens >= (totalSupply() * 1 / 100)/(10**decimals()), "Too low"); maxWallet = newNumInTokens * (10**decimals()); emit UpdatedMaxWallet(maxWallet); } function updateTaxes(uint256 _buyTax, uint256 _sellTax) external onlyOwner { buyTax = _buyTax; emit UpdatedBuyTax(buyTax); sellTax = _sellTax; emit UpdatedSellTax(sellTax); } function enableTrading() external onlyOwner { require(!tradingActive, "Trading active"); tradingActive = true; } function removeLimits() external onlyOwner { limitsInEffect = false; transferDelayEnabled = false; maxTransaction = totalSupply(); maxWallet = totalSupply(); emit RemovedLimits(); } function disableTransferDelay() external onlyOwner { transferDelayEnabled = false; } function updateOperationsAddress(address _address) external onlyOwner { require(_address != address(0), "zero address"); operationsAddress = _address; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExemptFromLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedBuyTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"UpdatedMaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmt","type":"uint256"}],"name":"UpdatedSellTax","type":"event"},{"inputs":[],"name":"FEE_DIVISOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addToBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"","type":"address"}],"name":"isAMMPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExemptFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumInTokens","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updateOperationsAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600160115f6101000a81548160ff0219169083151502179055506001601160016101000a81548160ff02191690831515021790555034801562000045575f80fd5b5060405162005b1738038062005b1783398181016040528101906200006b919062000f40565b818181600390816200007e9190620011fa565b508060049081620000909190620011fa565b5050505f620000a4620008a160201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f7343f27e72cc0d9f4270ea259170771847fe637f69905062000175816969e10de76676d0800000620008a860201b60201c565b5f6200018662000a0d60201b60201c565b90505f60014603620001af57737a250d5630b4cf539739df2c5dacb4c659f2488d905062000213565b60054603620001d557737a250d5630b4cf539739df2c5dacb4c659f2488d905062000212565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000209906200133c565b60405180910390fd5b5b8060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e8600f8362000265919062001389565b62000271919062001400565b600b819055506103e8600f8362000289919062001389565b62000295919062001400565b600c81905550620186a0601983620002ae919062001389565b620002ba919062001400565b60128190555073118547d4c6a3160c1eec427df50313cc1fa17e41600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101f4600e819055506101f4600f8190555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000391573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003b7919062001498565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200043e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000464919062001498565b6040518363ffffffff1660e01b815260040162000483929190620014d9565b6020604051808303815f875af1158015620004a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004c6919062001498565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620008853060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000a1660201b60201c565b620008968362000be160201b60201c565b505050505062001802565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000919576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009109062001552565b60405180910390fd5b6200092c5f838362000db160201b60201c565b8060025f8282546200093f919062001572565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009ee9190620015bd565b60405180910390a362000a095f838362000db660201b60201c565b5050565b5f600254905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a7e906200164c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000af8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aef90620016e0565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000bd49190620015bd565b60405180910390a3505050565b62000bf1620008a160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000c82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c79906200174e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000cf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cea90620017e2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000e1c8262000dd4565b810181811067ffffffffffffffff8211171562000e3e5762000e3d62000de4565b5b80604052505050565b5f62000e5262000dbb565b905062000e60828262000e11565b919050565b5f67ffffffffffffffff82111562000e825762000e8162000de4565b5b62000e8d8262000dd4565b9050602081019050919050565b5f5b8381101562000eb957808201518184015260208101905062000e9c565b5f8484015250505050565b5f62000eda62000ed48462000e65565b62000e47565b90508281526020810184848401111562000ef95762000ef862000dd0565b5b62000f0684828562000e9a565b509392505050565b5f82601f83011262000f255762000f2462000dcc565b5b815162000f3784826020860162000ec4565b91505092915050565b5f806040838503121562000f595762000f5862000dc4565b5b5f83015167ffffffffffffffff81111562000f795762000f7862000dc8565b5b62000f878582860162000f0e565b925050602083015167ffffffffffffffff81111562000fab5762000faa62000dc8565b5b62000fb98582860162000f0e565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200101257607f821691505b60208210810362001028576200102762000fcd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200108c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200104f565b6200109886836200104f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620010e2620010dc620010d684620010b0565b620010b9565b620010b0565b9050919050565b5f819050919050565b620010fd83620010c2565b620011156200110c82620010e9565b8484546200105b565b825550505050565b5f90565b6200112b6200111d565b62001138818484620010f2565b505050565b5b818110156200115f57620011535f8262001121565b6001810190506200113e565b5050565b601f821115620011ae5762001178816200102e565b620011838462001040565b8101602085101562001193578190505b620011ab620011a28562001040565b8301826200113d565b50505b505050565b5f82821c905092915050565b5f620011d05f1984600802620011b3565b1980831691505092915050565b5f620011ea8383620011bf565b9150826002028217905092915050565b620012058262000fc3565b67ffffffffffffffff81111562001221576200122062000de4565b5b6200122d825462000ffa565b6200123a82828562001163565b5f60209050601f83116001811462001270575f84156200125b578287015190505b620012678582620011dd565b865550620012d6565b601f19841662001280866200102e565b5f5b82811015620012a95784890151825560018201915060208501945060208101905062001282565b86831015620012c95784890151620012c5601f891682620011bf565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f436861696e206e6f7420636f6e666967757265640000000000000000000000005f82015250565b5f62001324601483620012de565b91506200133182620012ee565b602082019050919050565b5f6020820190508181035f830152620013558162001316565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200139582620010b0565b9150620013a283620010b0565b9250828202620013b281620010b0565b91508282048414831517620013cc57620013cb6200135c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200140c82620010b0565b91506200141983620010b0565b9250826200142c576200142b620013d3565b5b828204905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620014628262001437565b9050919050565b620014748162001456565b81146200147f575f80fd5b50565b5f81519050620014928162001469565b92915050565b5f60208284031215620014b057620014af62000dc4565b5b5f620014bf8482850162001482565b91505092915050565b620014d38162001456565b82525050565b5f604082019050620014ee5f830185620014c8565b620014fd6020830184620014c8565b9392505050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6200153a601f83620012de565b9150620015478262001504565b602082019050919050565b5f6020820190508181035f8301526200156b816200152c565b9050919050565b5f6200157e82620010b0565b91506200158b83620010b0565b9250828201905080821115620015a657620015a56200135c565b5b92915050565b620015b781620010b0565b82525050565b5f602082019050620015d25f830184620015ac565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62001634602483620012de565b91506200164182620015d8565b604082019050919050565b5f6020820190508181035f830152620016658162001626565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f620016c8602283620012de565b9150620016d5826200166c565b604082019050919050565b5f6020820190508181035f830152620016f981620016ba565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62001736602083620012de565b9150620017438262001700565b602082019050919050565b5f6020820190508181035f830152620017678162001728565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f620017ca602683620012de565b9150620017d7826200176e565b604082019050919050565b5f6020820190508181035f830152620017fb81620017bc565b9050919050565b61430780620018105f395ff3fe608060405260043610610254575f3560e01c80638a8c523c11610138578063c3f70b52116100b5578063e884f26011610079578063e884f260146108b1578063ea4cfe12146108c7578063ea6debd0146108f1578063f2fde38b14610919578063f8b45b0514610941578063fe575a871461096b5761025b565b8063c3f70b52146107cd578063c78d0fa0146107f7578063c876d0b914610821578063cc1776d31461084b578063dd62ed3e146108755761025b565b8063a13d1a2b116100fc578063a13d1a2b146106c7578063a457c2d7146106ef578063a9059cbb1461072b578063b0249cc614610767578063bbc0c742146107a35761025b565b80638a8c523c146105f75780638d3e6e401461060d5780638da5cb5b1461064957806395d89b41146106735780639e93ad8e1461069d5761025b565b806344337ea1116101d15780635a90a49e116101955780635a90a49e146105015780635d58ce361461053d57806370a0823114610567578063715018a6146105a3578063751039fc146105b957806377b27d1f146105cf5761025b565b806344337ea114610433578063452ed4f11461045b5780634a62bb65146104855780634f7041a5146104af578063537df3b6146104d95761025b565b806318160ddd1161021857806318160ddd1461033f5780631c499ab01461036957806323b872dd14610391578063313ce567146103cd57806339509351146103f75761025b565b80630517d13d1461025f57806306fdde03146102875780630758d924146102b1578063095ea7b3146102db5780631006ee0c146103175761025b565b3661025b57005b5f80fd5b34801561026a575f80fd5b5061028560048036038101906102809190613060565b6109a7565b005b348015610292575f80fd5b5061029b610b1f565b6040516102a89190613115565b60405180910390f35b3480156102bc575f80fd5b506102c5610baf565b6040516102d291906131af565b60405180910390f35b3480156102e6575f80fd5b5061030160048036038101906102fc9190613203565b610bd4565b60405161030e919061325b565b60405180910390f35b348015610322575f80fd5b5061033d60048036038101906103389190613274565b610bf6565b005b34801561034a575f80fd5b50610353610d10565b60405161036091906132c1565b60405180910390f35b348015610374575f80fd5b5061038f600480360381019061038a9190613060565b610d19565b005b34801561039c575f80fd5b506103b760048036038101906103b291906132da565b610e90565b6040516103c4919061325b565b60405180910390f35b3480156103d8575f80fd5b506103e1610ebe565b6040516103ee9190613345565b60405180910390f35b348015610402575f80fd5b5061041d60048036038101906104189190613203565b610ec6565b60405161042a919061325b565b60405180910390f35b34801561043e575f80fd5b506104596004803603810190610454919061335e565b610efc565b005b348015610466575f80fd5b5061046f611058565b60405161047c9190613398565b60405180910390f35b348015610490575f80fd5b5061049961107d565b6040516104a6919061325b565b60405180910390f35b3480156104ba575f80fd5b506104c3611090565b6040516104d091906132c1565b60405180910390f35b3480156104e4575f80fd5b506104ff60048036038101906104fa919061335e565b611096565b005b34801561050c575f80fd5b506105276004803603810190610522919061335e565b6111f1565b604051610534919061325b565b60405180910390f35b348015610548575f80fd5b5061055161120e565b60405161055e91906132c1565b60405180910390f35b348015610572575f80fd5b5061058d6004803603810190610588919061335e565b611215565b60405161059a91906132c1565b60405180910390f35b3480156105ae575f80fd5b506105b761125a565b005b3480156105c4575f80fd5b506105cd6113ad565b005b3480156105da575f80fd5b506105f560048036038101906105f091906133db565b6114c0565b005b348015610602575f80fd5b5061060b611655565b005b348015610618575f80fd5b50610633600480360381019061062e919061335e565b611756565b604051610640919061325b565b60405180910390f35b348015610654575f80fd5b5061065d611773565b60405161066a9190613398565b60405180910390f35b34801561067e575f80fd5b5061068761179b565b6040516106949190613115565b60405180910390f35b3480156106a8575f80fd5b506106b161182b565b6040516106be91906132c1565b60405180910390f35b3480156106d2575f80fd5b506106ed60048036038101906106e891906133db565b611831565b005b3480156106fa575f80fd5b5061071560048036038101906107109190613203565b611a5b565b604051610722919061325b565b60405180910390f35b348015610736575f80fd5b50610751600480360381019061074c9190613203565b611ad0565b60405161075e919061325b565b60405180910390f35b348015610772575f80fd5b5061078d6004803603810190610788919061335e565b611af2565b60405161079a919061325b565b60405180910390f35b3480156107ae575f80fd5b506107b7611b0f565b6040516107c4919061325b565b60405180910390f35b3480156107d8575f80fd5b506107e1611b21565b6040516107ee91906132c1565b60405180910390f35b348015610802575f80fd5b5061080b611b27565b60405161081891906132c1565b60405180910390f35b34801561082c575f80fd5b50610835611b2d565b604051610842919061325b565b60405180910390f35b348015610856575f80fd5b5061085f611b3f565b60405161086c91906132c1565b60405180910390f35b348015610880575f80fd5b5061089b60048036038101906108969190613419565b611b45565b6040516108a891906132c1565b60405180910390f35b3480156108bc575f80fd5b506108c5611bc7565b005b3480156108d2575f80fd5b506108db611c78565b6040516108e89190613398565b60405180910390f35b3480156108fc575f80fd5b506109176004803603810190610912919061335e565b611c9d565b005b348015610924575f80fd5b5061093f600480360381019061093a919061335e565b611de4565b005b34801561094c575f80fd5b50610955611fa6565b60405161096291906132c1565b60405180910390f35b348015610976575f80fd5b50610991600480360381019061098c919061335e565b611fac565b60405161099e919061325b565b60405180910390f35b6109af611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a34906134a1565b60405180910390fd5b610a45610ebe565b600a610a51919061361b565b6103e86005610a5e610d10565b610a689190613665565b610a7291906136d3565b610a7c91906136d3565b811015610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab59061374d565b60405180910390fd5b610ac6610ebe565b600a610ad2919061361b565b81610add9190613665565b600b819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600b54604051610b1491906132c1565b60405180910390a150565b606060038054610b2e90613798565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5a90613798565b8015610ba55780601f10610b7c57610100808354040283529160200191610ba5565b820191905f5260205f20905b815481529060010190602001808311610b8857829003601f168201915b5050505050905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610bde611fc9565b9050610beb818585611fd0565b600191505092915050565b610bfe611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c83906134a1565b60405180910390fd5b81600e819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600e54604051610cc491906132c1565b60405180910390a180600f819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600f54604051610d0491906132c1565b60405180910390a15050565b5f600254905090565b610d21611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da6906134a1565b60405180910390fd5b610db7610ebe565b600a610dc3919061361b565b60646001610dcf610d10565b610dd99190613665565b610de391906136d3565b610ded91906136d3565b811015610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061374d565b60405180910390fd5b610e37610ebe565b600a610e43919061361b565b81610e4e9190613665565b600c819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600c54604051610e8591906132c1565b60405180910390a150565b5f80610e9a611fc9565b9050610ea7858285612193565b610eb285858561221e565b60019150509392505050565b5f6012905090565b5f80610ed0611fc9565b9050610ef1818585610ee28589611b45565b610eec91906137c8565b611fd0565b600191505092915050565b610f04611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f89906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790613845565b60405180910390fd5b600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160019054906101000a900460ff1681565b600e5481565b61109e611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461112c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611123906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119190613845565b60405180910390fd5b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f47905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611262611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e7906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6113b5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a906134a1565b60405180910390fd5b5f601160016101000a81548160ff0219169083151502179055505f60115f6101000a81548160ff02191690831515021790555061147e610d10565b600b8190555061148c610d10565b600c819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6114c8611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154d906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613845565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d8282604051611649929190613863565b60405180910390a15050565b61165d611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e2906134a1565b60405180910390fd5b60095f9054906101000a900460ff161561173a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611731906138d4565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546117aa90613798565b80601f01602080910402602001604051908101604052809291908181526020018280546117d690613798565b80156118215780601f106117f857610100808354040283529160200191611821565b820191905f5260205f20905b81548152906001019060200180831161180457829003601f168201915b5050505050905090565b61271081565b611839611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192c90613845565b60405180910390fd5b806119ca5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c09061393c565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce8282604051611a4f929190613863565b60405180910390a15050565b5f80611a65611fc9565b90505f611a728286611b45565b905083811015611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae906139ca565b60405180910390fd5b611ac48286868403611fd0565b60019250505092915050565b5f80611ada611fc9565b9050611ae781858561221e565b600191505092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60095f9054906101000a900460ff1681565b600b5481565b60125481565b60115f9054906101000a900460ff1681565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611bcf611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c54906134a1565b60405180910390fd5b5f60115f6101000a81548160ff021916908315150217905550565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ca5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2a906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890613a32565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611dec611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e71906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edf90613ac0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361203e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203590613b4e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a390613bdc565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161218691906132c1565b60405180910390a3505050565b5f61219e8484611b45565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612218578181101561220a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220190613c44565b60405180910390fd5b6122178484848403611fd0565b5b50505050565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156122a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229f90613cac565b60405180910390fd5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232990613d14565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806123cd575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806123e45750601160029054906101000a900460ff165b156123f9576123f4838383612491565b61248c565b60095f9054906101000a900460ff16612447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243e90613d7c565b60405180910390fd5b601160019054906101000a900460ff1615612468576124678383836126fd565b5b612473838383612b5b565b8161247e9190613d9a565b905061248b838383612491565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690613e3d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361256d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256490613ecb565b60405180910390fd5b612578838383612d32565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156125fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f290613f59565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126e491906132c1565b60405180910390a36126f7848484612d37565b50505050565b60115f9054906101000a900460ff161561287d5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156127b55750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561287c574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283090613fc1565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561291a575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156129c157600b54811115612964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295b90614029565b60405180910390fd5b600c5461297083611215565b8261297b91906137c8565b11156129bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b390614091565b60405180910390fd5b612b56565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612a5e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612aad57600b54811115612aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9f90614029565b60405180910390fd5b612b55565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612b5457600c54612b0783611215565b82612b1291906137c8565b1115612b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4a90614091565b60405180910390fd5b5b5b5b505050565b5f601254612b6830611215565b10158015612b835750601160029054906101000a900460ff16155b8015612bd65750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c19576001601160026101000a81548160ff021916908315150217905550612bfe612d3c565b5f601160026101000a81548160ff0219169083151502179055505b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612c7157505f600f54115b15612c9857612710600f5484612c879190613665565b612c9191906136d3565b9050612d13565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612cef57505f600e54115b15612d1257612710600e5484612d059190613665565b612d0f91906136d3565b90505b5b5f811115612d2757612d26853083612491565b5b809150509392505050565b505050565b505050565b5f612d4630611215565b90505f8103612d555750612e1d565b6028601254612d649190613665565b811115612d7d576028601254612d7a9190613665565b90505b612d8681612e1f565b5f471115612e1b575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612dd4906140dc565b5f6040518083038185875af1925050503d805f8114612e0e576040519150601f19603f3d011682016040523d82523d5f602084013e612e13565b606091505b505080915050505b505b565b5f600267ffffffffffffffff811115612e3b57612e3a6140f0565b5b604051908082528060200260200182016040528015612e695781602001602082028036833780820191505090505b50905030815f81518110612e8057612e7f61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f48919061415e565b81600181518110612f5c57612f5b61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612ff8959493929190614279565b5f604051808303815f87803b15801561300f575f80fd5b505af1158015613021573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b61303f8161302d565b8114613049575f80fd5b50565b5f8135905061305a81613036565b92915050565b5f6020828403121561307557613074613029565b5b5f6130828482850161304c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130c25780820151818401526020810190506130a7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6130e78261308b565b6130f18185613095565b93506131018185602086016130a5565b61310a816130cd565b840191505092915050565b5f6020820190508181035f83015261312d81846130dd565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61317761317261316d84613135565b613154565b613135565b9050919050565b5f6131888261315d565b9050919050565b5f6131998261317e565b9050919050565b6131a98161318f565b82525050565b5f6020820190506131c25f8301846131a0565b92915050565b5f6131d282613135565b9050919050565b6131e2816131c8565b81146131ec575f80fd5b50565b5f813590506131fd816131d9565b92915050565b5f806040838503121561321957613218613029565b5b5f613226858286016131ef565b92505060206132378582860161304c565b9150509250929050565b5f8115159050919050565b61325581613241565b82525050565b5f60208201905061326e5f83018461324c565b92915050565b5f806040838503121561328a57613289613029565b5b5f6132978582860161304c565b92505060206132a88582860161304c565b9150509250929050565b6132bb8161302d565b82525050565b5f6020820190506132d45f8301846132b2565b92915050565b5f805f606084860312156132f1576132f0613029565b5b5f6132fe868287016131ef565b935050602061330f868287016131ef565b92505060406133208682870161304c565b9150509250925092565b5f60ff82169050919050565b61333f8161332a565b82525050565b5f6020820190506133585f830184613336565b92915050565b5f6020828403121561337357613372613029565b5b5f613380848285016131ef565b91505092915050565b613392816131c8565b82525050565b5f6020820190506133ab5f830184613389565b92915050565b6133ba81613241565b81146133c4575f80fd5b50565b5f813590506133d5816133b1565b92915050565b5f80604083850312156133f1576133f0613029565b5b5f6133fe858286016131ef565b925050602061340f858286016133c7565b9150509250929050565b5f806040838503121561342f5761342e613029565b5b5f61343c858286016131ef565b925050602061344d858286016131ef565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61348b602083613095565b915061349682613457565b602082019050919050565b5f6020820190508181035f8301526134b88161347f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156135415780860481111561351d5761351c6134bf565b5b600185161561352c5780820291505b808102905061353a856134ec565b9450613501565b94509492505050565b5f826135595760019050613614565b81613566575f9050613614565b816001811461357c5760028114613586576135b5565b6001915050613614565b60ff841115613598576135976134bf565b5b8360020a9150848211156135af576135ae6134bf565b5b50613614565b5060208310610133831016604e8410600b84101617156135ea5782820a9050838111156135e5576135e46134bf565b5b613614565b6135f784848460016134f8565b9250905081840481111561360e5761360d6134bf565b5b81810290505b9392505050565b5f6136258261302d565b91506136308361332a565b925061365d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461354a565b905092915050565b5f61366f8261302d565b915061367a8361302d565b92508282026136888161302d565b9150828204841483151761369f5761369e6134bf565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6136dd8261302d565b91506136e88361302d565b9250826136f8576136f76136a6565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613737600783613095565b915061374282613703565b602082019050919050565b5f6020820190508181035f8301526137648161372b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806137af57607f821691505b6020821081036137c2576137c161376b565b5b50919050565b5f6137d28261302d565b91506137dd8361302d565b92508282019050808211156137f5576137f46134bf565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61382f600c83613095565b915061383a826137fb565b602082019050919050565b5f6020820190508181035f83015261385c81613823565b9050919050565b5f6040820190506138765f830185613389565b613883602083018461324c565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f6138be600e83613095565b91506138c98261388a565b602082019050919050565b5f6020820190508181035f8301526138eb816138b2565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613926600483613095565b9150613931826138f2565b602082019050919050565b5f6020820190508181035f8301526139538161391a565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6139b4602583613095565b91506139bf8261395a565b604082019050919050565b5f6020820190508181035f8301526139e1816139a8565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613a1c600c83613095565b9150613a27826139e8565b602082019050919050565b5f6020820190508181035f830152613a4981613a10565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613aaa602683613095565b9150613ab582613a50565b604082019050919050565b5f6020820190508181035f830152613ad781613a9e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b38602483613095565b9150613b4382613ade565b604082019050919050565b5f6020820190508181035f830152613b6581613b2c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bc6602283613095565b9150613bd182613b6c565b604082019050919050565b5f6020820190508181035f830152613bf381613bba565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613c2e601d83613095565b9150613c3982613bfa565b602082019050919050565b5f6020820190508181035f830152613c5b81613c22565b9050919050565b7f53656e64657220697320626c61636b6c697374656400000000000000000000005f82015250565b5f613c96601583613095565b9150613ca182613c62565b602082019050919050565b5f6020820190508181035f830152613cc381613c8a565b9050919050565b7f526563697069656e7420697320626c61636b6c697374656400000000000000005f82015250565b5f613cfe601883613095565b9150613d0982613cca565b602082019050919050565b5f6020820190508181035f830152613d2b81613cf2565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f613d66601283613095565b9150613d7182613d32565b602082019050919050565b5f6020820190508181035f830152613d9381613d5a565b9050919050565b5f613da48261302d565b9150613daf8361302d565b9250828203905081811115613dc757613dc66134bf565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613e27602583613095565b9150613e3282613dcd565b604082019050919050565b5f6020820190508181035f830152613e5481613e1b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613eb5602383613095565b9150613ec082613e5b565b604082019050919050565b5f6020820190508181035f830152613ee281613ea9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f43602683613095565b9150613f4e82613ee9565b604082019050919050565b5f6020820190508181035f830152613f7081613f37565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613fab601783613095565b9150613fb682613f77565b602082019050919050565b5f6020820190508181035f830152613fd881613f9f565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f614013601083613095565b915061401e82613fdf565b602082019050919050565b5f6020820190508181035f83015261404081614007565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61407b601383613095565b915061408682614047565b602082019050919050565b5f6020820190508181035f8301526140a88161406f565b9050919050565b5f81905092915050565b50565b5f6140c75f836140af565b91506140d2826140b9565b5f82019050919050565b5f6140e6826140bc565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614158816131d9565b92915050565b5f6020828403121561417357614172613029565b5b5f6141808482850161414a565b91505092915050565b5f819050919050565b5f6141ac6141a76141a284614189565b613154565b61302d565b9050919050565b6141bc81614192565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141f4816131c8565b82525050565b5f61420583836141eb565b60208301905092915050565b5f602082019050919050565b5f614227826141c2565b61423181856141cc565b935061423c836141dc565b805f5b8381101561426c57815161425388826141fa565b975061425e83614211565b92505060018101905061423f565b5085935050505092915050565b5f60a08201905061428c5f8301886132b2565b61429960208301876141b3565b81810360408301526142ab818661421d565b90506142ba6060830185613389565b6142c760808301846132b2565b969550505050505056fea2646970667358221220875be93c323feb984cf5d0de1438cd2e1546184dc3d3de2ee80498d91225822964736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b4d6f6e6965426f7420414900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d4f4e4945000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610254575f3560e01c80638a8c523c11610138578063c3f70b52116100b5578063e884f26011610079578063e884f260146108b1578063ea4cfe12146108c7578063ea6debd0146108f1578063f2fde38b14610919578063f8b45b0514610941578063fe575a871461096b5761025b565b8063c3f70b52146107cd578063c78d0fa0146107f7578063c876d0b914610821578063cc1776d31461084b578063dd62ed3e146108755761025b565b8063a13d1a2b116100fc578063a13d1a2b146106c7578063a457c2d7146106ef578063a9059cbb1461072b578063b0249cc614610767578063bbc0c742146107a35761025b565b80638a8c523c146105f75780638d3e6e401461060d5780638da5cb5b1461064957806395d89b41146106735780639e93ad8e1461069d5761025b565b806344337ea1116101d15780635a90a49e116101955780635a90a49e146105015780635d58ce361461053d57806370a0823114610567578063715018a6146105a3578063751039fc146105b957806377b27d1f146105cf5761025b565b806344337ea114610433578063452ed4f11461045b5780634a62bb65146104855780634f7041a5146104af578063537df3b6146104d95761025b565b806318160ddd1161021857806318160ddd1461033f5780631c499ab01461036957806323b872dd14610391578063313ce567146103cd57806339509351146103f75761025b565b80630517d13d1461025f57806306fdde03146102875780630758d924146102b1578063095ea7b3146102db5780631006ee0c146103175761025b565b3661025b57005b5f80fd5b34801561026a575f80fd5b5061028560048036038101906102809190613060565b6109a7565b005b348015610292575f80fd5b5061029b610b1f565b6040516102a89190613115565b60405180910390f35b3480156102bc575f80fd5b506102c5610baf565b6040516102d291906131af565b60405180910390f35b3480156102e6575f80fd5b5061030160048036038101906102fc9190613203565b610bd4565b60405161030e919061325b565b60405180910390f35b348015610322575f80fd5b5061033d60048036038101906103389190613274565b610bf6565b005b34801561034a575f80fd5b50610353610d10565b60405161036091906132c1565b60405180910390f35b348015610374575f80fd5b5061038f600480360381019061038a9190613060565b610d19565b005b34801561039c575f80fd5b506103b760048036038101906103b291906132da565b610e90565b6040516103c4919061325b565b60405180910390f35b3480156103d8575f80fd5b506103e1610ebe565b6040516103ee9190613345565b60405180910390f35b348015610402575f80fd5b5061041d60048036038101906104189190613203565b610ec6565b60405161042a919061325b565b60405180910390f35b34801561043e575f80fd5b506104596004803603810190610454919061335e565b610efc565b005b348015610466575f80fd5b5061046f611058565b60405161047c9190613398565b60405180910390f35b348015610490575f80fd5b5061049961107d565b6040516104a6919061325b565b60405180910390f35b3480156104ba575f80fd5b506104c3611090565b6040516104d091906132c1565b60405180910390f35b3480156104e4575f80fd5b506104ff60048036038101906104fa919061335e565b611096565b005b34801561050c575f80fd5b506105276004803603810190610522919061335e565b6111f1565b604051610534919061325b565b60405180910390f35b348015610548575f80fd5b5061055161120e565b60405161055e91906132c1565b60405180910390f35b348015610572575f80fd5b5061058d6004803603810190610588919061335e565b611215565b60405161059a91906132c1565b60405180910390f35b3480156105ae575f80fd5b506105b761125a565b005b3480156105c4575f80fd5b506105cd6113ad565b005b3480156105da575f80fd5b506105f560048036038101906105f091906133db565b6114c0565b005b348015610602575f80fd5b5061060b611655565b005b348015610618575f80fd5b50610633600480360381019061062e919061335e565b611756565b604051610640919061325b565b60405180910390f35b348015610654575f80fd5b5061065d611773565b60405161066a9190613398565b60405180910390f35b34801561067e575f80fd5b5061068761179b565b6040516106949190613115565b60405180910390f35b3480156106a8575f80fd5b506106b161182b565b6040516106be91906132c1565b60405180910390f35b3480156106d2575f80fd5b506106ed60048036038101906106e891906133db565b611831565b005b3480156106fa575f80fd5b5061071560048036038101906107109190613203565b611a5b565b604051610722919061325b565b60405180910390f35b348015610736575f80fd5b50610751600480360381019061074c9190613203565b611ad0565b60405161075e919061325b565b60405180910390f35b348015610772575f80fd5b5061078d6004803603810190610788919061335e565b611af2565b60405161079a919061325b565b60405180910390f35b3480156107ae575f80fd5b506107b7611b0f565b6040516107c4919061325b565b60405180910390f35b3480156107d8575f80fd5b506107e1611b21565b6040516107ee91906132c1565b60405180910390f35b348015610802575f80fd5b5061080b611b27565b60405161081891906132c1565b60405180910390f35b34801561082c575f80fd5b50610835611b2d565b604051610842919061325b565b60405180910390f35b348015610856575f80fd5b5061085f611b3f565b60405161086c91906132c1565b60405180910390f35b348015610880575f80fd5b5061089b60048036038101906108969190613419565b611b45565b6040516108a891906132c1565b60405180910390f35b3480156108bc575f80fd5b506108c5611bc7565b005b3480156108d2575f80fd5b506108db611c78565b6040516108e89190613398565b60405180910390f35b3480156108fc575f80fd5b506109176004803603810190610912919061335e565b611c9d565b005b348015610924575f80fd5b5061093f600480360381019061093a919061335e565b611de4565b005b34801561094c575f80fd5b50610955611fa6565b60405161096291906132c1565b60405180910390f35b348015610976575f80fd5b50610991600480360381019061098c919061335e565b611fac565b60405161099e919061325b565b60405180910390f35b6109af611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a34906134a1565b60405180910390fd5b610a45610ebe565b600a610a51919061361b565b6103e86005610a5e610d10565b610a689190613665565b610a7291906136d3565b610a7c91906136d3565b811015610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab59061374d565b60405180910390fd5b610ac6610ebe565b600a610ad2919061361b565b81610add9190613665565b600b819055507f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c18376691574600b54604051610b1491906132c1565b60405180910390a150565b606060038054610b2e90613798565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5a90613798565b8015610ba55780601f10610b7c57610100808354040283529160200191610ba5565b820191905f5260205f20905b815481529060010190602001808311610b8857829003601f168201915b5050505050905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80610bde611fc9565b9050610beb818585611fd0565b600191505092915050565b610bfe611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c83906134a1565b60405180910390fd5b81600e819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600e54604051610cc491906132c1565b60405180910390a180600f819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600f54604051610d0491906132c1565b60405180910390a15050565b5f600254905090565b610d21611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da6906134a1565b60405180910390fd5b610db7610ebe565b600a610dc3919061361b565b60646001610dcf610d10565b610dd99190613665565b610de391906136d3565b610ded91906136d3565b811015610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061374d565b60405180910390fd5b610e37610ebe565b600a610e43919061361b565b81610e4e9190613665565b600c819055507f3046ad62de8b70d396246aaed19ff2559ff20df8706520cbde58320766c42762600c54604051610e8591906132c1565b60405180910390a150565b5f80610e9a611fc9565b9050610ea7858285612193565b610eb285858561221e565b60019150509392505050565b5f6012905090565b5f80610ed0611fc9565b9050610ef1818585610ee28589611b45565b610eec91906137c8565b611fd0565b600191505092915050565b610f04611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f89906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790613845565b60405180910390fd5b600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160019054906101000a900460ff1681565b600e5481565b61109e611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461112c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611123906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119190613845565b60405180910390fd5b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f47905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611262611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e7906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6113b5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143a906134a1565b60405180910390fd5b5f601160016101000a81548160ff0219169083151502179055505f60115f6101000a81548160ff02191690831515021790555061147e610d10565b600b8190555061148c610d10565b600c819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b6114c8611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154d906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613845565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d8282604051611649929190613863565b60405180910390a15050565b61165d611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e2906134a1565b60405180910390fd5b60095f9054906101000a900460ff161561173a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611731906138d4565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b6007602052805f5260405f205f915054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546117aa90613798565b80601f01602080910402602001604051908101604052809291908181526020018280546117d690613798565b80156118215780601f106117f857610100808354040283529160200191611821565b820191905f5260205f20905b81548152906001019060200180831161180457829003601f168201915b5050505050905090565b61271081565b611839611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192c90613845565b60405180910390fd5b806119ca5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c09061393c565b60405180910390fd5b5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce8282604051611a4f929190613863565b60405180910390a15050565b5f80611a65611fc9565b90505f611a728286611b45565b905083811015611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae906139ca565b60405180910390fd5b611ac48286868403611fd0565b60019250505092915050565b5f80611ada611fc9565b9050611ae781858561221e565b600191505092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b60095f9054906101000a900460ff1681565b600b5481565b60125481565b60115f9054906101000a900460ff1681565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611bcf611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c54906134a1565b60405180910390fd5b5f60115f6101000a81548160ff021916908315150217905550565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ca5611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2a906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890613a32565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611dec611fc9565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e71906134a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edf90613ac0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c5481565b6008602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361203e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203590613b4e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a390613bdc565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161218691906132c1565b60405180910390a3505050565b5f61219e8484611b45565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612218578181101561220a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220190613c44565b60405180910390fd5b6122178484848403611fd0565b5b50505050565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156122a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229f90613cac565b60405180910390fd5b60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232990613d14565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806123cd575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806123e45750601160029054906101000a900460ff165b156123f9576123f4838383612491565b61248c565b60095f9054906101000a900460ff16612447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243e90613d7c565b60405180910390fd5b601160019054906101000a900460ff1615612468576124678383836126fd565b5b612473838383612b5b565b8161247e9190613d9a565b905061248b838383612491565b5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690613e3d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361256d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256490613ecb565b60405180910390fd5b612578838383612d32565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156125fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f290613f59565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126e491906132c1565b60405180910390a36126f7848484612d37565b50505050565b60115f9054906101000a900460ff161561287d5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156127b55750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561287c574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283090613fc1565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561291a575060075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156129c157600b54811115612964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295b90614029565b60405180910390fd5b600c5461297083611215565b8261297b91906137c8565b11156129bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b390614091565b60405180910390fd5b612b56565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612a5e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612aad57600b54811115612aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9f90614029565b60405180910390fd5b612b55565b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612b5457600c54612b0783611215565b82612b1291906137c8565b1115612b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4a90614091565b60405180910390fd5b5b5b5b505050565b5f601254612b6830611215565b10158015612b835750601160029054906101000a900460ff16155b8015612bd65750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612c19576001601160026101000a81548160ff021916908315150217905550612bfe612d3c565b5f601160026101000a81548160ff0219169083151502179055505b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612c7157505f600f54115b15612c9857612710600f5484612c879190613665565b612c9191906136d3565b9050612d13565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612cef57505f600e54115b15612d1257612710600e5484612d059190613665565b612d0f91906136d3565b90505b5b5f811115612d2757612d26853083612491565b5b809150509392505050565b505050565b505050565b5f612d4630611215565b90505f8103612d555750612e1d565b6028601254612d649190613665565b811115612d7d576028601254612d7a9190613665565b90505b612d8681612e1f565b5f471115612e1b575f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612dd4906140dc565b5f6040518083038185875af1925050503d805f8114612e0e576040519150601f19603f3d011682016040523d82523d5f602084013e612e13565b606091505b505080915050505b505b565b5f600267ffffffffffffffff811115612e3b57612e3a6140f0565b5b604051908082528060200260200182016040528015612e695781602001602082028036833780820191505090505b50905030815f81518110612e8057612e7f61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f48919061415e565b81600181518110612f5c57612f5b61411d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612ff8959493929190614279565b5f604051808303815f87803b15801561300f575f80fd5b505af1158015613021573d5f803e3d5ffd5b505050505050565b5f80fd5b5f819050919050565b61303f8161302d565b8114613049575f80fd5b50565b5f8135905061305a81613036565b92915050565b5f6020828403121561307557613074613029565b5b5f6130828482850161304c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156130c25780820151818401526020810190506130a7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6130e78261308b565b6130f18185613095565b93506131018185602086016130a5565b61310a816130cd565b840191505092915050565b5f6020820190508181035f83015261312d81846130dd565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61317761317261316d84613135565b613154565b613135565b9050919050565b5f6131888261315d565b9050919050565b5f6131998261317e565b9050919050565b6131a98161318f565b82525050565b5f6020820190506131c25f8301846131a0565b92915050565b5f6131d282613135565b9050919050565b6131e2816131c8565b81146131ec575f80fd5b50565b5f813590506131fd816131d9565b92915050565b5f806040838503121561321957613218613029565b5b5f613226858286016131ef565b92505060206132378582860161304c565b9150509250929050565b5f8115159050919050565b61325581613241565b82525050565b5f60208201905061326e5f83018461324c565b92915050565b5f806040838503121561328a57613289613029565b5b5f6132978582860161304c565b92505060206132a88582860161304c565b9150509250929050565b6132bb8161302d565b82525050565b5f6020820190506132d45f8301846132b2565b92915050565b5f805f606084860312156132f1576132f0613029565b5b5f6132fe868287016131ef565b935050602061330f868287016131ef565b92505060406133208682870161304c565b9150509250925092565b5f60ff82169050919050565b61333f8161332a565b82525050565b5f6020820190506133585f830184613336565b92915050565b5f6020828403121561337357613372613029565b5b5f613380848285016131ef565b91505092915050565b613392816131c8565b82525050565b5f6020820190506133ab5f830184613389565b92915050565b6133ba81613241565b81146133c4575f80fd5b50565b5f813590506133d5816133b1565b92915050565b5f80604083850312156133f1576133f0613029565b5b5f6133fe858286016131ef565b925050602061340f858286016133c7565b9150509250929050565b5f806040838503121561342f5761342e613029565b5b5f61343c858286016131ef565b925050602061344d858286016131ef565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61348b602083613095565b915061349682613457565b602082019050919050565b5f6020820190508181035f8301526134b88161347f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156135415780860481111561351d5761351c6134bf565b5b600185161561352c5780820291505b808102905061353a856134ec565b9450613501565b94509492505050565b5f826135595760019050613614565b81613566575f9050613614565b816001811461357c5760028114613586576135b5565b6001915050613614565b60ff841115613598576135976134bf565b5b8360020a9150848211156135af576135ae6134bf565b5b50613614565b5060208310610133831016604e8410600b84101617156135ea5782820a9050838111156135e5576135e46134bf565b5b613614565b6135f784848460016134f8565b9250905081840481111561360e5761360d6134bf565b5b81810290505b9392505050565b5f6136258261302d565b91506136308361332a565b925061365d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461354a565b905092915050565b5f61366f8261302d565b915061367a8361302d565b92508282026136888161302d565b9150828204841483151761369f5761369e6134bf565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6136dd8261302d565b91506136e88361302d565b9250826136f8576136f76136a6565b5b828204905092915050565b7f546f6f206c6f77000000000000000000000000000000000000000000000000005f82015250565b5f613737600783613095565b915061374282613703565b602082019050919050565b5f6020820190508181035f8301526137648161372b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806137af57607f821691505b6020821081036137c2576137c161376b565b5b50919050565b5f6137d28261302d565b91506137dd8361302d565b92508282019050808211156137f5576137f46134bf565b5b92915050565b7f5a65726f204164647265737300000000000000000000000000000000000000005f82015250565b5f61382f600c83613095565b915061383a826137fb565b602082019050919050565b5f6020820190508181035f83015261385c81613823565b9050919050565b5f6040820190506138765f830185613389565b613883602083018461324c565b9392505050565b7f54726164696e67206163746976650000000000000000000000000000000000005f82015250565b5f6138be600e83613095565b91506138c98261388a565b602082019050919050565b5f6020820190508181035f8301526138eb816138b2565b9050919050565b7f50616972000000000000000000000000000000000000000000000000000000005f82015250565b5f613926600483613095565b9150613931826138f2565b602082019050919050565b5f6020820190508181035f8301526139538161391a565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6139b4602583613095565b91506139bf8261395a565b604082019050919050565b5f6020820190508181035f8301526139e1816139a8565b9050919050565b7f7a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f613a1c600c83613095565b9150613a27826139e8565b602082019050919050565b5f6020820190508181035f830152613a4981613a10565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613aaa602683613095565b9150613ab582613a50565b604082019050919050565b5f6020820190508181035f830152613ad781613a9e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613b38602483613095565b9150613b4382613ade565b604082019050919050565b5f6020820190508181035f830152613b6581613b2c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bc6602283613095565b9150613bd182613b6c565b604082019050919050565b5f6020820190508181035f830152613bf381613bba565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f613c2e601d83613095565b9150613c3982613bfa565b602082019050919050565b5f6020820190508181035f830152613c5b81613c22565b9050919050565b7f53656e64657220697320626c61636b6c697374656400000000000000000000005f82015250565b5f613c96601583613095565b9150613ca182613c62565b602082019050919050565b5f6020820190508181035f830152613cc381613c8a565b9050919050565b7f526563697069656e7420697320626c61636b6c697374656400000000000000005f82015250565b5f613cfe601883613095565b9150613d0982613cca565b602082019050919050565b5f6020820190508181035f830152613d2b81613cf2565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f613d66601283613095565b9150613d7182613d32565b602082019050919050565b5f6020820190508181035f830152613d9381613d5a565b9050919050565b5f613da48261302d565b9150613daf8361302d565b9250828203905081811115613dc757613dc66134bf565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613e27602583613095565b9150613e3282613dcd565b604082019050919050565b5f6020820190508181035f830152613e5481613e1b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613eb5602383613095565b9150613ec082613e5b565b604082019050919050565b5f6020820190508181035f830152613ee281613ea9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613f43602683613095565b9150613f4e82613ee9565b604082019050919050565b5f6020820190508181035f830152613f7081613f37565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e0000000000000000005f82015250565b5f613fab601783613095565b9150613fb682613f77565b602082019050919050565b5f6020820190508181035f830152613fd881613f9f565b9050919050565b7f4d61782074782065786365656465642e000000000000000000000000000000005f82015250565b5f614013601083613095565b915061401e82613fdf565b602082019050919050565b5f6020820190508181035f83015261404081614007565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f61407b601383613095565b915061408682614047565b602082019050919050565b5f6020820190508181035f8301526140a88161406f565b9050919050565b5f81905092915050565b50565b5f6140c75f836140af565b91506140d2826140b9565b5f82019050919050565b5f6140e6826140bc565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614158816131d9565b92915050565b5f6020828403121561417357614172613029565b5b5f6141808482850161414a565b91505092915050565b5f819050919050565b5f6141ac6141a76141a284614189565b613154565b61302d565b9050919050565b6141bc81614192565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141f4816131c8565b82525050565b5f61420583836141eb565b60208301905092915050565b5f602082019050919050565b5f614227826141c2565b61423181856141cc565b935061423c836141dc565b805f5b8381101561426c57815161425388826141fa565b975061425e83614211565b92505060018101905061423f565b5085935050505092915050565b5f60a08201905061428c5f8301886132b2565b61429960208301876141b3565b81810360408301526142ab818661421d565b90506142ba6060830185613389565b6142c760808301846132b2565b969550505050505056fea2646970667358221220875be93c323feb984cf5d0de1438cd2e1546184dc3d3de2ee80498d91225822964736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b4d6f6e6965426f7420414900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d4f4e4945000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): MonieBot AI
Arg [1] : _symbol (string): MONIE
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [3] : 4d6f6e6965426f74204149000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 4d4f4e4945000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
16828:8545:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23915:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4348:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17595:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6827:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24484:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5596:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24210:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7608:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5438:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8278:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22955:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17567:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17458:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17234:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23131:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16875:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4456:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5767:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15998:150;;;;;;;;;;;;;:::i;:::-;;24850:231;;;;;;;;;;;;;:::i;:::-;;23313:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24707:135;;;;;;;;;;;;;:::i;:::-;;16929:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15784:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4686:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17631:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23568:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9019:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6100:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17073:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17039:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17124:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17528:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17412:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17262:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6356:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25089:98;;;;;;;;;;;;;:::i;:::-;;17193:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25195:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16156:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17160:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16985:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23915:287;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24057:10:::1;:8;:10::i;:::-;24053:2;:14;;;;:::i;:::-;24046:4;24042:1;24026:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;24025:43;;;;:::i;:::-;24007:14;:61;;23999:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;24130:10;:8;:10::i;:::-;24126:2;:14;;;;:::i;:::-;24108;:33;;;;:::i;:::-;24091:14;:50;;;;24157:37;24179:14;;24157:37;;;;;;:::i;:::-;;;;;;;;23915:287:::0;:::o;4348:100::-;4402:13;4435:5;4428:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4348:100;:::o;17595:27::-;;;;;;;;;;;;;:::o;6827:201::-;6910:4;6927:13;6943:12;:10;:12::i;:::-;6927:28;;6966:32;6975:5;6982:7;6991:6;6966:8;:32::i;:::-;7016:4;7009:11;;;6827:201;;;;:::o;24484:215::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24579:7:::1;24570:6;:16;;;;24602:21;24616:6;;24602:21;;;;;;:::i;:::-;;;;;;;;24644:8;24634:7;:18;;;;24668:23;24683:7;;24668:23;;;;;;:::i;:::-;;;;;;;;24484:215:::0;;:::o;5596:108::-;5657:7;5684:12;;5677:19;;5596:108;:::o;24210:266::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24346:10:::1;:8;:10::i;:::-;24342:2;:14;;;;:::i;:::-;24336:3;24332:1;24316:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:23;;;;:::i;:::-;24315:42;;;;:::i;:::-;24297:14;:60;;24289:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;24414:10;:8;:10::i;:::-;24410:2;:14;;;;:::i;:::-;24392;:33;;;;:::i;:::-;24380:9;:45;;;;24441:27;24458:9;;24441:27;;;;;;:::i;:::-;;;;;;;;24210:266:::0;:::o;7608:261::-;7705:4;7722:15;7740:12;:10;:12::i;:::-;7722:30;;7763:38;7779:4;7785:7;7794:6;7763:15;:38::i;:::-;7812:27;7822:4;7828:2;7832:6;7812:9;:27::i;:::-;7857:4;7850:11;;;7608:261;;;;;:::o;5438:93::-;5496:5;5521:2;5514:9;;5438:93;:::o;8278:238::-;8366:4;8383:13;8399:12;:10;:12::i;:::-;8383:28;;8422:64;8431:5;8438:7;8475:10;8447:25;8457:5;8464:7;8447:9;:25::i;:::-;:38;;;;:::i;:::-;8422:8;:64::i;:::-;8504:4;8497:11;;;8278:238;;;;:::o;22955:168::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23055:1:::1;23035:22;;:8;:22;;::::0;23027:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23111:4;23085:13;:23;23099:8;23085:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;22955:168:::0;:::o;17567:21::-;;;;;;;;;;;;;:::o;17458:33::-;;;;;;;;;;;;;:::o;17234:21::-;;;;:::o;23131:174::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23236:1:::1;23216:22;;:8;:22;;::::0;23208:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23292:5;23266:13;:23;23280:8;23266:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;23131:174:::0;:::o;16875:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4456:109::-;4509:7;4536:21;4529:28;;4456:109;:::o;5767:127::-;5841:7;5868:9;:18;5878:7;5868:18;;;;;;;;;;;;;;;;5861:25;;5767:127;;;:::o;15998:150::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16107:1:::1;16070:40;;16091:6;;;;;;;;;;;16070:40;;;;;;;;;;;;16138:1;16121:6;;:19;;;;;;;;;;;;;;;;;;15998:150::o:0;24850:231::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24921:5:::1;24904:14;;:22;;;;;;;;;;;;;;;;;;24960:5;24937:20;;:28;;;;;;;;;;;;;;;;;;24993:13;:11;:13::i;:::-;24976:14;:30;;;;25029:13;:11;:13::i;:::-;25017:9;:25;;;;25058:15;;;;;;;;;;24850:231::o:0;23313:247::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23432:1:::1;23412:22;;:8;:22;;::::0;23404:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23489:9;23462:14;:24;23477:8;23462:24;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;23514:38;23532:8;23542:9;23514:38;;;;;;;:::i;:::-;;;;;;;;23313:247:::0;;:::o;24707:135::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24771:13:::1;;;;;;;;;;;24770:14;24762:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;24830:4;24814:13;;:20;;;;;;;;;;;;;;;;;;24707:135::o:0;16929:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;15784:79::-;15822:7;15849:6;;;;;;;;;;;15842:13;;15784:79;:::o;4686:104::-;4742:13;4775:7;4768:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4686:104;:::o;17631:43::-;17669:5;17631:43;:::o;23568:339::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23689:1:::1;23669:22;;:8;:22;;::::0;23661:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23723:9;23719:76;;23768:6;;;;;;;;;;;23756:18;;:8;:18;;::::0;23748:35:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23719:76;23834:9;23805:16;:26;23822:8;23805:26;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;23859:40;23879:8;23889:9;23859:40;;;;;;;:::i;:::-;;;;;;;;23568:339:::0;;:::o;9019:436::-;9112:4;9129:13;9145:12;:10;:12::i;:::-;9129:28;;9168:24;9195:25;9205:5;9212:7;9195:9;:25::i;:::-;9168:52;;9259:15;9239:16;:35;;9231:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9352:60;9361:5;9368:7;9396:15;9377:16;:34;9352:8;:60::i;:::-;9443:4;9436:11;;;;9019:436;;;;:::o;6100:193::-;6179:4;6196:13;6212:12;:10;:12::i;:::-;6196:28;;6235;6245:5;6252:2;6256:6;6235:9;:28::i;:::-;6281:4;6274:11;;;6100:193;;;;:::o;17073:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;17039:25::-;;;;;;;;;;;;;:::o;17124:29::-;;;;:::o;17528:30::-;;;;:::o;17412:39::-;;;;;;;;;;;;;:::o;17262:22::-;;;;:::o;6356:151::-;6445:7;6472:11;:18;6484:5;6472:18;;;;;;;;;;;;;;;:27;6491:7;6472:27;;;;;;;;;;;;;;;;6465:34;;6356:151;;;;:::o;25089:98::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25174:5:::1;25151:20;;:28;;;;;;;;;;;;;;;;;;25089:98::o:0;17193:32::-;;;;;;;;;;;;;:::o;25195:175::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25304:1:::1;25284:22;;:8;:22;;::::0;25276:47:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;25354:8;25334:17;;:28;;;;;;;;;;;;;;;;;;25195:175:::0;:::o;16156:244::-;15921:12;:10;:12::i;:::-;15911:22;;:6;;;;;;;;;;;:22;;;15903:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16265:1:::1;16245:22;;:8;:22;;::::0;16237:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16355:8;16326:38;;16347:6;;;;;;;;;;;16326:38;;;;;;;;;;;;16384:8;16375:6;;:17;;;;;;;;;;;;;;;;;;16156:244:::0;:::o;17160:24::-;;;;:::o;16985:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;254:98::-;307:7;334:10;327:17;;254:98;:::o;13012:346::-;13131:1;13114:19;;:5;:19;;;13106:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13212:1;13193:21;;:7;:21;;;13185:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13296:6;13266:11;:18;13278:5;13266:18;;;;;;;;;;;;;;;:27;13285:7;13266:27;;;;;;;;;;;;;;;:36;;;;13334:7;13318:32;;13327:5;13318:32;;;13343:6;13318:32;;;;;;:::i;:::-;;;;;;;;13012:346;;;:::o;13649:419::-;13750:24;13777:25;13787:5;13794:7;13777:9;:25::i;:::-;13750:52;;13837:17;13817:16;:37;13813:248;;13899:6;13879:16;:26;;13871:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13983:51;13992:5;13999:7;14027:6;14008:16;:25;13983:8;:51::i;:::-;13813:248;13739:329;13649:419;;;:::o;19675:707::-;19877:13;:19;19891:4;19877:19;;;;;;;;;;;;;;;;;;;;;;;;;19876:20;19868:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;19942:13;:17;19956:2;19942:17;;;;;;;;;;;;;;;;;;;;;;;;;19941:18;19933:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;20004:14;:20;20019:4;20004:20;;;;;;;;;;;;;;;;;;;;;;;;;:42;;;;20028:14;:18;20043:2;20028:18;;;;;;;;;;;;;;;;;;;;;;;;;20004:42;:54;;;;20050:8;;;;;;;;;;;20004:54;20001:137;;;20074:31;20090:4;20095:2;20098:6;20074:15;:31::i;:::-;20120:7;;20001:137;20158:13;;;;;;;;;;;20150:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;20210:14;;;;;;;;;;;20207:74;;;20240:29;20252:4;20258:2;20262:6;20240:11;:29::i;:::-;20207:74;20303:27;20313:4;20319:2;20323:6;20303:9;:27::i;:::-;20293:37;;;;;:::i;:::-;;;20343:31;20359:4;20364:2;20367:6;20343:15;:31::i;:::-;19675:707;;;;:::o;9925:806::-;10038:1;10022:18;;:4;:18;;;10014:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10115:1;10101:16;;:2;:16;;;10093:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10170:38;10191:4;10197:2;10201:6;10170:20;:38::i;:::-;10221:19;10243:9;:15;10253:4;10243:15;;;;;;;;;;;;;;;;10221:37;;10292:6;10277:11;:21;;10269:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10409:6;10395:11;:20;10377:9;:15;10387:4;10377:15;;;;;;;;;;;;;;;:38;;;;10612:6;10595:9;:13;10605:2;10595:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10662:2;10647:26;;10656:4;10647:26;;;10666:6;10647:26;;;;;;:::i;:::-;;;;;;;;10686:37;10706:4;10712:2;10716:6;10686:19;:37::i;:::-;10003:728;9925:806;;;:::o;20390:908::-;20477:20;;;;;;;;;;;20473:288;;;20531:9;;;;;;;;;;;20517:24;;:2;:24;;;;:42;;;;;20546:9;:13;20556:2;20546:13;;;;;;;;;;;;;;;;;;;;;;;;;20545:14;20517:42;20513:237;;;20625:12;20587:24;:35;20612:9;20587:35;;;;;;;;;;;;;;;;:50;20579:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;20722:12;20684:24;:35;20709:9;20684:35;;;;;;;;;;;;;;;:50;;;;20513:237;20473:288;20793:9;:15;20803:4;20793:15;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;20813:16;:20;20830:2;20813:20;;;;;;;;;;;;;;;;;;;;;;;;;20812:21;20793:40;20789:502;;;20868:14;;20858:6;:24;;20850:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20952:9;;20935:13;20945:2;20935:9;:13::i;:::-;20926:6;:22;;;;:::i;:::-;:35;;20918:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20789:502;;;21034:9;:13;21044:2;21034:13;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;21052:16;:22;21069:4;21052:22;;;;;;;;;;;;;;;;;;;;;;;;;21051:23;21034:40;21030:261;;;21109:14;;21099:6;:24;;21091:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;21030:261;;;21175:16;:20;21192:2;21175:20;;;;;;;;;;;;;;;;;;;;;;;;;21171:120;;21246:9;;21229:13;21239:2;21229:9;:13::i;:::-;21220:6;:22;;;;:::i;:::-;:35;;21212:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21171:120;21030:261;20789:502;20390:908;;;:::o;21306:712::-;21385:7;21435:15;;21407:24;21425:4;21407:9;:24::i;:::-;:43;;:56;;;;;21455:8;;;;;;;;;;;21454:9;21407:56;:76;;;;;21468:9;:15;21478:4;21468:15;;;;;;;;;;;;;;;;;;;;;;;;;21467:16;21407:76;21404:179;;;21511:4;21500:8;;:15;;;;;;;;;;;;;;;;;;21530:10;:8;:10::i;:::-;21566:5;21555:8;;:16;;;;;;;;;;;;;;;;;;21404:179;21603:11;21655:9;:13;21665:2;21655:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;;21682:1;21672:7;;:11;21655:28;21651:226;;;17669:5;21714:7;;21705:6;:16;;;;:::i;:::-;:30;;;;:::i;:::-;21699:36;;21651:226;;;21784:9;:15;21794:4;21784:15;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;;21812:1;21803:6;;:10;21784:29;21781:96;;;17669:5;21845:6;;21836;:15;;;;:::i;:::-;:29;;;;:::i;:::-;21830:35;;21781:96;21651:226;21906:1;21900:3;:7;21897:83;;;21927:41;21943:4;21957;21964:3;21927:15;:41::i;:::-;21897:83;22007:3;22000:10;;;21306:712;;;;;:::o;14668:91::-;;;;:::o;15363:90::-;;;;:::o;22418:503::-;22459:23;22485:24;22503:4;22485:9;:24::i;:::-;22459:50;;22552:1;22533:15;:20;22530:34;;22556:7;;;22530:34;22615:2;22597:15;;:20;;;;:::i;:::-;22579:15;:38;22576:107;;;22669:2;22651:15;;:20;;;;:::i;:::-;22633:38;;22576:107;22703:33;22720:15;22703:16;:33::i;:::-;22788:1;22764:21;:25;22761:153;;;22805:12;22846:17;;;;;;;;;;;:22;;22876:21;22846:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22832:70;;;;;22790:124;22761:153;22446:475;22418:503;:::o;22026:384::-;22091:21;22129:1;22115:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22091:40;;22160:4;22142;22147:1;22142:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22186:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22176:4;22181:1;22176:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;22215:9;;;;;;;;;;;:60;;;22290:8;22313:1;22329:4;22356;22376:15;22215:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22078:332;22026:384;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:126::-;2404:7;2444:42;2437:5;2433:54;2422:65;;2367:126;;;:::o;2499:60::-;2527:3;2548:5;2541:12;;2499:60;;;:::o;2565:142::-;2615:9;2648:53;2666:34;2675:24;2693:5;2675:24;:::i;:::-;2666:34;:::i;:::-;2648:53;:::i;:::-;2635:66;;2565:142;;;:::o;2713:126::-;2763:9;2796:37;2827:5;2796:37;:::i;:::-;2783:50;;2713:126;;;:::o;2845:144::-;2913:9;2946:37;2977:5;2946:37;:::i;:::-;2933:50;;2845:144;;;:::o;2995:167::-;3100:55;3149:5;3100:55;:::i;:::-;3095:3;3088:68;2995:167;;:::o;3168:258::-;3279:4;3317:2;3306:9;3302:18;3294:26;;3330:89;3416:1;3405:9;3401:17;3392:6;3330:89;:::i;:::-;3168:258;;;;:::o;3432:96::-;3469:7;3498:24;3516:5;3498:24;:::i;:::-;3487:35;;3432:96;;;:::o;3534:122::-;3607:24;3625:5;3607:24;:::i;:::-;3600:5;3597:35;3587:63;;3646:1;3643;3636:12;3587:63;3534:122;:::o;3662:139::-;3708:5;3746:6;3733:20;3724:29;;3762:33;3789:5;3762:33;:::i;:::-;3662:139;;;;:::o;3807:474::-;3875:6;3883;3932:2;3920:9;3911:7;3907:23;3903:32;3900:119;;;3938:79;;:::i;:::-;3900:119;4058:1;4083:53;4128:7;4119:6;4108:9;4104:22;4083:53;:::i;:::-;4073:63;;4029:117;4185:2;4211:53;4256:7;4247:6;4236:9;4232:22;4211:53;:::i;:::-;4201:63;;4156:118;3807:474;;;;;:::o;4287:90::-;4321:7;4364:5;4357:13;4350:21;4339:32;;4287:90;;;:::o;4383:109::-;4464:21;4479:5;4464:21;:::i;:::-;4459:3;4452:34;4383:109;;:::o;4498:210::-;4585:4;4623:2;4612:9;4608:18;4600:26;;4636:65;4698:1;4687:9;4683:17;4674:6;4636:65;:::i;:::-;4498:210;;;;:::o;4714:474::-;4782:6;4790;4839:2;4827:9;4818:7;4814:23;4810:32;4807:119;;;4845:79;;:::i;:::-;4807:119;4965:1;4990:53;5035:7;5026:6;5015:9;5011:22;4990:53;:::i;:::-;4980:63;;4936:117;5092:2;5118:53;5163:7;5154:6;5143:9;5139:22;5118:53;:::i;:::-;5108:63;;5063:118;4714:474;;;;;:::o;5194:118::-;5281:24;5299:5;5281:24;:::i;:::-;5276:3;5269:37;5194:118;;:::o;5318:222::-;5411:4;5449:2;5438:9;5434:18;5426:26;;5462:71;5530:1;5519:9;5515:17;5506:6;5462:71;:::i;:::-;5318:222;;;;:::o;5546:619::-;5623:6;5631;5639;5688:2;5676:9;5667:7;5663:23;5659:32;5656:119;;;5694:79;;:::i;:::-;5656:119;5814:1;5839:53;5884:7;5875:6;5864:9;5860:22;5839:53;:::i;:::-;5829:63;;5785:117;5941:2;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5912:118;6069:2;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6040:118;5546:619;;;;;:::o;6171:86::-;6206:7;6246:4;6239:5;6235:16;6224:27;;6171:86;;;:::o;6263:112::-;6346:22;6362:5;6346:22;:::i;:::-;6341:3;6334:35;6263:112;;:::o;6381:214::-;6470:4;6508:2;6497:9;6493:18;6485:26;;6521:67;6585:1;6574:9;6570:17;6561:6;6521:67;:::i;:::-;6381:214;;;;:::o;6601:329::-;6660:6;6709:2;6697:9;6688:7;6684:23;6680:32;6677:119;;;6715:79;;:::i;:::-;6677:119;6835:1;6860:53;6905:7;6896:6;6885:9;6881:22;6860:53;:::i;:::-;6850:63;;6806:117;6601:329;;;;:::o;6936:118::-;7023:24;7041:5;7023:24;:::i;:::-;7018:3;7011:37;6936:118;;:::o;7060:222::-;7153:4;7191:2;7180:9;7176:18;7168:26;;7204:71;7272:1;7261:9;7257:17;7248:6;7204:71;:::i;:::-;7060:222;;;;:::o;7288:116::-;7358:21;7373:5;7358:21;:::i;:::-;7351:5;7348:32;7338:60;;7394:1;7391;7384:12;7338:60;7288:116;:::o;7410:133::-;7453:5;7491:6;7478:20;7469:29;;7507:30;7531:5;7507:30;:::i;:::-;7410:133;;;;:::o;7549:468::-;7614:6;7622;7671:2;7659:9;7650:7;7646:23;7642:32;7639:119;;;7677:79;;:::i;:::-;7639:119;7797:1;7822:53;7867:7;7858:6;7847:9;7843:22;7822:53;:::i;:::-;7812:63;;7768:117;7924:2;7950:50;7992:7;7983:6;7972:9;7968:22;7950:50;:::i;:::-;7940:60;;7895:115;7549:468;;;;;:::o;8023:474::-;8091:6;8099;8148:2;8136:9;8127:7;8123:23;8119:32;8116:119;;;8154:79;;:::i;:::-;8116:119;8274:1;8299:53;8344:7;8335:6;8324:9;8320:22;8299:53;:::i;:::-;8289:63;;8245:117;8401:2;8427:53;8472:7;8463:6;8452:9;8448:22;8427:53;:::i;:::-;8417:63;;8372:118;8023:474;;;;;:::o;8503:182::-;8643:34;8639:1;8631:6;8627:14;8620:58;8503:182;:::o;8691:366::-;8833:3;8854:67;8918:2;8913:3;8854:67;:::i;:::-;8847:74;;8930:93;9019:3;8930:93;:::i;:::-;9048:2;9043:3;9039:12;9032:19;;8691:366;;;:::o;9063:419::-;9229:4;9267:2;9256:9;9252:18;9244:26;;9316:9;9310:4;9306:20;9302:1;9291:9;9287:17;9280:47;9344:131;9470:4;9344:131;:::i;:::-;9336:139;;9063:419;;;:::o;9488:180::-;9536:77;9533:1;9526:88;9633:4;9630:1;9623:15;9657:4;9654:1;9647:15;9674:102;9716:8;9763:5;9760:1;9756:13;9735:34;;9674:102;;;:::o;9782:848::-;9843:5;9850:4;9874:6;9865:15;;9898:5;9889:14;;9912:712;9933:1;9923:8;9920:15;9912:712;;;10028:4;10023:3;10019:14;10013:4;10010:24;10007:50;;;10037:18;;:::i;:::-;10007:50;10087:1;10077:8;10073:16;10070:451;;;10502:4;10495:5;10491:16;10482:25;;10070:451;10552:4;10546;10542:15;10534:23;;10582:32;10605:8;10582:32;:::i;:::-;10570:44;;9912:712;;;9782:848;;;;;;;:::o;10636:1073::-;10690:5;10881:8;10871:40;;10902:1;10893:10;;10904:5;;10871:40;10930:4;10920:36;;10947:1;10938:10;;10949:5;;10920:36;11016:4;11064:1;11059:27;;;;11100:1;11095:191;;;;11009:277;;11059:27;11077:1;11068:10;;11079:5;;;11095:191;11140:3;11130:8;11127:17;11124:43;;;11147:18;;:::i;:::-;11124:43;11196:8;11193:1;11189:16;11180:25;;11231:3;11224:5;11221:14;11218:40;;;11238:18;;:::i;:::-;11218:40;11271:5;;;11009:277;;11395:2;11385:8;11382:16;11376:3;11370:4;11367:13;11363:36;11345:2;11335:8;11332:16;11327:2;11321:4;11318:12;11314:35;11298:111;11295:246;;;11451:8;11445:4;11441:19;11432:28;;11486:3;11479:5;11476:14;11473:40;;;11493:18;;:::i;:::-;11473:40;11526:5;;11295:246;11566:42;11604:3;11594:8;11588:4;11585:1;11566:42;:::i;:::-;11551:57;;;;11640:4;11635:3;11631:14;11624:5;11621:25;11618:51;;;11649:18;;:::i;:::-;11618:51;11698:4;11691:5;11687:16;11678:25;;10636:1073;;;;;;:::o;11715:281::-;11773:5;11797:23;11815:4;11797:23;:::i;:::-;11789:31;;11841:25;11857:8;11841:25;:::i;:::-;11829:37;;11885:104;11922:66;11912:8;11906:4;11885:104;:::i;:::-;11876:113;;11715:281;;;;:::o;12002:410::-;12042:7;12065:20;12083:1;12065:20;:::i;:::-;12060:25;;12099:20;12117:1;12099:20;:::i;:::-;12094:25;;12154:1;12151;12147:9;12176:30;12194:11;12176:30;:::i;:::-;12165:41;;12355:1;12346:7;12342:15;12339:1;12336:22;12316:1;12309:9;12289:83;12266:139;;12385:18;;:::i;:::-;12266:139;12050:362;12002:410;;;;:::o;12418:180::-;12466:77;12463:1;12456:88;12563:4;12560:1;12553:15;12587:4;12584:1;12577:15;12604:185;12644:1;12661:20;12679:1;12661:20;:::i;:::-;12656:25;;12695:20;12713:1;12695:20;:::i;:::-;12690:25;;12734:1;12724:35;;12739:18;;:::i;:::-;12724:35;12781:1;12778;12774:9;12769:14;;12604:185;;;;:::o;12795:157::-;12935:9;12931:1;12923:6;12919:14;12912:33;12795:157;:::o;12958:365::-;13100:3;13121:66;13185:1;13180:3;13121:66;:::i;:::-;13114:73;;13196:93;13285:3;13196:93;:::i;:::-;13314:2;13309:3;13305:12;13298:19;;12958:365;;;:::o;13329:419::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13582:9;13576:4;13572:20;13568:1;13557:9;13553:17;13546:47;13610:131;13736:4;13610:131;:::i;:::-;13602:139;;13329:419;;;:::o;13754:180::-;13802:77;13799:1;13792:88;13899:4;13896:1;13889:15;13923:4;13920:1;13913:15;13940:320;13984:6;14021:1;14015:4;14011:12;14001:22;;14068:1;14062:4;14058:12;14089:18;14079:81;;14145:4;14137:6;14133:17;14123:27;;14079:81;14207:2;14199:6;14196:14;14176:18;14173:38;14170:84;;14226:18;;:::i;:::-;14170:84;13991:269;13940:320;;;:::o;14266:191::-;14306:3;14325:20;14343:1;14325:20;:::i;:::-;14320:25;;14359:20;14377:1;14359:20;:::i;:::-;14354:25;;14402:1;14399;14395:9;14388:16;;14423:3;14420:1;14417:10;14414:36;;;14430:18;;:::i;:::-;14414:36;14266:191;;;;:::o;14463:162::-;14603:14;14599:1;14591:6;14587:14;14580:38;14463:162;:::o;14631:366::-;14773:3;14794:67;14858:2;14853:3;14794:67;:::i;:::-;14787:74;;14870:93;14959:3;14870:93;:::i;:::-;14988:2;14983:3;14979:12;14972:19;;14631:366;;;:::o;15003:419::-;15169:4;15207:2;15196:9;15192:18;15184:26;;15256:9;15250:4;15246:20;15242:1;15231:9;15227:17;15220:47;15284:131;15410:4;15284:131;:::i;:::-;15276:139;;15003:419;;;:::o;15428:320::-;15543:4;15581:2;15570:9;15566:18;15558:26;;15594:71;15662:1;15651:9;15647:17;15638:6;15594:71;:::i;:::-;15675:66;15737:2;15726:9;15722:18;15713:6;15675:66;:::i;:::-;15428:320;;;;;:::o;15754:164::-;15894:16;15890:1;15882:6;15878:14;15871:40;15754:164;:::o;15924:366::-;16066:3;16087:67;16151:2;16146:3;16087:67;:::i;:::-;16080:74;;16163:93;16252:3;16163:93;:::i;:::-;16281:2;16276:3;16272:12;16265:19;;15924:366;;;:::o;16296:419::-;16462:4;16500:2;16489:9;16485:18;16477:26;;16549:9;16543:4;16539:20;16535:1;16524:9;16520:17;16513:47;16577:131;16703:4;16577:131;:::i;:::-;16569:139;;16296:419;;;:::o;16721:154::-;16861:6;16857:1;16849:6;16845:14;16838:30;16721:154;:::o;16881:365::-;17023:3;17044:66;17108:1;17103:3;17044:66;:::i;:::-;17037:73;;17119:93;17208:3;17119:93;:::i;:::-;17237:2;17232:3;17228:12;17221:19;;16881:365;;;:::o;17252:419::-;17418:4;17456:2;17445:9;17441:18;17433:26;;17505:9;17499:4;17495:20;17491:1;17480:9;17476:17;17469:47;17533:131;17659:4;17533:131;:::i;:::-;17525:139;;17252:419;;;:::o;17677:224::-;17817:34;17813:1;17805:6;17801:14;17794:58;17886:7;17881:2;17873:6;17869:15;17862:32;17677:224;:::o;17907:366::-;18049:3;18070:67;18134:2;18129:3;18070:67;:::i;:::-;18063:74;;18146:93;18235:3;18146:93;:::i;:::-;18264:2;18259:3;18255:12;18248:19;;17907:366;;;:::o;18279:419::-;18445:4;18483:2;18472:9;18468:18;18460:26;;18532:9;18526:4;18522:20;18518:1;18507:9;18503:17;18496:47;18560:131;18686:4;18560:131;:::i;:::-;18552:139;;18279:419;;;:::o;18704:162::-;18844:14;18840:1;18832:6;18828:14;18821:38;18704:162;:::o;18872:366::-;19014:3;19035:67;19099:2;19094:3;19035:67;:::i;:::-;19028:74;;19111:93;19200:3;19111:93;:::i;:::-;19229:2;19224:3;19220:12;19213:19;;18872:366;;;:::o;19244:419::-;19410:4;19448:2;19437:9;19433:18;19425:26;;19497:9;19491:4;19487:20;19483:1;19472:9;19468:17;19461:47;19525:131;19651:4;19525:131;:::i;:::-;19517:139;;19244:419;;;:::o;19669:225::-;19809:34;19805:1;19797:6;19793:14;19786:58;19878:8;19873:2;19865:6;19861:15;19854:33;19669:225;:::o;19900:366::-;20042:3;20063:67;20127:2;20122:3;20063:67;:::i;:::-;20056:74;;20139:93;20228:3;20139:93;:::i;:::-;20257:2;20252:3;20248:12;20241:19;;19900:366;;;:::o;20272:419::-;20438:4;20476:2;20465:9;20461:18;20453:26;;20525:9;20519:4;20515:20;20511:1;20500:9;20496:17;20489:47;20553:131;20679:4;20553:131;:::i;:::-;20545:139;;20272:419;;;:::o;20697:223::-;20837:34;20833:1;20825:6;20821:14;20814:58;20906:6;20901:2;20893:6;20889:15;20882:31;20697:223;:::o;20926:366::-;21068:3;21089:67;21153:2;21148:3;21089:67;:::i;:::-;21082:74;;21165:93;21254:3;21165:93;:::i;:::-;21283:2;21278:3;21274:12;21267:19;;20926:366;;;:::o;21298:419::-;21464:4;21502:2;21491:9;21487:18;21479:26;;21551:9;21545:4;21541:20;21537:1;21526:9;21522:17;21515:47;21579:131;21705:4;21579:131;:::i;:::-;21571:139;;21298:419;;;:::o;21723:221::-;21863:34;21859:1;21851:6;21847:14;21840:58;21932:4;21927:2;21919:6;21915:15;21908:29;21723:221;:::o;21950:366::-;22092:3;22113:67;22177:2;22172:3;22113:67;:::i;:::-;22106:74;;22189:93;22278:3;22189:93;:::i;:::-;22307:2;22302:3;22298:12;22291:19;;21950:366;;;:::o;22322:419::-;22488:4;22526:2;22515:9;22511:18;22503:26;;22575:9;22569:4;22565:20;22561:1;22550:9;22546:17;22539:47;22603:131;22729:4;22603:131;:::i;:::-;22595:139;;22322:419;;;:::o;22747:179::-;22887:31;22883:1;22875:6;22871:14;22864:55;22747:179;:::o;22932:366::-;23074:3;23095:67;23159:2;23154:3;23095:67;:::i;:::-;23088:74;;23171:93;23260:3;23171:93;:::i;:::-;23289:2;23284:3;23280:12;23273:19;;22932:366;;;:::o;23304:419::-;23470:4;23508:2;23497:9;23493:18;23485:26;;23557:9;23551:4;23547:20;23543:1;23532:9;23528:17;23521:47;23585:131;23711:4;23585:131;:::i;:::-;23577:139;;23304:419;;;:::o;23729:171::-;23869:23;23865:1;23857:6;23853:14;23846:47;23729:171;:::o;23906:366::-;24048:3;24069:67;24133:2;24128:3;24069:67;:::i;:::-;24062:74;;24145:93;24234:3;24145:93;:::i;:::-;24263:2;24258:3;24254:12;24247:19;;23906:366;;;:::o;24278:419::-;24444:4;24482:2;24471:9;24467:18;24459:26;;24531:9;24525:4;24521:20;24517:1;24506:9;24502:17;24495:47;24559:131;24685:4;24559:131;:::i;:::-;24551:139;;24278:419;;;:::o;24703:174::-;24843:26;24839:1;24831:6;24827:14;24820:50;24703:174;:::o;24883:366::-;25025:3;25046:67;25110:2;25105:3;25046:67;:::i;:::-;25039:74;;25122:93;25211:3;25122:93;:::i;:::-;25240:2;25235:3;25231:12;25224:19;;24883:366;;;:::o;25255:419::-;25421:4;25459:2;25448:9;25444:18;25436:26;;25508:9;25502:4;25498:20;25494:1;25483:9;25479:17;25472:47;25536:131;25662:4;25536:131;:::i;:::-;25528:139;;25255:419;;;:::o;25680:168::-;25820:20;25816:1;25808:6;25804:14;25797:44;25680:168;:::o;25854:366::-;25996:3;26017:67;26081:2;26076:3;26017:67;:::i;:::-;26010:74;;26093:93;26182:3;26093:93;:::i;:::-;26211:2;26206:3;26202:12;26195:19;;25854:366;;;:::o;26226:419::-;26392:4;26430:2;26419:9;26415:18;26407:26;;26479:9;26473:4;26469:20;26465:1;26454:9;26450:17;26443:47;26507:131;26633:4;26507:131;:::i;:::-;26499:139;;26226:419;;;:::o;26651:194::-;26691:4;26711:20;26729:1;26711:20;:::i;:::-;26706:25;;26745:20;26763:1;26745:20;:::i;:::-;26740:25;;26789:1;26786;26782:9;26774:17;;26813:1;26807:4;26804:11;26801:37;;;26818:18;;:::i;:::-;26801:37;26651:194;;;;:::o;26851:224::-;26991:34;26987:1;26979:6;26975:14;26968:58;27060:7;27055:2;27047:6;27043:15;27036:32;26851:224;:::o;27081:366::-;27223:3;27244:67;27308:2;27303:3;27244:67;:::i;:::-;27237:74;;27320:93;27409:3;27320:93;:::i;:::-;27438:2;27433:3;27429:12;27422:19;;27081:366;;;:::o;27453:419::-;27619:4;27657:2;27646:9;27642:18;27634:26;;27706:9;27700:4;27696:20;27692:1;27681:9;27677:17;27670:47;27734:131;27860:4;27734:131;:::i;:::-;27726:139;;27453:419;;;:::o;27878:222::-;28018:34;28014:1;28006:6;28002:14;27995:58;28087:5;28082:2;28074:6;28070:15;28063:30;27878:222;:::o;28106:366::-;28248:3;28269:67;28333:2;28328:3;28269:67;:::i;:::-;28262:74;;28345:93;28434:3;28345:93;:::i;:::-;28463:2;28458:3;28454:12;28447:19;;28106:366;;;:::o;28478:419::-;28644:4;28682:2;28671:9;28667:18;28659:26;;28731:9;28725:4;28721:20;28717:1;28706:9;28702:17;28695:47;28759:131;28885:4;28759:131;:::i;:::-;28751:139;;28478:419;;;:::o;28903:225::-;29043:34;29039:1;29031:6;29027:14;29020:58;29112:8;29107:2;29099:6;29095:15;29088:33;28903:225;:::o;29134:366::-;29276:3;29297:67;29361:2;29356:3;29297:67;:::i;:::-;29290:74;;29373:93;29462:3;29373:93;:::i;:::-;29491:2;29486:3;29482:12;29475:19;;29134:366;;;:::o;29506:419::-;29672:4;29710:2;29699:9;29695:18;29687:26;;29759:9;29753:4;29749:20;29745:1;29734:9;29730:17;29723:47;29787:131;29913:4;29787:131;:::i;:::-;29779:139;;29506:419;;;:::o;29931:173::-;30071:25;30067:1;30059:6;30055:14;30048:49;29931:173;:::o;30110:366::-;30252:3;30273:67;30337:2;30332:3;30273:67;:::i;:::-;30266:74;;30349:93;30438:3;30349:93;:::i;:::-;30467:2;30462:3;30458:12;30451:19;;30110:366;;;:::o;30482:419::-;30648:4;30686:2;30675:9;30671:18;30663:26;;30735:9;30729:4;30725:20;30721:1;30710:9;30706:17;30699:47;30763:131;30889:4;30763:131;:::i;:::-;30755:139;;30482:419;;;:::o;30907:166::-;31047:18;31043:1;31035:6;31031:14;31024:42;30907:166;:::o;31079:366::-;31221:3;31242:67;31306:2;31301:3;31242:67;:::i;:::-;31235:74;;31318:93;31407:3;31318:93;:::i;:::-;31436:2;31431:3;31427:12;31420:19;;31079:366;;;:::o;31451:419::-;31617:4;31655:2;31644:9;31640:18;31632:26;;31704:9;31698:4;31694:20;31690:1;31679:9;31675:17;31668:47;31732:131;31858:4;31732:131;:::i;:::-;31724:139;;31451:419;;;:::o;31876:169::-;32016:21;32012:1;32004:6;32000:14;31993:45;31876:169;:::o;32051:366::-;32193:3;32214:67;32278:2;32273:3;32214:67;:::i;:::-;32207:74;;32290:93;32379:3;32290:93;:::i;:::-;32408:2;32403:3;32399:12;32392:19;;32051:366;;;:::o;32423:419::-;32589:4;32627:2;32616:9;32612:18;32604:26;;32676:9;32670:4;32666:20;32662:1;32651:9;32647:17;32640:47;32704:131;32830:4;32704:131;:::i;:::-;32696:139;;32423:419;;;:::o;32848:147::-;32949:11;32986:3;32971:18;;32848:147;;;;:::o;33001:114::-;;:::o;33121:398::-;33280:3;33301:83;33382:1;33377:3;33301:83;:::i;:::-;33294:90;;33393:93;33482:3;33393:93;:::i;:::-;33511:1;33506:3;33502:11;33495:18;;33121:398;;;:::o;33525:379::-;33709:3;33731:147;33874:3;33731:147;:::i;:::-;33724:154;;33895:3;33888:10;;33525:379;;;:::o;33910:180::-;33958:77;33955:1;33948:88;34055:4;34052:1;34045:15;34079:4;34076:1;34069:15;34096:180;34144:77;34141:1;34134:88;34241:4;34238:1;34231:15;34265:4;34262:1;34255:15;34282:143;34339:5;34370:6;34364:13;34355:22;;34386:33;34413:5;34386:33;:::i;:::-;34282:143;;;;:::o;34431:351::-;34501:6;34550:2;34538:9;34529:7;34525:23;34521:32;34518:119;;;34556:79;;:::i;:::-;34518:119;34676:1;34701:64;34757:7;34748:6;34737:9;34733:22;34701:64;:::i;:::-;34691:74;;34647:128;34431:351;;;;:::o;34788:85::-;34833:7;34862:5;34851:16;;34788:85;;;:::o;34879:158::-;34937:9;34970:61;34988:42;34997:32;35023:5;34997:32;:::i;:::-;34988:42;:::i;:::-;34970:61;:::i;:::-;34957:74;;34879:158;;;:::o;35043:147::-;35138:45;35177:5;35138:45;:::i;:::-;35133:3;35126:58;35043:147;;:::o;35196:114::-;35263:6;35297:5;35291:12;35281:22;;35196:114;;;:::o;35316:184::-;35415:11;35449:6;35444:3;35437:19;35489:4;35484:3;35480:14;35465:29;;35316:184;;;;:::o;35506:132::-;35573:4;35596:3;35588:11;;35626:4;35621:3;35617:14;35609:22;;35506:132;;;:::o;35644:108::-;35721:24;35739:5;35721:24;:::i;:::-;35716:3;35709:37;35644:108;;:::o;35758:179::-;35827:10;35848:46;35890:3;35882:6;35848:46;:::i;:::-;35926:4;35921:3;35917:14;35903:28;;35758:179;;;;:::o;35943:113::-;36013:4;36045;36040:3;36036:14;36028:22;;35943:113;;;:::o;36092:732::-;36211:3;36240:54;36288:5;36240:54;:::i;:::-;36310:86;36389:6;36384:3;36310:86;:::i;:::-;36303:93;;36420:56;36470:5;36420:56;:::i;:::-;36499:7;36530:1;36515:284;36540:6;36537:1;36534:13;36515:284;;;36616:6;36610:13;36643:63;36702:3;36687:13;36643:63;:::i;:::-;36636:70;;36729:60;36782:6;36729:60;:::i;:::-;36719:70;;36575:224;36562:1;36559;36555:9;36550:14;;36515:284;;;36519:14;36815:3;36808:10;;36216:608;;;36092:732;;;;:::o;36830:831::-;37093:4;37131:3;37120:9;37116:19;37108:27;;37145:71;37213:1;37202:9;37198:17;37189:6;37145:71;:::i;:::-;37226:80;37302:2;37291:9;37287:18;37278:6;37226:80;:::i;:::-;37353:9;37347:4;37343:20;37338:2;37327:9;37323:18;37316:48;37381:108;37484:4;37475:6;37381:108;:::i;:::-;37373:116;;37499:72;37567:2;37556:9;37552:18;37543:6;37499:72;:::i;:::-;37581:73;37649:3;37638:9;37634:19;37625:6;37581:73;:::i;:::-;36830:831;;;;;;;;:::o
Swarm Source
ipfs://875be93c323feb984cf5d0de1438cd2e1546184dc3d3de2ee80498d912258229
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.