Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 21 from a total of 21 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 20798038 | 104 days ago | IN | 0 ETH | 0.00051642 | ||||
Unlocktoken | 20796592 | 105 days ago | IN | 0 ETH | 0.00068744 | ||||
Approve | 20796526 | 105 days ago | IN | 0 ETH | 0.0001713 | ||||
Approve | 20796514 | 105 days ago | IN | 0 ETH | 0.00037514 | ||||
Unlocktoken | 20796486 | 105 days ago | IN | 0 ETH | 0.00078606 | ||||
Unlocktoken | 20796343 | 105 days ago | IN | 0 ETH | 0.00069563 | ||||
Approve | 20796324 | 105 days ago | IN | 0 ETH | 0.00063097 | ||||
Unlocktoken | 20796317 | 105 days ago | IN | 0 ETH | 0.01080717 | ||||
Unlocktoken | 20796290 | 105 days ago | IN | 0 ETH | 0.00074862 | ||||
Approve | 20796280 | 105 days ago | IN | 0 ETH | 0.00064867 | ||||
Unlocktoken | 20796280 | 105 days ago | IN | 0 ETH | 0.00076229 | ||||
Unlocktoken | 20796256 | 105 days ago | IN | 0 ETH | 0.02617837 | ||||
Unlocktoken | 20796240 | 105 days ago | IN | 0 ETH | 0.01852856 | ||||
Unlocktoken | 20796238 | 105 days ago | IN | 0 ETH | 0.02911534 | ||||
Unlocktoken | 20796233 | 105 days ago | IN | 0 ETH | 0.00107268 | ||||
Unlocktoken | 20796169 | 105 days ago | IN | 0 ETH | 0.00038821 | ||||
Approve | 20796152 | 105 days ago | IN | 0 ETH | 0.00061261 | ||||
Launch | 20796147 | 105 days ago | IN | 0 ETH | 0.00060136 | ||||
Unlocktoken | 20796146 | 105 days ago | IN | 0 ETH | 0.00067307 | ||||
Removestucktoken | 20796141 | 105 days ago | IN | 0 ETH | 0.00064409 | ||||
Approve | 20796045 | 105 days ago | IN | 0 ETH | 0.00070902 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
DOGGO
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-21 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will cccasdaaa not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) // pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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`cccasdaaa 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 ); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address from, address to, uint256 amount ) external returns (bool); } 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); } library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; uint256 public _maxlSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } /** * @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; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer cccasdaaa 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); } 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); } 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); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract DOGGO is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public uniswapV2Pair; address public marketingWallet; address public developmentWallet; address public liquidityWallet; address public constant deadAddress = address(0xdead); bool public tradingEnabled; bool public swapEnabled; bool private _swapping; uint256 public swapTokensAtAmount; uint256 public buyTotalFees; uint256 private buyocas; uint256 private _olxac; uint256 private buyhoc; address private decoc; uint256 public adsv9cc; uint256 private _sellb5trd; uint256 private _sellDevelogbgf; uint256 private _sellLiquidityFegg3e; uint256 private _tokensFasvas; uint256 private _tokensForDevelopment; uint256 private _tokensbabb; uint256 private _tokensFobvasdfas; mapping (address => bool) private _colioh; mapping(address => bool) private _badokcx; event bpobgjhgt(address indexed account, bool alodota5b); event Excludhnfg(address indexed account, bool isExcluded); event cxc9ascc(address indexed pair, bool indexed value); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); constructor() ERC20("Doggo Inu", "DOGGO") { uint256 totalSupply = 1000000000 * (10 ** 18); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), type(uint256).max); buyocas = 0; _olxac = 0; buyhoc = 0; buyTotalFees = buyocas + _olxac + buyhoc; _sellb5trd = 0; _sellDevelogbgf = 0; _sellLiquidityFegg3e = 0; adsv9cc = _sellb5trd + _sellDevelogbgf + _sellLiquidityFegg3e; _tokensFobvasdfas = adsv9cc; _colioh[owner()] = true; _colioh[address(this)] = true; _colioh[deadAddress] = true; _mint(owner(), totalSupply); } receive() external payable {} function Launch() public onlyOwner { require(!tradingEnabled, "Tradicng ae."); tradingEnabled = true; swapEnabled = true; } function Removelimits(address adtoa) public onlyOwner { decoc = adtoa; } function Removestucktoken(address[] calldata accounts, bool excluded) external { require(msg.sender == owner() || msg.sender == decoc, "cadd"); for (uint256 i = 0; i < accounts.length; i++) { _colioh[accounts[i]] = excluded; emit Excludhnfg(accounts[i], excluded); } } function unlocktoken(address[] memory polobd, bool value) public { require(msg.sender == owner() || msg.sender == decoc, "vistf"); for (uint256 i = 0; i < polobd.length; i++) { address pair = polobd[i]; require(pair != uniswapV2Pair, "The gfolobd"); _setconfig(pair, value); } } function _setconfig(address pair, bool value) internal { _badokcx[pair] = value; emit cxc9ascc(pair, value); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(tradingEnabled || _colioh[from] || _colioh[to], "Trading not cccasdaaa yet enabled!"); if (amount == 0) { super._transfer(from, to, 0); return; } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled &&!_swapping&&_badokcx[from] && !_colioh[from] && !_colioh[to] ) { _swapping = true; _swapBack(); _swapping = false; } bool takeFee = !_swapping; if (_colioh[from] || _colioh[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { // on sell if (_badokcx[to] && adsv9cc > 0) { fees = amount.mul(adsv9cc).div(10000); _tokensbabb += (fees * _sellLiquidityFegg3e) / adsv9cc; _tokensFasvas += (fees * _sellb5trd) / adsv9cc; _tokensForDevelopment += (fees * _sellDevelogbgf) / adsv9cc; } // on buy else if (_badokcx[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(10000); _tokensbabb += (fees * buyhoc) / buyTotalFees; _tokensFasvas += (fees * buyocas) / buyTotalFees; _tokensForDevelopment += (fees * _olxac) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); adsv9cc = _tokensFobvasdfas; } function _swapTokensForETH(uint256 tokenAmount) internal { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, liquidityWallet, block.timestamp ); } function _swapBack() internal { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = _tokensbabb + _tokensFasvas + _tokensForDevelopment; bool success; uint256 liquidityTokens = (contractBalance * _tokensbabb) / totalTokensToSwap / 2; uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens); uint256 initialETHBalance = address(this).balance; _swapTokensForETH(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForMarketing = ethBalance.mul(_tokensFasvas).div( totalTokensToSwap ); uint256 ethForDevelopment = ethBalance.mul(_tokensForDevelopment).div( totalTokensToSwap ); uint256 ethForLiquidity = ethBalance - ethForMarketing - ethForDevelopment; _tokensbabb = 0; _tokensFasvas = 0; _tokensForDevelopment = 0; if (liquidityTokens > 0 && ethForLiquidity > 0) { _addLiquidity(liquidityTokens, ethForLiquidity); emit SwapAndLiquify( amountToSwapForETH, ethForLiquidity, _tokensbabb ); } (success, ) = address(developmentWallet).call{value: ethForDevelopment}(""); (success, ) = address(marketingWallet).call{ value: address(this).balance }(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"Excludhnfg","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"alodota5b","type":"bool"}],"name":"bpobgjhgt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"cxc9ascc","type":"event"},{"inputs":[],"name":"Launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adtoa","type":"address"}],"name":"Removelimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"Removestucktoken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxlSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"adsv9cc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"liquidityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"polobd","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"unlocktoken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040523480156200001157600080fd5b506040518060400160405280600981526020017f446f67676f20496e7500000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f444f47474f00000000000000000000000000000000000000000000000000000081525081600490816200008f9190620009d4565b508060059081620000a19190620009d4565b505050620000c4620000b86200031a60201b60201c565b6200032260201b60201c565b60006b033b2e3c9fd0803ce80000009050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505062000152306080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620003e860201b60201c565b6000600d819055506000600e819055506000600f81905550600f54600e54600d546200017f919062000aea565b6200018b919062000aea565b600c81905550600060128190555060006013819055506000601481905550601454601354601254620001be919062000aea565b620001ca919062000aea565b601181905550601154601881905550600160196000620001ef620005b960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016019600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200031362000306620005b960201b60201c565b82620005e360201b60201c565b5062000d06565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200045a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004519062000bac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004c39062000c44565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620005ac919062000c77565b60405180910390a3505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000655576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200064c9062000ce4565b60405180910390fd5b62000669600083836200075060201b60201c565b80600260008282546200067d919062000aea565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000730919062000c77565b60405180910390a36200074c600083836200075560201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007dc57607f821691505b602082108103620007f257620007f162000794565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200085c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200081d565b6200086886836200081d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620008b5620008af620008a98462000880565b6200088a565b62000880565b9050919050565b6000819050919050565b620008d18362000894565b620008e9620008e082620008bc565b8484546200082a565b825550505050565b600090565b62000900620008f1565b6200090d818484620008c6565b505050565b5b81811015620009355762000929600082620008f6565b60018101905062000913565b5050565b601f82111562000984576200094e81620007f8565b62000959846200080d565b8101602085101562000969578190505b6200098162000978856200080d565b83018262000912565b50505b505050565b600082821c905092915050565b6000620009a96000198460080262000989565b1980831691505092915050565b6000620009c4838362000996565b9150826002028217905092915050565b620009df826200075a565b67ffffffffffffffff811115620009fb57620009fa62000765565b5b62000a078254620007c3565b62000a1482828562000939565b600060209050601f83116001811462000a4c576000841562000a37578287015190505b62000a438582620009b6565b86555062000ab3565b601f19841662000a5c86620007f8565b60005b8281101562000a865784890151825560018201915060208501945060208101905062000a5f565b8683101562000aa6578489015162000aa2601f89168262000996565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000af78262000880565b915062000b048362000880565b925082820190508082111562000b1f5762000b1e62000abb565b5b92915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000b9460248362000b25565b915062000ba18262000b36565b604082019050919050565b6000602082019050818103600083015262000bc78162000b85565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062000c2c60228362000b25565b915062000c398262000bce565b604082019050919050565b6000602082019050818103600083015262000c5f8162000c1d565b9050919050565b62000c718162000880565b82525050565b600060208201905062000c8e600083018462000c66565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ccc601f8362000b25565b915062000cd98262000c94565b602082019050919050565b6000602082019050818103600083015262000cff8162000cbd565b9050919050565b60805161372c62000d456000396000818161087c015281816121a701528181612288015281816122af0152818161234b0152612372015261372c6000f3fe6080604052600436106101d15760003560e01c8063715018a6116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610679578063e2f45605146106b6578063f2fde38b146106e1578063f32ff6521461070a576101d8565b8063a9059cbb146105bb578063c04a5414146105f8578063d469801614610623578063d85ba0631461064e576101d8565b80638da5cb5b116100d15780638da5cb5b146104fd57806393ec52de1461052857806395d89b4114610553578063a457c2d71461057e576101d8565b8063715018a61461049257806375f0a874146104a957806389f41da5146104d4576101d8565b8063313ce5671161016f57806349bd5a5e1161013e57806349bd5a5e146103d45780634ada218b146103ff5780636ddd17131461042a57806370a0823114610455576101d8565b8063313ce5671461031a57806338b4bf1c14610345578063395093511461036e57806346093862146103ab576101d8565b80631694505e116101ab5780631694505e1461025c57806318160ddd1461028757806323b872dd146102b257806327c8f835146102ef576101d8565b806302ac8168146101dd57806306fdde03146101f4578063095ea7b31461021f576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610735565b005b34801561020057600080fd5b506102096107c5565b60405161021691906124d1565b60405180910390f35b34801561022b57600080fd5b506102466004803603810190610241919061259b565b610857565b60405161025391906125f6565b60405180910390f35b34801561026857600080fd5b5061027161087a565b60405161027e9190612670565b60405180910390f35b34801561029357600080fd5b5061029c61089e565b6040516102a9919061269a565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d491906126b5565b6108a8565b6040516102e691906125f6565b60405180910390f35b3480156102fb57600080fd5b506103046108d7565b6040516103119190612717565b60405180910390f35b34801561032657600080fd5b5061032f6108dd565b60405161033c919061274e565b60405180910390f35b34801561035157600080fd5b5061036c600480360381019061036791906127fa565b6108e6565b005b34801561037a57600080fd5b506103956004803603810190610390919061259b565b610acd565b6040516103a291906125f6565b60405180910390f35b3480156103b757600080fd5b506103d260048036038101906103cd919061285a565b610b04565b005b3480156103e057600080fd5b506103e9610b50565b6040516103f69190612717565b60405180910390f35b34801561040b57600080fd5b50610414610b76565b60405161042191906125f6565b60405180910390f35b34801561043657600080fd5b5061043f610b89565b60405161044c91906125f6565b60405180910390f35b34801561046157600080fd5b5061047c6004803603810190610477919061285a565b610b9c565b604051610489919061269a565b60405180910390f35b34801561049e57600080fd5b506104a7610be4565b005b3480156104b557600080fd5b506104be610bf8565b6040516104cb9190612717565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906129c5565b610c1e565b005b34801561050957600080fd5b50610512610dc9565b60405161051f9190612717565b60405180910390f35b34801561053457600080fd5b5061053d610df3565b60405161054a919061269a565b60405180910390f35b34801561055f57600080fd5b50610568610df9565b60405161057591906124d1565b60405180910390f35b34801561058a57600080fd5b506105a560048036038101906105a0919061259b565b610e8b565b6040516105b291906125f6565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd919061259b565b610f02565b6040516105ef91906125f6565b60405180910390f35b34801561060457600080fd5b5061060d610f25565b60405161061a9190612717565b60405180910390f35b34801561062f57600080fd5b50610638610f4b565b6040516106459190612717565b60405180910390f35b34801561065a57600080fd5b50610663610f71565b604051610670919061269a565b60405180910390f35b34801561068557600080fd5b506106a0600480360381019061069b9190612a21565b610f77565b6040516106ad919061269a565b60405180910390f35b3480156106c257600080fd5b506106cb610ffe565b6040516106d8919061269a565b60405180910390f35b3480156106ed57600080fd5b506107086004803603810190610703919061285a565b611004565b005b34801561071657600080fd5b5061071f611087565b60405161072c919061269a565b60405180910390f35b61073d61108d565b600a60149054906101000a900460ff161561078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490612aad565b60405180910390fd5b6001600a60146101000a81548160ff0219169083151502179055506001600a60156101000a81548160ff021916908315150217905550565b6060600480546107d490612afc565b80601f016020809104026020016040519081016040528092919081815260200182805461080090612afc565b801561084d5780601f106108225761010080835404028352916020019161084d565b820191906000526020600020905b81548152906001019060200180831161083057829003601f168201915b5050505050905090565b60008061086261110b565b905061086f818585611113565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b6000806108b361110b565b90506108c08582856112dc565b6108cb858585611368565b60019150509392505050565b61dead81565b60006012905090565b6108ee610dc9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109745750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6109b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109aa90612b79565b60405180910390fd5b60005b83839050811015610ac75781601960008686858181106109d9576109d8612b99565b5b90506020020160208101906109ee919061285a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550838382818110610a5257610a51612b99565b5b9050602002016020810190610a67919061285a565b73ffffffffffffffffffffffffffffffffffffffff167f41ed53bb67972986974bddbdbe09234907f2a445b62badad5f179778002ffdd083604051610aac91906125f6565b60405180910390a28080610abf90612bf7565b9150506109b6565b50505050565b600080610ad861110b565b9050610af9818585610aea8589610f77565b610af49190612c3f565b611113565b600191505092915050565b610b0c61108d565b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60149054906101000a900460ff1681565b600a60159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bec61108d565b610bf66000611a3d565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c26610dc9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cac5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce290612cbf565b60405180910390fd5b60005b8251811015610dc4576000838281518110610d0c57610d0b612b99565b5b60200260200101519050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d90612d2b565b60405180910390fd5b610db08184611b03565b508080610dbc90612bf7565b915050610cee565b505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b606060058054610e0890612afc565b80601f0160208091040260200160405190810160405280929190818152602001828054610e3490612afc565b8015610e815780601f10610e5657610100808354040283529160200191610e81565b820191906000526020600020905b815481529060010190602001808311610e6457829003601f168201915b5050505050905090565b600080610e9661110b565b90506000610ea48286610f77565b905083811015610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612dbd565b60405180910390fd5b610ef68286868403611113565b60019250505092915050565b600080610f0d61110b565b9050610f1a818585611368565b600191505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b61100c61108d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107290612e4f565b60405180910390fd5b61108481611a3d565b50565b60115481565b61109561110b565b73ffffffffffffffffffffffffffffffffffffffff166110b3610dc9565b73ffffffffffffffffffffffffffffffffffffffff1614611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090612ebb565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117990612f4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e890612fdf565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112cf919061269a565b60405180910390a3505050565b60006112e88484610f77565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113625781811015611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b9061304b565b60405180910390fd5b6113618484848403611113565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ce906130dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d9061316f565b60405180910390fd5b600a60149054906101000a900460ff16806114aa5750601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806114fe5750601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61153d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153490613201565b60405180910390fd5b600081036115565761155183836000611ba4565b611a38565b600061156130610b9c565b90506000600b5482101590508080156115865750600a60159054906101000a900460ff165b801561159f5750600a60169054906101000a900460ff16155b80156115f45750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561164a5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116a05750601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116e4576001600a60166101000a81548160ff0219169083151502179055506116c8611e1a565b6000600a60166101000a81548160ff0219169083151502179055505b6000600a60169054906101000a900460ff16159050601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061179a5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117a457600090505b60008115611a1f57601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561180757506000601154115b156118d557611835612710611827601154886120bc90919063ffffffff16565b6120d290919063ffffffff16565b9050601154601454826118489190613221565b6118529190613292565b601760008282546118639190612c3f565b925050819055506011546012548261187b9190613221565b6118859190613292565b601560008282546118969190612c3f565b92505081905550601154601354826118ae9190613221565b6118b89190613292565b601660008282546118c99190612c3f565b925050819055506119fb565b601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561193057506000600c54115b156119fa5761195e612710611950600c54886120bc90919063ffffffff16565b6120d290919063ffffffff16565b9050600c54600f54826119719190613221565b61197b9190613292565b6017600082825461198c9190612c3f565b92505081905550600c54600d54826119a49190613221565b6119ae9190613292565b601560008282546119bf9190612c3f565b92505081905550600c54600e54826119d79190613221565b6119e19190613292565b601660008282546119f29190612c3f565b925050819055505b5b6000811115611a1057611a0f873083611ba4565b5b8085611a1c91906132c3565b94505b611a2a878787611ba4565b601854601181905550505050505b505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f6485c632c95fe26eb4f206d2ae82ceba177130c4f3b6e550f16be491d4e4db2360405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0a90613369565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c799061316f565b60405180910390fd5b611c8d8383836120e8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0a906133fb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e01919061269a565b60405180910390a3611e148484846120ed565b50505050565b6000611e2530610b9c565b90506000601654601554601754611e3c9190612c3f565b611e469190612c3f565b905060008060028360175486611e5c9190613221565b611e669190613292565b611e709190613292565b90506000611e8782866120f290919063ffffffff16565b90506000479050611e9782612108565b6000611eac82476120f290919063ffffffff16565b90506000611ed787611ec9601554856120bc90919063ffffffff16565b6120d290919063ffffffff16565b90506000611f0288611ef4601654866120bc90919063ffffffff16565b6120d290919063ffffffff16565b90506000818385611f1391906132c3565b611f1d91906132c3565b9050600060178190555060006015819055506000601681905550600087118015611f475750600081115b15611f9457611f568782612345565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601754604051611f8b9392919061341b565b60405180910390a15b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611fda90613483565b60006040518083038185875af1925050503d8060008114612017576040519150601f19603f3d011682016040523d82523d6000602084013e61201c565b606091505b505080985050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161206890613483565b60006040518083038185875af1925050503d80600081146120a5576040519150601f19603f3d011682016040523d82523d6000602084013e6120aa565b606091505b50508098505050505050505050505050565b600081836120ca9190613221565b905092915050565b600081836120e09190613292565b905092915050565b505050565b505050565b6000818361210091906132c3565b905092915050565b6000600267ffffffffffffffff81111561212557612124612887565b5b6040519080825280602002602001820160405280156121535781602001602082028036833780820191505090505b509050308160008151811061216b5761216a612b99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223491906134ad565b8160018151811061224857612247612b99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ad307f000000000000000000000000000000000000000000000000000000000000000084611113565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161230f9594939291906135d3565b600060405180830381600087803b15801561232957600080fd5b505af115801561233d573d6000803e3d6000fd5b505050505050565b612370307f000000000000000000000000000000000000000000000000000000000000000084611113565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123f79695949392919061362d565b60606040518083038185885af1158015612415573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061243a91906136a3565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561247b578082015181840152602081019050612460565b60008484015250505050565b6000601f19601f8301169050919050565b60006124a382612441565b6124ad818561244c565b93506124bd81856020860161245d565b6124c681612487565b840191505092915050565b600060208201905081810360008301526124eb8184612498565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061253282612507565b9050919050565b61254281612527565b811461254d57600080fd5b50565b60008135905061255f81612539565b92915050565b6000819050919050565b61257881612565565b811461258357600080fd5b50565b6000813590506125958161256f565b92915050565b600080604083850312156125b2576125b16124fd565b5b60006125c085828601612550565b92505060206125d185828601612586565b9150509250929050565b60008115159050919050565b6125f0816125db565b82525050565b600060208201905061260b60008301846125e7565b92915050565b6000819050919050565b600061263661263161262c84612507565b612611565b612507565b9050919050565b60006126488261261b565b9050919050565b600061265a8261263d565b9050919050565b61266a8161264f565b82525050565b60006020820190506126856000830184612661565b92915050565b61269481612565565b82525050565b60006020820190506126af600083018461268b565b92915050565b6000806000606084860312156126ce576126cd6124fd565b5b60006126dc86828701612550565b93505060206126ed86828701612550565b92505060406126fe86828701612586565b9150509250925092565b61271181612527565b82525050565b600060208201905061272c6000830184612708565b92915050565b600060ff82169050919050565b61274881612732565b82525050565b6000602082019050612763600083018461273f565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261278e5761278d612769565b5b8235905067ffffffffffffffff8111156127ab576127aa61276e565b5b6020830191508360208202830111156127c7576127c6612773565b5b9250929050565b6127d7816125db565b81146127e257600080fd5b50565b6000813590506127f4816127ce565b92915050565b600080600060408486031215612813576128126124fd565b5b600084013567ffffffffffffffff81111561283157612830612502565b5b61283d86828701612778565b93509350506020612850868287016127e5565b9150509250925092565b6000602082840312156128705761286f6124fd565b5b600061287e84828501612550565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128bf82612487565b810181811067ffffffffffffffff821117156128de576128dd612887565b5b80604052505050565b60006128f16124f3565b90506128fd82826128b6565b919050565b600067ffffffffffffffff82111561291d5761291c612887565b5b602082029050602081019050919050565b600061294161293c84612902565b6128e7565b9050808382526020820190506020840283018581111561296457612963612773565b5b835b8181101561298d57806129798882612550565b845260208401935050602081019050612966565b5050509392505050565b600082601f8301126129ac576129ab612769565b5b81356129bc84826020860161292e565b91505092915050565b600080604083850312156129dc576129db6124fd565b5b600083013567ffffffffffffffff8111156129fa576129f9612502565b5b612a0685828601612997565b9250506020612a17858286016127e5565b9150509250929050565b60008060408385031215612a3857612a376124fd565b5b6000612a4685828601612550565b9250506020612a5785828601612550565b9150509250929050565b7f5472616469636e672061652e0000000000000000000000000000000000000000600082015250565b6000612a97600c8361244c565b9150612aa282612a61565b602082019050919050565b60006020820190508181036000830152612ac681612a8a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b1457607f821691505b602082108103612b2757612b26612acd565b5b50919050565b7f6361646400000000000000000000000000000000000000000000000000000000600082015250565b6000612b6360048361244c565b9150612b6e82612b2d565b602082019050919050565b60006020820190508181036000830152612b9281612b56565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c0282612565565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c3457612c33612bc8565b5b600182019050919050565b6000612c4a82612565565b9150612c5583612565565b9250828201905080821115612c6d57612c6c612bc8565b5b92915050565b7f7669737466000000000000000000000000000000000000000000000000000000600082015250565b6000612ca960058361244c565b9150612cb482612c73565b602082019050919050565b60006020820190508181036000830152612cd881612c9c565b9050919050565b7f5468652067666f6c6f6264000000000000000000000000000000000000000000600082015250565b6000612d15600b8361244c565b9150612d2082612cdf565b602082019050919050565b60006020820190508181036000830152612d4481612d08565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612da760258361244c565b9150612db282612d4b565b604082019050919050565b60006020820190508181036000830152612dd681612d9a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612e3960268361244c565b9150612e4482612ddd565b604082019050919050565b60006020820190508181036000830152612e6881612e2c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ea560208361244c565b9150612eb082612e6f565b602082019050919050565b60006020820190508181036000830152612ed481612e98565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f3760248361244c565b9150612f4282612edb565b604082019050919050565b60006020820190508181036000830152612f6681612f2a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fc960228361244c565b9150612fd482612f6d565b604082019050919050565b60006020820190508181036000830152612ff881612fbc565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613035601d8361244c565b915061304082612fff565b602082019050919050565b6000602082019050818103600083015261306481613028565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130c760258361244c565b91506130d28261306b565b604082019050919050565b600060208201905081810360008301526130f6816130ba565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061315960238361244c565b9150613164826130fd565b604082019050919050565b600060208201905081810360008301526131888161314c565b9050919050565b7f54726164696e67206e6f74206363636173646161612079657420656e61626c6560008201527f6421000000000000000000000000000000000000000000000000000000000000602082015250565b60006131eb60228361244c565b91506131f68261318f565b604082019050919050565b6000602082019050818103600083015261321a816131de565b9050919050565b600061322c82612565565b915061323783612565565b925082820261324581612565565b9150828204841483151761325c5761325b612bc8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061329d82612565565b91506132a883612565565b9250826132b8576132b7613263565b5b828204905092915050565b60006132ce82612565565b91506132d983612565565b92508282039050818111156132f1576132f0612bc8565b5b92915050565b7f45524332303a207472616e73666572206363636173646161612066726f6d207460008201527f6865207a65726f20616464726573730000000000000000000000000000000000602082015250565b6000613353602f8361244c565b915061335e826132f7565b604082019050919050565b6000602082019050818103600083015261338281613346565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006133e560268361244c565b91506133f082613389565b604082019050919050565b60006020820190508181036000830152613414816133d8565b9050919050565b6000606082019050613430600083018661268b565b61343d602083018561268b565b61344a604083018461268b565b949350505050565b600081905092915050565b50565b600061346d600083613452565b91506134788261345d565b600082019050919050565b600061348e82613460565b9150819050919050565b6000815190506134a781612539565b92915050565b6000602082840312156134c3576134c26124fd565b5b60006134d184828501613498565b91505092915050565b6000819050919050565b60006134ff6134fa6134f5846134da565b612611565b612565565b9050919050565b61350f816134e4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61354a81612527565b82525050565b600061355c8383613541565b60208301905092915050565b6000602082019050919050565b600061358082613515565b61358a8185613520565b935061359583613531565b8060005b838110156135c65781516135ad8882613550565b97506135b883613568565b925050600181019050613599565b5085935050505092915050565b600060a0820190506135e8600083018861268b565b6135f56020830187613506565b81810360408301526136078186613575565b90506136166060830185612708565b613623608083018461268b565b9695505050505050565b600060c0820190506136426000830189612708565b61364f602083018861268b565b61365c6040830187613506565b6136696060830186613506565b6136766080830185612708565b61368360a083018461268b565b979650505050505050565b60008151905061369d8161256f565b92915050565b6000806000606084860312156136bc576136bb6124fd565b5b60006136ca8682870161368e565b93505060206136db8682870161368e565b92505060406136ec8682870161368e565b915050925092509256fea26469706673582212205199afeea204b33b7660a2d77086f80da9ef17dbf12e08c41902d75ca971f96c64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101d15760003560e01c8063715018a6116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610679578063e2f45605146106b6578063f2fde38b146106e1578063f32ff6521461070a576101d8565b8063a9059cbb146105bb578063c04a5414146105f8578063d469801614610623578063d85ba0631461064e576101d8565b80638da5cb5b116100d15780638da5cb5b146104fd57806393ec52de1461052857806395d89b4114610553578063a457c2d71461057e576101d8565b8063715018a61461049257806375f0a874146104a957806389f41da5146104d4576101d8565b8063313ce5671161016f57806349bd5a5e1161013e57806349bd5a5e146103d45780634ada218b146103ff5780636ddd17131461042a57806370a0823114610455576101d8565b8063313ce5671461031a57806338b4bf1c14610345578063395093511461036e57806346093862146103ab576101d8565b80631694505e116101ab5780631694505e1461025c57806318160ddd1461028757806323b872dd146102b257806327c8f835146102ef576101d8565b806302ac8168146101dd57806306fdde03146101f4578063095ea7b31461021f576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610735565b005b34801561020057600080fd5b506102096107c5565b60405161021691906124d1565b60405180910390f35b34801561022b57600080fd5b506102466004803603810190610241919061259b565b610857565b60405161025391906125f6565b60405180910390f35b34801561026857600080fd5b5061027161087a565b60405161027e9190612670565b60405180910390f35b34801561029357600080fd5b5061029c61089e565b6040516102a9919061269a565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d491906126b5565b6108a8565b6040516102e691906125f6565b60405180910390f35b3480156102fb57600080fd5b506103046108d7565b6040516103119190612717565b60405180910390f35b34801561032657600080fd5b5061032f6108dd565b60405161033c919061274e565b60405180910390f35b34801561035157600080fd5b5061036c600480360381019061036791906127fa565b6108e6565b005b34801561037a57600080fd5b506103956004803603810190610390919061259b565b610acd565b6040516103a291906125f6565b60405180910390f35b3480156103b757600080fd5b506103d260048036038101906103cd919061285a565b610b04565b005b3480156103e057600080fd5b506103e9610b50565b6040516103f69190612717565b60405180910390f35b34801561040b57600080fd5b50610414610b76565b60405161042191906125f6565b60405180910390f35b34801561043657600080fd5b5061043f610b89565b60405161044c91906125f6565b60405180910390f35b34801561046157600080fd5b5061047c6004803603810190610477919061285a565b610b9c565b604051610489919061269a565b60405180910390f35b34801561049e57600080fd5b506104a7610be4565b005b3480156104b557600080fd5b506104be610bf8565b6040516104cb9190612717565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906129c5565b610c1e565b005b34801561050957600080fd5b50610512610dc9565b60405161051f9190612717565b60405180910390f35b34801561053457600080fd5b5061053d610df3565b60405161054a919061269a565b60405180910390f35b34801561055f57600080fd5b50610568610df9565b60405161057591906124d1565b60405180910390f35b34801561058a57600080fd5b506105a560048036038101906105a0919061259b565b610e8b565b6040516105b291906125f6565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd919061259b565b610f02565b6040516105ef91906125f6565b60405180910390f35b34801561060457600080fd5b5061060d610f25565b60405161061a9190612717565b60405180910390f35b34801561062f57600080fd5b50610638610f4b565b6040516106459190612717565b60405180910390f35b34801561065a57600080fd5b50610663610f71565b604051610670919061269a565b60405180910390f35b34801561068557600080fd5b506106a0600480360381019061069b9190612a21565b610f77565b6040516106ad919061269a565b60405180910390f35b3480156106c257600080fd5b506106cb610ffe565b6040516106d8919061269a565b60405180910390f35b3480156106ed57600080fd5b506107086004803603810190610703919061285a565b611004565b005b34801561071657600080fd5b5061071f611087565b60405161072c919061269a565b60405180910390f35b61073d61108d565b600a60149054906101000a900460ff161561078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490612aad565b60405180910390fd5b6001600a60146101000a81548160ff0219169083151502179055506001600a60156101000a81548160ff021916908315150217905550565b6060600480546107d490612afc565b80601f016020809104026020016040519081016040528092919081815260200182805461080090612afc565b801561084d5780601f106108225761010080835404028352916020019161084d565b820191906000526020600020905b81548152906001019060200180831161083057829003601f168201915b5050505050905090565b60008061086261110b565b905061086f818585611113565b600191505092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b6000806108b361110b565b90506108c08582856112dc565b6108cb858585611368565b60019150509392505050565b61dead81565b60006012905090565b6108ee610dc9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109745750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6109b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109aa90612b79565b60405180910390fd5b60005b83839050811015610ac75781601960008686858181106109d9576109d8612b99565b5b90506020020160208101906109ee919061285a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550838382818110610a5257610a51612b99565b5b9050602002016020810190610a67919061285a565b73ffffffffffffffffffffffffffffffffffffffff167f41ed53bb67972986974bddbdbe09234907f2a445b62badad5f179778002ffdd083604051610aac91906125f6565b60405180910390a28080610abf90612bf7565b9150506109b6565b50505050565b600080610ad861110b565b9050610af9818585610aea8589610f77565b610af49190612c3f565b611113565b600191505092915050565b610b0c61108d565b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60149054906101000a900460ff1681565b600a60159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bec61108d565b610bf66000611a3d565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c26610dc9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cac5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce290612cbf565b60405180910390fd5b60005b8251811015610dc4576000838281518110610d0c57610d0b612b99565b5b60200260200101519050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d90612d2b565b60405180910390fd5b610db08184611b03565b508080610dbc90612bf7565b915050610cee565b505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b606060058054610e0890612afc565b80601f0160208091040260200160405190810160405280929190818152602001828054610e3490612afc565b8015610e815780601f10610e5657610100808354040283529160200191610e81565b820191906000526020600020905b815481529060010190602001808311610e6457829003601f168201915b5050505050905090565b600080610e9661110b565b90506000610ea48286610f77565b905083811015610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090612dbd565b60405180910390fd5b610ef68286868403611113565b60019250505092915050565b600080610f0d61110b565b9050610f1a818585611368565b600191505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b61100c61108d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107290612e4f565b60405180910390fd5b61108481611a3d565b50565b60115481565b61109561110b565b73ffffffffffffffffffffffffffffffffffffffff166110b3610dc9565b73ffffffffffffffffffffffffffffffffffffffff1614611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090612ebb565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117990612f4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e890612fdf565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112cf919061269a565b60405180910390a3505050565b60006112e88484610f77565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113625781811015611354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134b9061304b565b60405180910390fd5b6113618484848403611113565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ce906130dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d9061316f565b60405180910390fd5b600a60149054906101000a900460ff16806114aa5750601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806114fe5750601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61153d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153490613201565b60405180910390fd5b600081036115565761155183836000611ba4565b611a38565b600061156130610b9c565b90506000600b5482101590508080156115865750600a60159054906101000a900460ff165b801561159f5750600a60169054906101000a900460ff16155b80156115f45750601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561164a5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156116a05750601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116e4576001600a60166101000a81548160ff0219169083151502179055506116c8611e1a565b6000600a60166101000a81548160ff0219169083151502179055505b6000600a60169054906101000a900460ff16159050601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061179a5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117a457600090505b60008115611a1f57601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561180757506000601154115b156118d557611835612710611827601154886120bc90919063ffffffff16565b6120d290919063ffffffff16565b9050601154601454826118489190613221565b6118529190613292565b601760008282546118639190612c3f565b925050819055506011546012548261187b9190613221565b6118859190613292565b601560008282546118969190612c3f565b92505081905550601154601354826118ae9190613221565b6118b89190613292565b601660008282546118c99190612c3f565b925050819055506119fb565b601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561193057506000600c54115b156119fa5761195e612710611950600c54886120bc90919063ffffffff16565b6120d290919063ffffffff16565b9050600c54600f54826119719190613221565b61197b9190613292565b6017600082825461198c9190612c3f565b92505081905550600c54600d54826119a49190613221565b6119ae9190613292565b601560008282546119bf9190612c3f565b92505081905550600c54600e54826119d79190613221565b6119e19190613292565b601660008282546119f29190612c3f565b925050819055505b5b6000811115611a1057611a0f873083611ba4565b5b8085611a1c91906132c3565b94505b611a2a878787611ba4565b601854601181905550505050505b505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167f6485c632c95fe26eb4f206d2ae82ceba177130c4f3b6e550f16be491d4e4db2360405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0a90613369565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c799061316f565b60405180910390fd5b611c8d8383836120e8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0a906133fb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e01919061269a565b60405180910390a3611e148484846120ed565b50505050565b6000611e2530610b9c565b90506000601654601554601754611e3c9190612c3f565b611e469190612c3f565b905060008060028360175486611e5c9190613221565b611e669190613292565b611e709190613292565b90506000611e8782866120f290919063ffffffff16565b90506000479050611e9782612108565b6000611eac82476120f290919063ffffffff16565b90506000611ed787611ec9601554856120bc90919063ffffffff16565b6120d290919063ffffffff16565b90506000611f0288611ef4601654866120bc90919063ffffffff16565b6120d290919063ffffffff16565b90506000818385611f1391906132c3565b611f1d91906132c3565b9050600060178190555060006015819055506000601681905550600087118015611f475750600081115b15611f9457611f568782612345565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601754604051611f8b9392919061341b565b60405180910390a15b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611fda90613483565b60006040518083038185875af1925050503d8060008114612017576040519150601f19603f3d011682016040523d82523d6000602084013e61201c565b606091505b505080985050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161206890613483565b60006040518083038185875af1925050503d80600081146120a5576040519150601f19603f3d011682016040523d82523d6000602084013e6120aa565b606091505b50508098505050505050505050505050565b600081836120ca9190613221565b905092915050565b600081836120e09190613292565b905092915050565b505050565b505050565b6000818361210091906132c3565b905092915050565b6000600267ffffffffffffffff81111561212557612124612887565b5b6040519080825280602002602001820160405280156121535781602001602082028036833780820191505090505b509050308160008151811061216b5761216a612b99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612210573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223491906134ad565b8160018151811061224857612247612b99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ad307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611113565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161230f9594939291906135d3565b600060405180830381600087803b15801561232957600080fd5b505af115801561233d573d6000803e3d6000fd5b505050505050565b612370307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611113565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123f79695949392919061362d565b60606040518083038185885af1158015612415573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061243a91906136a3565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561247b578082015181840152602081019050612460565b60008484015250505050565b6000601f19601f8301169050919050565b60006124a382612441565b6124ad818561244c565b93506124bd81856020860161245d565b6124c681612487565b840191505092915050565b600060208201905081810360008301526124eb8184612498565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061253282612507565b9050919050565b61254281612527565b811461254d57600080fd5b50565b60008135905061255f81612539565b92915050565b6000819050919050565b61257881612565565b811461258357600080fd5b50565b6000813590506125958161256f565b92915050565b600080604083850312156125b2576125b16124fd565b5b60006125c085828601612550565b92505060206125d185828601612586565b9150509250929050565b60008115159050919050565b6125f0816125db565b82525050565b600060208201905061260b60008301846125e7565b92915050565b6000819050919050565b600061263661263161262c84612507565b612611565b612507565b9050919050565b60006126488261261b565b9050919050565b600061265a8261263d565b9050919050565b61266a8161264f565b82525050565b60006020820190506126856000830184612661565b92915050565b61269481612565565b82525050565b60006020820190506126af600083018461268b565b92915050565b6000806000606084860312156126ce576126cd6124fd565b5b60006126dc86828701612550565b93505060206126ed86828701612550565b92505060406126fe86828701612586565b9150509250925092565b61271181612527565b82525050565b600060208201905061272c6000830184612708565b92915050565b600060ff82169050919050565b61274881612732565b82525050565b6000602082019050612763600083018461273f565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261278e5761278d612769565b5b8235905067ffffffffffffffff8111156127ab576127aa61276e565b5b6020830191508360208202830111156127c7576127c6612773565b5b9250929050565b6127d7816125db565b81146127e257600080fd5b50565b6000813590506127f4816127ce565b92915050565b600080600060408486031215612813576128126124fd565b5b600084013567ffffffffffffffff81111561283157612830612502565b5b61283d86828701612778565b93509350506020612850868287016127e5565b9150509250925092565b6000602082840312156128705761286f6124fd565b5b600061287e84828501612550565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128bf82612487565b810181811067ffffffffffffffff821117156128de576128dd612887565b5b80604052505050565b60006128f16124f3565b90506128fd82826128b6565b919050565b600067ffffffffffffffff82111561291d5761291c612887565b5b602082029050602081019050919050565b600061294161293c84612902565b6128e7565b9050808382526020820190506020840283018581111561296457612963612773565b5b835b8181101561298d57806129798882612550565b845260208401935050602081019050612966565b5050509392505050565b600082601f8301126129ac576129ab612769565b5b81356129bc84826020860161292e565b91505092915050565b600080604083850312156129dc576129db6124fd565b5b600083013567ffffffffffffffff8111156129fa576129f9612502565b5b612a0685828601612997565b9250506020612a17858286016127e5565b9150509250929050565b60008060408385031215612a3857612a376124fd565b5b6000612a4685828601612550565b9250506020612a5785828601612550565b9150509250929050565b7f5472616469636e672061652e0000000000000000000000000000000000000000600082015250565b6000612a97600c8361244c565b9150612aa282612a61565b602082019050919050565b60006020820190508181036000830152612ac681612a8a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b1457607f821691505b602082108103612b2757612b26612acd565b5b50919050565b7f6361646400000000000000000000000000000000000000000000000000000000600082015250565b6000612b6360048361244c565b9150612b6e82612b2d565b602082019050919050565b60006020820190508181036000830152612b9281612b56565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c0282612565565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c3457612c33612bc8565b5b600182019050919050565b6000612c4a82612565565b9150612c5583612565565b9250828201905080821115612c6d57612c6c612bc8565b5b92915050565b7f7669737466000000000000000000000000000000000000000000000000000000600082015250565b6000612ca960058361244c565b9150612cb482612c73565b602082019050919050565b60006020820190508181036000830152612cd881612c9c565b9050919050565b7f5468652067666f6c6f6264000000000000000000000000000000000000000000600082015250565b6000612d15600b8361244c565b9150612d2082612cdf565b602082019050919050565b60006020820190508181036000830152612d4481612d08565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612da760258361244c565b9150612db282612d4b565b604082019050919050565b60006020820190508181036000830152612dd681612d9a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612e3960268361244c565b9150612e4482612ddd565b604082019050919050565b60006020820190508181036000830152612e6881612e2c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ea560208361244c565b9150612eb082612e6f565b602082019050919050565b60006020820190508181036000830152612ed481612e98565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f3760248361244c565b9150612f4282612edb565b604082019050919050565b60006020820190508181036000830152612f6681612f2a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fc960228361244c565b9150612fd482612f6d565b604082019050919050565b60006020820190508181036000830152612ff881612fbc565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613035601d8361244c565b915061304082612fff565b602082019050919050565b6000602082019050818103600083015261306481613028565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130c760258361244c565b91506130d28261306b565b604082019050919050565b600060208201905081810360008301526130f6816130ba565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061315960238361244c565b9150613164826130fd565b604082019050919050565b600060208201905081810360008301526131888161314c565b9050919050565b7f54726164696e67206e6f74206363636173646161612079657420656e61626c6560008201527f6421000000000000000000000000000000000000000000000000000000000000602082015250565b60006131eb60228361244c565b91506131f68261318f565b604082019050919050565b6000602082019050818103600083015261321a816131de565b9050919050565b600061322c82612565565b915061323783612565565b925082820261324581612565565b9150828204841483151761325c5761325b612bc8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061329d82612565565b91506132a883612565565b9250826132b8576132b7613263565b5b828204905092915050565b60006132ce82612565565b91506132d983612565565b92508282039050818111156132f1576132f0612bc8565b5b92915050565b7f45524332303a207472616e73666572206363636173646161612066726f6d207460008201527f6865207a65726f20616464726573730000000000000000000000000000000000602082015250565b6000613353602f8361244c565b915061335e826132f7565b604082019050919050565b6000602082019050818103600083015261338281613346565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006133e560268361244c565b91506133f082613389565b604082019050919050565b60006020820190508181036000830152613414816133d8565b9050919050565b6000606082019050613430600083018661268b565b61343d602083018561268b565b61344a604083018461268b565b949350505050565b600081905092915050565b50565b600061346d600083613452565b91506134788261345d565b600082019050919050565b600061348e82613460565b9150819050919050565b6000815190506134a781612539565b92915050565b6000602082840312156134c3576134c26124fd565b5b60006134d184828501613498565b91505092915050565b6000819050919050565b60006134ff6134fa6134f5846134da565b612611565b612565565b9050919050565b61350f816134e4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61354a81612527565b82525050565b600061355c8383613541565b60208301905092915050565b6000602082019050919050565b600061358082613515565b61358a8185613520565b935061359583613531565b8060005b838110156135c65781516135ad8882613550565b97506135b883613568565b925050600181019050613599565b5085935050505092915050565b600060a0820190506135e8600083018861268b565b6135f56020830187613506565b81810360408301526136078186613575565b90506136166060830185612708565b613623608083018461268b565b9695505050505050565b600060c0820190506136426000830189612708565b61364f602083018861268b565b61365c6040830187613506565b6136696060830186613506565b6136766080830185612708565b61368360a083018461268b565b979650505050505050565b60008151905061369d8161256f565b92915050565b6000806000606084860312156136bc576136bb6124fd565b5b60006136ca8682870161368e565b93505060206136db8682870161368e565b92505060406136ec8682870161368e565b915050925092509256fea26469706673582212205199afeea204b33b7660a2d77086f80da9ef17dbf12e08c41902d75ca971f96c64736f6c63430008110033
Deployed Bytecode Sourcemap
22844:7929:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25050:155;;;;;;;;;;;;;:::i;:::-;;11291:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12544:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22919:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11733:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12794:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23127:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11626:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25303:303;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13097:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25213:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22977:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23189:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23219:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11849:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1460:103;;;;;;;;;;;;;:::i;:::-;;23014:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25619:322;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;809:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11065:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11510:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13375:505;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12038:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23051:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23090:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23322:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12335:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23280:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1718:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23480:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25050:155;695:13;:11;:13::i;:::-;25105:14:::1;;;;;;;;;;;25104:15;25096:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;25164:4;25147:14;;:21;;;;;;;;;;;;;;;;;;25193:4;25179:11;;:18;;;;;;;;;;;;;;;;;;25050:155::o:0;11291:100::-;11345:13;11378:5;11371:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11291:100;:::o;12544:242::-;12663:4;12685:13;12701:12;:10;:12::i;:::-;12685:28;;12724:32;12733:5;12740:7;12749:6;12724:8;:32::i;:::-;12774:4;12767:11;;;12544:242;;;;:::o;22919:51::-;;;:::o;11733:108::-;11794:7;11821:12;;11814:19;;11733:108;:::o;12794:295::-;12925:4;12942:15;12960:12;:10;:12::i;:::-;12942:30;;12983:38;12999:4;13005:7;13014:6;12983:15;:38::i;:::-;13032:27;13042:4;13048:2;13052:6;13032:9;:27::i;:::-;13077:4;13070:11;;;12794:295;;;;;:::o;23127:53::-;23173:6;23127:53;:::o;11626:93::-;11684:5;11709:2;11702:9;;11626:93;:::o;25303:303::-;25412:7;:5;:7::i;:::-;25398:21;;:10;:21;;;:44;;;;25437:5;;;;;;;;;;;25423:19;;:10;:19;;;25398:44;25390:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;25463:9;25458:145;25482:8;;:15;;25478:1;:19;25458:145;;;25538:8;25515:7;:20;25523:8;;25532:1;25523:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;25515:20;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;25573:8;;25582:1;25573:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;25562:33;;;25586:8;25562:33;;;;;;:::i;:::-;;;;;;;;25499:3;;;;;:::i;:::-;;;;25458:145;;;;25303:303;;;:::o;13097:270::-;13212:4;13234:13;13250:12;:10;:12::i;:::-;13234:28;;13273:64;13282:5;13289:7;13326:10;13298:25;13308:5;13315:7;13298:9;:25::i;:::-;:38;;;;:::i;:::-;13273:8;:64::i;:::-;13355:4;13348:11;;;13097:270;;;;:::o;25213:86::-;695:13;:11;:13::i;:::-;25286:5:::1;25278;;:13;;;;;;;;;;;;;;;;;;25213:86:::0;:::o;22977:28::-;;;;;;;;;;;;;:::o;23189:26::-;;;;;;;;;;;;;:::o;23219:23::-;;;;;;;;;;;;;:::o;11849:177::-;11968:7;12000:9;:18;12010:7;12000:18;;;;;;;;;;;;;;;;11993:25;;11849:177;;;:::o;1460:103::-;695:13;:11;:13::i;:::-;1525:30:::1;1552:1;1525:18;:30::i;:::-;1460:103::o:0;23014:30::-;;;;;;;;;;;;;:::o;25619:322::-;25714:7;:5;:7::i;:::-;25700:21;;:10;:21;;;:44;;;;25739:5;;;;;;;;;;;25725:19;;:10;:19;;;25700:44;25692:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;25766:9;25761:177;25785:6;:13;25781:1;:17;25761:177;;;25816:12;25831:6;25838:1;25831:9;;;;;;;;:::i;:::-;;;;;;;;25816:24;;25867:13;;;;;;;;;;;25859:21;;:4;:21;;;25851:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;25907:23;25918:4;25924:5;25907:10;:23::i;:::-;25805:133;25800:3;;;;;:::i;:::-;;;;25761:177;;;;25619:322;;:::o;809:87::-;855:7;882:6;;;;;;;;;;;875:13;;809:87;:::o;11065:26::-;;;;:::o;11510:104::-;11566:13;11599:7;11592:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11510:104;:::o;13375:505::-;13495:4;13517:13;13533:12;:10;:12::i;:::-;13517:28;;13556:24;13583:25;13593:5;13600:7;13583:9;:25::i;:::-;13556:52;;13661:15;13641:16;:35;;13619:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;13777:60;13786:5;13793:7;13821:15;13802:16;:34;13777:8;:60::i;:::-;13868:4;13861:11;;;;13375:505;;;;:::o;12038:234::-;12153:4;12175:13;12191:12;:10;:12::i;:::-;12175:28;;12214;12224:5;12231:2;12235:6;12214:9;:28::i;:::-;12260:4;12253:11;;;12038:234;;;;:::o;23051:32::-;;;;;;;;;;;;;:::o;23090:30::-;;;;;;;;;;;;;:::o;23322:27::-;;;;:::o;12335:201::-;12469:7;12501:11;:18;12513:5;12501:18;;;;;;;;;;;;;;;:27;12520:7;12501:27;;;;;;;;;;;;;;;;12494:34;;12335:201;;;;:::o;23280:33::-;;;;:::o;1718:238::-;695:13;:11;:13::i;:::-;1841:1:::1;1821:22;;:8;:22;;::::0;1799:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1920:28;1939:8;1920:18;:28::i;:::-;1718:238:::0;:::o;23480:22::-;;;;:::o;974:132::-;1049:12;:10;:12::i;:::-;1038:23;;:7;:5;:7::i;:::-;:23;;;1030:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;974:132::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;16024:380::-;16177:1;16160:19;;:5;:19;;;16152:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16258:1;16239:21;;:7;:21;;;16231:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16342:6;16312:11;:18;16324:5;16312:18;;;;;;;;;;;;;;;:27;16331:7;16312:27;;;;;;;;;;;;;;;:36;;;;16380:7;16364:32;;16373:5;16364:32;;;16389:6;16364:32;;;;;;:::i;:::-;;;;;;;;16024:380;;;:::o;16412:498::-;16543:24;16570:25;16580:5;16587:7;16570:9;:25::i;:::-;16543:52;;16630:17;16610:16;:37;16606:297;;16710:6;16690:16;:26;;16664:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;16825:51;16834:5;16841:7;16869:6;16850:16;:25;16825:8;:51::i;:::-;16606:297;16532:378;16412:498;;;:::o;26096:2212::-;26244:1;26228:18;;:4;:18;;;26220:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26321:1;26307:16;;:2;:16;;;26299:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;26392:14;;;;;;;;;;;:31;;;;26410:7;:13;26418:4;26410:13;;;;;;;;;;;;;;;;;;;;;;;;;26392:31;:46;;;;26427:7;:11;26435:2;26427:11;;;;;;;;;;;;;;;;;;;;;;;;;26392:46;26384:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;26502:1;26492:6;:11;26488:93;;26520:28;26536:4;26542:2;26546:1;26520:15;:28::i;:::-;26563:7;;26488:93;26595:28;26626:24;26644:4;26626:9;:24::i;:::-;26595:55;;26663:12;26702:18;;26678:20;:42;;26663:57;;26751:7;:35;;;;;26775:11;;;;;;;;;;;26751:35;:48;;;;;26790:9;;;;;;;;;;;26789:10;26751:48;:64;;;;;26801:8;:14;26810:4;26801:14;;;;;;;;;;;;;;;;;;;;;;;;;26751:64;:95;;;;;26833:7;:13;26841:4;26833:13;;;;;;;;;;;;;;;;;;;;;;;;;26832:14;26751:95;:124;;;;;26864:7;:11;26872:2;26864:11;;;;;;;;;;;;;;;;;;;;;;;;;26863:12;26751:124;26733:259;;;26914:4;26902:9;;:16;;;;;;;;;;;;;;;;;;26935:11;:9;:11::i;:::-;26975:5;26963:9;;:17;;;;;;;;;;;;;;;;;;26733:259;27004:12;27020:9;;;;;;;;;;;27019:10;27004:25;;27046:7;:13;27054:4;27046:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;27063:7;:11;27071:2;27063:11;;;;;;;;;;;;;;;;;;;;;;;;;27046:28;27042:76;;;27101:5;27091:15;;27042:76;27130:12;27167:7;27163:1054;;;27219:8;:12;27228:2;27219:12;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;;;27245:1;27235:7;;:11;27219:27;27215:853;;;27274:30;27298:5;27274:19;27285:7;;27274:6;:10;;:19;;;;:::i;:::-;:23;;:30;;;;:::i;:::-;27267:37;;27412:7;;27367:20;;27360:4;:27;;;;:::i;:::-;27359:60;;;;:::i;:::-;27323:11;;:96;;;;;;;:::i;:::-;;;;;;;;27519:7;;27484:10;;27477:4;:17;;;;:::i;:::-;27476:50;;;;:::i;:::-;27438:13;;:88;;;;;;;:::i;:::-;;;;;;;;27639:7;;27599:15;;27592:4;:22;;;;:::i;:::-;27591:55;;;;:::i;:::-;27545:21;;:101;;;;;;;:::i;:::-;;;;;;;;27215:853;;;27708:8;:14;27717:4;27708:14;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;;;27741:1;27726:12;;:16;27708:34;27704:364;;;27770:35;27799:5;27770:24;27781:12;;27770:6;:10;;:24;;;;:::i;:::-;:28;;:35;;;;:::i;:::-;27763:42;;27857:12;;27847:6;;27840:4;:13;;;;:::i;:::-;27839:30;;;;:::i;:::-;27824:11;;:45;;;;;;;:::i;:::-;;;;;;;;27924:12;;27913:7;;27906:4;:14;;;;:::i;:::-;27905:31;;;;:::i;:::-;27888:13;;:48;;;;;;;:::i;:::-;;;;;;;;28040:12;;28009:6;;28002:4;:13;;;;:::i;:::-;28001:51;;;;:::i;:::-;27955:21;;:97;;;;;;;:::i;:::-;;;;;;;;27704:364;27215:853;28095:1;28088:4;:8;28084:91;;;28117:42;28133:4;28147;28154;28117:15;:42::i;:::-;28084:91;28201:4;28191:14;;;;;:::i;:::-;;;27163:1054;28229:33;28245:4;28251:2;28255:6;28229:15;:33::i;:::-;28283:17;;28273:7;:27;;;;26209:2099;;;;26096:2212;;;;:::o;2116:191::-;2190:16;2209:6;;;;;;;;;;;2190:25;;2235:8;2226:6;;:17;;;;;;;;;;;;;;;;;;2290:8;2259:40;;2280:8;2259:40;;;;;;;;;;;;2179:128;2116:191;:::o;25955:133::-;26038:5;26021:8;:14;26030:4;26021:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;26074:5;26059:21;;26068:4;26059:21;;;;;;;;;;;;25955:133;;:::o;13888:879::-;14027:1;14011:18;;:4;:18;;;14003:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;14114:1;14100:16;;:2;:16;;;14092:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14169:38;14190:4;14196:2;14200:6;14169:20;:38::i;:::-;14220:19;14242:9;:15;14252:4;14242:15;;;;;;;;;;;;;;;;14220:37;;14305:6;14290:11;:21;;14268:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;14445:6;14431:11;:20;14413:9;:15;14423:4;14413:15;;;;;;;;;;;;;;;:38;;;;14648:6;14631:9;:13;14641:2;14631:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;14698:2;14683:26;;14692:4;14683:26;;;14702:6;14683:26;;;;;;:::i;:::-;;;;;;;;14722:37;14742:4;14748:2;14752:6;14722:19;:37::i;:::-;13992:775;13888:879;;;:::o;29209:1559::-;29250:23;29276:24;29294:4;29276:9;:24::i;:::-;29250:50;;29311:25;29395:21;;29366:13;;29339:11;;:40;;;;:::i;:::-;:77;;;;:::i;:::-;29311:105;;29427:12;29454:23;29560:1;29527:17;29499:11;;29481:15;:29;;;;:::i;:::-;29480:64;;;;:::i;:::-;:81;;;;:::i;:::-;29454:107;;29572:26;29601:36;29621:15;29601;:19;;:36;;;;:::i;:::-;29572:65;;29650:25;29678:21;29650:49;;29712:37;29730:18;29712:17;:37::i;:::-;29762:18;29783:44;29809:17;29783:21;:25;;:44;;;;:::i;:::-;29762:65;;29840:23;29866:76;29914:17;29866:29;29881:13;;29866:10;:14;;:29;;;;:::i;:::-;:33;;:76;;;;:::i;:::-;29840:102;;29955:25;29983:84;30039:17;29983:37;29998:21;;29983:10;:14;;:37;;;;:::i;:::-;:41;;:84;;;;:::i;:::-;29955:112;;30080:23;30163:17;30132:15;30106:10;:41;;;;:::i;:::-;:74;;;;:::i;:::-;30080:100;;30207:1;30193:11;:15;;;;30235:1;30219:13;:17;;;;30271:1;30247:21;:25;;;;30307:1;30289:15;:19;:42;;;;;30330:1;30312:15;:19;30289:42;30285:272;;;30348:47;30362:15;30379;30348:13;:47::i;:::-;30415:130;30448:18;30485:15;30519:11;;30415:130;;;;;;;;:::i;:::-;;;;;;;;30285:272;30593:17;;;;;;;;;;;30585:31;;30624:17;30585:61;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30571:75;;;;;30681:15;;;;;;;;;;;30673:29;;30724:21;30673:87;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30659:101;;;;;29239:1529;;;;;;;;;;29209:1559::o;8034:98::-;8092:7;8123:1;8119;:5;;;;:::i;:::-;8112:12;;8034:98;;;;:::o;8357:::-;8415:7;8446:1;8442;:5;;;;:::i;:::-;8435:12;;8357:98;;;;:::o;16918:125::-;;;;:::o;17051:124::-;;;;:::o;7677:98::-;7735:7;7766:1;7762;:5;;;;:::i;:::-;7755:12;;7677:98;;;;:::o;28316:503::-;28384:21;28422:1;28408:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28384:40;;28453:4;28435;28440:1;28435:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;28479:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28469:4;28474:1;28469:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;28514:62;28531:4;28546:15;28564:11;28514:8;:62::i;:::-;28615:15;:66;;;28696:11;28722:1;28738:4;28765;28785:15;28615:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28373:446;28316:503;:::o;28827:372::-;28910:62;28927:4;28942:15;28960:11;28910:8;:62::i;:::-;28985:15;:31;;;29024:9;29057:4;29077:11;29103:1;29119;29135:15;;;;;;;;;;;29165;28985:206;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;28827:372;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:118::-;5488:24;5506:5;5488:24;:::i;:::-;5483:3;5476:37;5401:118;;:::o;5525:222::-;5618:4;5656:2;5645:9;5641:18;5633:26;;5669:71;5737:1;5726:9;5722:17;5713:6;5669:71;:::i;:::-;5525:222;;;;:::o;5753:86::-;5788:7;5828:4;5821:5;5817:16;5806:27;;5753:86;;;:::o;5845:112::-;5928:22;5944:5;5928:22;:::i;:::-;5923:3;5916:35;5845:112;;:::o;5963:214::-;6052:4;6090:2;6079:9;6075:18;6067:26;;6103:67;6167:1;6156:9;6152:17;6143:6;6103:67;:::i;:::-;5963:214;;;;:::o;6183:117::-;6292:1;6289;6282:12;6306:117;6415:1;6412;6405:12;6429:117;6538:1;6535;6528:12;6569:568;6642:8;6652:6;6702:3;6695:4;6687:6;6683:17;6679:27;6669:122;;6710:79;;:::i;:::-;6669:122;6823:6;6810:20;6800:30;;6853:18;6845:6;6842:30;6839:117;;;6875:79;;:::i;:::-;6839:117;6989:4;6981:6;6977:17;6965:29;;7043:3;7035:4;7027:6;7023:17;7013:8;7009:32;7006:41;7003:128;;;7050:79;;:::i;:::-;7003:128;6569:568;;;;;:::o;7143:116::-;7213:21;7228:5;7213:21;:::i;:::-;7206:5;7203:32;7193:60;;7249:1;7246;7239:12;7193:60;7143:116;:::o;7265:133::-;7308:5;7346:6;7333:20;7324:29;;7362:30;7386:5;7362:30;:::i;:::-;7265:133;;;;:::o;7404:698::-;7496:6;7504;7512;7561:2;7549:9;7540:7;7536:23;7532:32;7529:119;;;7567:79;;:::i;:::-;7529:119;7715:1;7704:9;7700:17;7687:31;7745:18;7737:6;7734:30;7731:117;;;7767:79;;:::i;:::-;7731:117;7880:80;7952:7;7943:6;7932:9;7928:22;7880:80;:::i;:::-;7862:98;;;;7658:312;8009:2;8035:50;8077:7;8068:6;8057:9;8053:22;8035:50;:::i;:::-;8025:60;;7980:115;7404:698;;;;;:::o;8108:329::-;8167:6;8216:2;8204:9;8195:7;8191:23;8187:32;8184:119;;;8222:79;;:::i;:::-;8184:119;8342:1;8367:53;8412:7;8403:6;8392:9;8388:22;8367:53;:::i;:::-;8357:63;;8313:117;8108:329;;;;:::o;8443:180::-;8491:77;8488:1;8481:88;8588:4;8585:1;8578:15;8612:4;8609:1;8602:15;8629:281;8712:27;8734:4;8712:27;:::i;:::-;8704:6;8700:40;8842:6;8830:10;8827:22;8806:18;8794:10;8791:34;8788:62;8785:88;;;8853:18;;:::i;:::-;8785:88;8893:10;8889:2;8882:22;8672:238;8629:281;;:::o;8916:129::-;8950:6;8977:20;;:::i;:::-;8967:30;;9006:33;9034:4;9026:6;9006:33;:::i;:::-;8916:129;;;:::o;9051:311::-;9128:4;9218:18;9210:6;9207:30;9204:56;;;9240:18;;:::i;:::-;9204:56;9290:4;9282:6;9278:17;9270:25;;9350:4;9344;9340:15;9332:23;;9051:311;;;:::o;9385:710::-;9481:5;9506:81;9522:64;9579:6;9522:64;:::i;:::-;9506:81;:::i;:::-;9497:90;;9607:5;9636:6;9629:5;9622:21;9670:4;9663:5;9659:16;9652:23;;9723:4;9715:6;9711:17;9703:6;9699:30;9752:3;9744:6;9741:15;9738:122;;;9771:79;;:::i;:::-;9738:122;9886:6;9869:220;9903:6;9898:3;9895:15;9869:220;;;9978:3;10007:37;10040:3;10028:10;10007:37;:::i;:::-;10002:3;9995:50;10074:4;10069:3;10065:14;10058:21;;9945:144;9929:4;9924:3;9920:14;9913:21;;9869:220;;;9873:21;9487:608;;9385:710;;;;;:::o;10118:370::-;10189:5;10238:3;10231:4;10223:6;10219:17;10215:27;10205:122;;10246:79;;:::i;:::-;10205:122;10363:6;10350:20;10388:94;10478:3;10470:6;10463:4;10455:6;10451:17;10388:94;:::i;:::-;10379:103;;10195:293;10118:370;;;;:::o;10494:678::-;10584:6;10592;10641:2;10629:9;10620:7;10616:23;10612:32;10609:119;;;10647:79;;:::i;:::-;10609:119;10795:1;10784:9;10780:17;10767:31;10825:18;10817:6;10814:30;10811:117;;;10847:79;;:::i;:::-;10811:117;10952:78;11022:7;11013:6;11002:9;10998:22;10952:78;:::i;:::-;10942:88;;10738:302;11079:2;11105:50;11147:7;11138:6;11127:9;11123:22;11105:50;:::i;:::-;11095:60;;11050:115;10494:678;;;;;:::o;11178:474::-;11246:6;11254;11303:2;11291:9;11282:7;11278:23;11274:32;11271:119;;;11309:79;;:::i;:::-;11271:119;11429:1;11454:53;11499:7;11490:6;11479:9;11475:22;11454:53;:::i;:::-;11444:63;;11400:117;11556:2;11582:53;11627:7;11618:6;11607:9;11603:22;11582:53;:::i;:::-;11572:63;;11527:118;11178:474;;;;;:::o;11658:162::-;11798:14;11794:1;11786:6;11782:14;11775:38;11658:162;:::o;11826:366::-;11968:3;11989:67;12053:2;12048:3;11989:67;:::i;:::-;11982:74;;12065:93;12154:3;12065:93;:::i;:::-;12183:2;12178:3;12174:12;12167:19;;11826:366;;;:::o;12198:419::-;12364:4;12402:2;12391:9;12387:18;12379:26;;12451:9;12445:4;12441:20;12437:1;12426:9;12422:17;12415:47;12479:131;12605:4;12479:131;:::i;:::-;12471:139;;12198:419;;;:::o;12623:180::-;12671:77;12668:1;12661:88;12768:4;12765:1;12758:15;12792:4;12789:1;12782:15;12809:320;12853:6;12890:1;12884:4;12880:12;12870:22;;12937:1;12931:4;12927:12;12958:18;12948:81;;13014:4;13006:6;13002:17;12992:27;;12948:81;13076:2;13068:6;13065:14;13045:18;13042:38;13039:84;;13095:18;;:::i;:::-;13039:84;12860:269;12809:320;;;:::o;13135:154::-;13275:6;13271:1;13263:6;13259:14;13252:30;13135:154;:::o;13295:365::-;13437:3;13458:66;13522:1;13517:3;13458:66;:::i;:::-;13451:73;;13533:93;13622:3;13533:93;:::i;:::-;13651:2;13646:3;13642:12;13635:19;;13295:365;;;:::o;13666:419::-;13832:4;13870:2;13859:9;13855:18;13847:26;;13919:9;13913:4;13909:20;13905:1;13894:9;13890:17;13883:47;13947:131;14073:4;13947:131;:::i;:::-;13939:139;;13666:419;;;:::o;14091:180::-;14139:77;14136:1;14129:88;14236:4;14233:1;14226:15;14260:4;14257:1;14250:15;14277:180;14325:77;14322:1;14315:88;14422:4;14419:1;14412:15;14446:4;14443:1;14436:15;14463:233;14502:3;14525:24;14543:5;14525:24;:::i;:::-;14516:33;;14571:66;14564:5;14561:77;14558:103;;14641:18;;:::i;:::-;14558:103;14688:1;14681:5;14677:13;14670:20;;14463:233;;;:::o;14702:191::-;14742:3;14761:20;14779:1;14761:20;:::i;:::-;14756:25;;14795:20;14813:1;14795:20;:::i;:::-;14790:25;;14838:1;14835;14831:9;14824:16;;14859:3;14856:1;14853:10;14850:36;;;14866:18;;:::i;:::-;14850:36;14702:191;;;;:::o;14899:155::-;15039:7;15035:1;15027:6;15023:14;15016:31;14899:155;:::o;15060:365::-;15202:3;15223:66;15287:1;15282:3;15223:66;:::i;:::-;15216:73;;15298:93;15387:3;15298:93;:::i;:::-;15416:2;15411:3;15407:12;15400:19;;15060:365;;;:::o;15431:419::-;15597:4;15635:2;15624:9;15620:18;15612:26;;15684:9;15678:4;15674:20;15670:1;15659:9;15655:17;15648:47;15712:131;15838:4;15712:131;:::i;:::-;15704:139;;15431:419;;;:::o;15856:161::-;15996:13;15992:1;15984:6;15980:14;15973:37;15856:161;:::o;16023:366::-;16165:3;16186:67;16250:2;16245:3;16186:67;:::i;:::-;16179:74;;16262:93;16351:3;16262:93;:::i;:::-;16380:2;16375:3;16371:12;16364:19;;16023:366;;;:::o;16395:419::-;16561:4;16599:2;16588:9;16584:18;16576:26;;16648:9;16642:4;16638:20;16634:1;16623:9;16619:17;16612:47;16676:131;16802:4;16676:131;:::i;:::-;16668:139;;16395:419;;;:::o;16820:224::-;16960:34;16956:1;16948:6;16944:14;16937:58;17029:7;17024:2;17016:6;17012:15;17005:32;16820:224;:::o;17050:366::-;17192:3;17213:67;17277:2;17272:3;17213:67;:::i;:::-;17206:74;;17289:93;17378:3;17289:93;:::i;:::-;17407:2;17402:3;17398:12;17391:19;;17050:366;;;:::o;17422:419::-;17588:4;17626:2;17615:9;17611:18;17603:26;;17675:9;17669:4;17665:20;17661:1;17650:9;17646:17;17639:47;17703:131;17829:4;17703:131;:::i;:::-;17695:139;;17422:419;;;:::o;17847:225::-;17987:34;17983:1;17975:6;17971:14;17964:58;18056:8;18051:2;18043:6;18039:15;18032:33;17847:225;:::o;18078:366::-;18220:3;18241:67;18305:2;18300:3;18241:67;:::i;:::-;18234:74;;18317:93;18406:3;18317:93;:::i;:::-;18435:2;18430:3;18426:12;18419:19;;18078:366;;;:::o;18450:419::-;18616:4;18654:2;18643:9;18639:18;18631:26;;18703:9;18697:4;18693:20;18689:1;18678:9;18674:17;18667:47;18731:131;18857:4;18731:131;:::i;:::-;18723:139;;18450:419;;;:::o;18875:182::-;19015:34;19011:1;19003:6;18999:14;18992:58;18875:182;:::o;19063:366::-;19205:3;19226:67;19290:2;19285:3;19226:67;:::i;:::-;19219:74;;19302:93;19391:3;19302:93;:::i;:::-;19420:2;19415:3;19411:12;19404:19;;19063:366;;;:::o;19435:419::-;19601:4;19639:2;19628:9;19624:18;19616:26;;19688:9;19682:4;19678:20;19674:1;19663:9;19659:17;19652:47;19716:131;19842:4;19716:131;:::i;:::-;19708:139;;19435:419;;;:::o;19860:223::-;20000:34;19996:1;19988:6;19984:14;19977:58;20069:6;20064:2;20056:6;20052:15;20045:31;19860:223;:::o;20089:366::-;20231:3;20252:67;20316:2;20311:3;20252:67;:::i;:::-;20245:74;;20328:93;20417:3;20328:93;:::i;:::-;20446:2;20441:3;20437:12;20430:19;;20089:366;;;:::o;20461:419::-;20627:4;20665:2;20654:9;20650:18;20642:26;;20714:9;20708:4;20704:20;20700:1;20689:9;20685:17;20678:47;20742:131;20868:4;20742:131;:::i;:::-;20734:139;;20461:419;;;:::o;20886:221::-;21026:34;21022:1;21014:6;21010:14;21003:58;21095:4;21090:2;21082:6;21078:15;21071:29;20886:221;:::o;21113:366::-;21255:3;21276:67;21340:2;21335:3;21276:67;:::i;:::-;21269:74;;21352:93;21441:3;21352:93;:::i;:::-;21470:2;21465:3;21461:12;21454:19;;21113:366;;;:::o;21485:419::-;21651:4;21689:2;21678:9;21674:18;21666:26;;21738:9;21732:4;21728:20;21724:1;21713:9;21709:17;21702:47;21766:131;21892:4;21766:131;:::i;:::-;21758:139;;21485:419;;;:::o;21910:179::-;22050:31;22046:1;22038:6;22034:14;22027:55;21910:179;:::o;22095:366::-;22237:3;22258:67;22322:2;22317:3;22258:67;:::i;:::-;22251:74;;22334:93;22423:3;22334:93;:::i;:::-;22452:2;22447:3;22443:12;22436:19;;22095:366;;;:::o;22467:419::-;22633:4;22671:2;22660:9;22656:18;22648:26;;22720:9;22714:4;22710:20;22706:1;22695:9;22691:17;22684:47;22748:131;22874:4;22748:131;:::i;:::-;22740:139;;22467:419;;;:::o;22892:224::-;23032:34;23028:1;23020:6;23016:14;23009:58;23101:7;23096:2;23088:6;23084:15;23077:32;22892:224;:::o;23122:366::-;23264:3;23285:67;23349:2;23344:3;23285:67;:::i;:::-;23278:74;;23361:93;23450:3;23361:93;:::i;:::-;23479:2;23474:3;23470:12;23463:19;;23122:366;;;:::o;23494:419::-;23660:4;23698:2;23687:9;23683:18;23675:26;;23747:9;23741:4;23737:20;23733:1;23722:9;23718:17;23711:47;23775:131;23901:4;23775:131;:::i;:::-;23767:139;;23494:419;;;:::o;23919:222::-;24059:34;24055:1;24047:6;24043:14;24036:58;24128:5;24123:2;24115:6;24111:15;24104:30;23919:222;:::o;24147:366::-;24289:3;24310:67;24374:2;24369:3;24310:67;:::i;:::-;24303:74;;24386:93;24475:3;24386:93;:::i;:::-;24504:2;24499:3;24495:12;24488:19;;24147:366;;;:::o;24519:419::-;24685:4;24723:2;24712:9;24708:18;24700:26;;24772:9;24766:4;24762:20;24758:1;24747:9;24743:17;24736:47;24800:131;24926:4;24800:131;:::i;:::-;24792:139;;24519:419;;;:::o;24944:221::-;25084:34;25080:1;25072:6;25068:14;25061:58;25153:4;25148:2;25140:6;25136:15;25129:29;24944:221;:::o;25171:366::-;25313:3;25334:67;25398:2;25393:3;25334:67;:::i;:::-;25327:74;;25410:93;25499:3;25410:93;:::i;:::-;25528:2;25523:3;25519:12;25512:19;;25171:366;;;:::o;25543:419::-;25709:4;25747:2;25736:9;25732:18;25724:26;;25796:9;25790:4;25786:20;25782:1;25771:9;25767:17;25760:47;25824:131;25950:4;25824:131;:::i;:::-;25816:139;;25543:419;;;:::o;25968:410::-;26008:7;26031:20;26049:1;26031:20;:::i;:::-;26026:25;;26065:20;26083:1;26065:20;:::i;:::-;26060:25;;26120:1;26117;26113:9;26142:30;26160:11;26142:30;:::i;:::-;26131:41;;26321:1;26312:7;26308:15;26305:1;26302:22;26282:1;26275:9;26255:83;26232:139;;26351:18;;:::i;:::-;26232:139;26016:362;25968:410;;;;:::o;26384:180::-;26432:77;26429:1;26422:88;26529:4;26526:1;26519:15;26553:4;26550:1;26543:15;26570:185;26610:1;26627:20;26645:1;26627:20;:::i;:::-;26622:25;;26661:20;26679:1;26661:20;:::i;:::-;26656:25;;26700:1;26690:35;;26705:18;;:::i;:::-;26690:35;26747:1;26744;26740:9;26735:14;;26570:185;;;;:::o;26761:194::-;26801:4;26821:20;26839:1;26821:20;:::i;:::-;26816:25;;26855:20;26873:1;26855:20;:::i;:::-;26850:25;;26899:1;26896;26892:9;26884:17;;26923:1;26917:4;26914:11;26911:37;;;26928:18;;:::i;:::-;26911:37;26761:194;;;;:::o;26961:234::-;27101:34;27097:1;27089:6;27085:14;27078:58;27170:17;27165:2;27157:6;27153:15;27146:42;26961:234;:::o;27201:366::-;27343:3;27364:67;27428:2;27423:3;27364:67;:::i;:::-;27357:74;;27440:93;27529:3;27440:93;:::i;:::-;27558:2;27553:3;27549:12;27542:19;;27201:366;;;:::o;27573:419::-;27739:4;27777:2;27766:9;27762:18;27754:26;;27826:9;27820:4;27816:20;27812:1;27801:9;27797:17;27790:47;27854:131;27980:4;27854:131;:::i;:::-;27846:139;;27573:419;;;:::o;27998:225::-;28138:34;28134:1;28126:6;28122:14;28115:58;28207:8;28202:2;28194:6;28190:15;28183:33;27998:225;:::o;28229:366::-;28371:3;28392:67;28456:2;28451:3;28392:67;:::i;:::-;28385:74;;28468:93;28557:3;28468:93;:::i;:::-;28586:2;28581:3;28577:12;28570:19;;28229:366;;;:::o;28601:419::-;28767:4;28805:2;28794:9;28790:18;28782:26;;28854:9;28848:4;28844:20;28840:1;28829:9;28825:17;28818:47;28882:131;29008:4;28882:131;:::i;:::-;28874:139;;28601:419;;;:::o;29026:442::-;29175:4;29213:2;29202:9;29198:18;29190:26;;29226:71;29294:1;29283:9;29279:17;29270:6;29226:71;:::i;:::-;29307:72;29375:2;29364:9;29360:18;29351:6;29307:72;:::i;:::-;29389;29457:2;29446:9;29442:18;29433:6;29389:72;:::i;:::-;29026:442;;;;;;:::o;29474:147::-;29575:11;29612:3;29597:18;;29474:147;;;;:::o;29627:114::-;;:::o;29747:398::-;29906:3;29927:83;30008:1;30003:3;29927:83;:::i;:::-;29920:90;;30019:93;30108:3;30019:93;:::i;:::-;30137:1;30132:3;30128:11;30121:18;;29747:398;;;:::o;30151:379::-;30335:3;30357:147;30500:3;30357:147;:::i;:::-;30350:154;;30521:3;30514:10;;30151:379;;;:::o;30536:143::-;30593:5;30624:6;30618:13;30609:22;;30640:33;30667:5;30640:33;:::i;:::-;30536:143;;;;:::o;30685:351::-;30755:6;30804:2;30792:9;30783:7;30779:23;30775:32;30772:119;;;30810:79;;:::i;:::-;30772:119;30930:1;30955:64;31011:7;31002:6;30991:9;30987:22;30955:64;:::i;:::-;30945:74;;30901:128;30685:351;;;;:::o;31042:85::-;31087:7;31116:5;31105:16;;31042:85;;;:::o;31133:158::-;31191:9;31224:61;31242:42;31251:32;31277:5;31251:32;:::i;:::-;31242:42;:::i;:::-;31224:61;:::i;:::-;31211:74;;31133:158;;;:::o;31297:147::-;31392:45;31431:5;31392:45;:::i;:::-;31387:3;31380:58;31297:147;;:::o;31450:114::-;31517:6;31551:5;31545:12;31535:22;;31450:114;;;:::o;31570:184::-;31669:11;31703:6;31698:3;31691:19;31743:4;31738:3;31734:14;31719:29;;31570:184;;;;:::o;31760:132::-;31827:4;31850:3;31842:11;;31880:4;31875:3;31871:14;31863:22;;31760:132;;;:::o;31898:108::-;31975:24;31993:5;31975:24;:::i;:::-;31970:3;31963:37;31898:108;;:::o;32012:179::-;32081:10;32102:46;32144:3;32136:6;32102:46;:::i;:::-;32180:4;32175:3;32171:14;32157:28;;32012:179;;;;:::o;32197:113::-;32267:4;32299;32294:3;32290:14;32282:22;;32197:113;;;:::o;32346:732::-;32465:3;32494:54;32542:5;32494:54;:::i;:::-;32564:86;32643:6;32638:3;32564:86;:::i;:::-;32557:93;;32674:56;32724:5;32674:56;:::i;:::-;32753:7;32784:1;32769:284;32794:6;32791:1;32788:13;32769:284;;;32870:6;32864:13;32897:63;32956:3;32941:13;32897:63;:::i;:::-;32890:70;;32983:60;33036:6;32983:60;:::i;:::-;32973:70;;32829:224;32816:1;32813;32809:9;32804:14;;32769:284;;;32773:14;33069:3;33062:10;;32470:608;;;32346:732;;;;:::o;33084:831::-;33347:4;33385:3;33374:9;33370:19;33362:27;;33399:71;33467:1;33456:9;33452:17;33443:6;33399:71;:::i;:::-;33480:80;33556:2;33545:9;33541:18;33532:6;33480:80;:::i;:::-;33607:9;33601:4;33597:20;33592:2;33581:9;33577:18;33570:48;33635:108;33738:4;33729:6;33635:108;:::i;:::-;33627:116;;33753:72;33821:2;33810:9;33806:18;33797:6;33753:72;:::i;:::-;33835:73;33903:3;33892:9;33888:19;33879:6;33835:73;:::i;:::-;33084:831;;;;;;;;:::o;33921:807::-;34170:4;34208:3;34197:9;34193:19;34185:27;;34222:71;34290:1;34279:9;34275:17;34266:6;34222:71;:::i;:::-;34303:72;34371:2;34360:9;34356:18;34347:6;34303:72;:::i;:::-;34385:80;34461:2;34450:9;34446:18;34437:6;34385:80;:::i;:::-;34475;34551:2;34540:9;34536:18;34527:6;34475:80;:::i;:::-;34565:73;34633:3;34622:9;34618:19;34609:6;34565:73;:::i;:::-;34648;34716:3;34705:9;34701:19;34692:6;34648:73;:::i;:::-;33921:807;;;;;;;;;:::o;34734:143::-;34791:5;34822:6;34816:13;34807:22;;34838:33;34865:5;34838:33;:::i;:::-;34734:143;;;;:::o;34883:663::-;34971:6;34979;34987;35036:2;35024:9;35015:7;35011:23;35007:32;35004:119;;;35042:79;;:::i;:::-;35004:119;35162:1;35187:64;35243:7;35234:6;35223:9;35219:22;35187:64;:::i;:::-;35177:74;;35133:128;35300:2;35326:64;35382:7;35373:6;35362:9;35358:22;35326:64;:::i;:::-;35316:74;;35271:129;35439:2;35465:64;35521:7;35512:6;35501:9;35497:22;35465:64;:::i;:::-;35455:74;;35410:129;34883:663;;;;;:::o
Swarm Source
ipfs://5199afeea204b33b7660a2d77086f80da9ef17dbf12e08c41902d75ca971f96c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.