More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 200 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21449042 | 14 days ago | IN | 0 ETH | 0.00038024 | ||||
Transfer | 20807522 | 103 days ago | IN | 0 ETH | 0.00133516 | ||||
Approve | 20660621 | 124 days ago | IN | 0 ETH | 0.00005087 | ||||
Approve | 20600172 | 132 days ago | IN | 0 ETH | 0.00007903 | ||||
Approve | 20535507 | 141 days ago | IN | 0 ETH | 0.00043951 | ||||
Approve | 20520785 | 143 days ago | IN | 0 ETH | 0.00021823 | ||||
Approve | 20422834 | 157 days ago | IN | 0 ETH | 0.00018387 | ||||
Approve | 20413760 | 158 days ago | IN | 0 ETH | 0.00026189 | ||||
Approve | 20395656 | 161 days ago | IN | 0 ETH | 0.00005048 | ||||
Approve | 20395634 | 161 days ago | IN | 0 ETH | 0.00006657 | ||||
Approve | 20383273 | 163 days ago | IN | 0 ETH | 0.00034829 | ||||
Approve | 20382626 | 163 days ago | IN | 0 ETH | 0.00012219 | ||||
Approve | 20319777 | 171 days ago | IN | 0 ETH | 0.00038053 | ||||
Approve | 20318431 | 172 days ago | IN | 0 ETH | 0.00045165 | ||||
Approve | 20318431 | 172 days ago | IN | 0 ETH | 0.00045165 | ||||
Approve | 20318431 | 172 days ago | IN | 0 ETH | 0.00045165 | ||||
Approve | 20318431 | 172 days ago | IN | 0 ETH | 0.00045165 | ||||
Approve | 20318431 | 172 days ago | IN | 0 ETH | 0.00045165 | ||||
Approve | 20303964 | 174 days ago | IN | 0 ETH | 0.00051906 | ||||
Approve | 20302240 | 174 days ago | IN | 0 ETH | 0.00013821 | ||||
Approve | 20287231 | 176 days ago | IN | 0 ETH | 0.00024857 | ||||
Approve | 20287173 | 176 days ago | IN | 0 ETH | 0.00010244 | ||||
Approve | 20287162 | 176 days ago | IN | 0 ETH | 0.00018395 | ||||
Approve | 20286479 | 176 days ago | IN | 0 ETH | 0.00010343 | ||||
Approve | 20286000 | 176 days ago | IN | 0 ETH | 0.00030469 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
20277785 | 177 days ago | 0.08242941 ETH | ||||
20277785 | 177 days ago | 0.08242941 ETH | ||||
20277785 | 177 days ago | 0.09302795 ETH | ||||
20277785 | 177 days ago | 0.09302795 ETH | ||||
20277785 | 177 days ago | 0.10886589 ETH | ||||
20277785 | 177 days ago | 0.10886589 ETH | ||||
20277776 | 177 days ago | 0.11136457 ETH | ||||
20277776 | 177 days ago | 0.11136457 ETH | ||||
20277775 | 177 days ago | 0.09554532 ETH | ||||
20277775 | 177 days ago | 0.09554532 ETH | ||||
20277775 | 177 days ago | 0.10301294 ETH | ||||
20277775 | 177 days ago | 0.10301294 ETH | ||||
20277762 | 177 days ago | 0.15354389 ETH | ||||
20277762 | 177 days ago | 0.15354389 ETH | ||||
20277703 | 177 days ago | 0.09597085 ETH | ||||
20277703 | 177 days ago | 0.09597085 ETH | ||||
20277671 | 177 days ago | 0.07701424 ETH | ||||
20277671 | 177 days ago | 0.07701424 ETH | ||||
20277665 | 177 days ago | 0.08453425 ETH | ||||
20277665 | 177 days ago | 0.08453425 ETH | ||||
20277663 | 177 days ago | 0.08711132 ETH | ||||
20277663 | 177 days ago | 0.08711132 ETH | ||||
20277659 | 177 days ago | 0.08976796 ETH | ||||
20277659 | 177 days ago | 0.08976796 ETH | ||||
20277655 | 177 days ago | 0.09259256 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CAT
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-10 */ /** * SPDX-License-Identifier: UNLICENSED * * Telegram - https://t.me/catstandingup * Website - https://catstandingup.com/ * Twitter - https://x.com/cat_standingup * */ pragma solidity ^0.8.24; library SafeMath { /** * @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) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @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) { // 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 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: 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 div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: 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 div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts 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 mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message 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, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } interface IERC20 { function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract CAT is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "CatStandingUp"; string private constant _symbol = "CAT"; uint8 private constant _decimals = 9; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 347347347347347 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _contractTokenSwapTrigger = 347347347347 * 10**9; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isExcludedFromMaxWallet; mapping(uint256 => uint256) private _sellCount; uint256 private _priceProtectCount = 3; uint256 private _taxFee = 0; uint256 private _teamFee = 0; uint256 private _maxWalletSize = 6950000000000 * 10**9; uint256 private _buyFee = 10; uint256 private _sellFee = 10; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; address payable private _feesWallet; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen = false; bool private _noFees = false; bool private _noTaxSellLimit = false; bool private _limitContractSwap = true; bool private inSwap = false; mapping(address => bool) private automatedMarketMakerPairs; event Response(bool success); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feesWallet = payable(0xc57B54E43678dD272694467fAFe2f54f35BC7Cbc); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feesWallet] = true; _isExcludedFromMaxWallet[owner()] = true; _isExcludedFromMaxWallet[address(this)] = true; _isExcludedFromMaxWallet[_feesWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(from != owner() && to != owner()) { if(to != uniswapV2Pair && !_isExcludedFromMaxWallet[to] && _maxWalletSize != 0) { require(balanceOf(address(to)) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(tradingOpen, "Trading not yet enabled."); _teamFee = _buyFee; } uint256 contractTokenBalance = balanceOf(address(this)); if(!inSwap && from != uniswapV2Pair && tradingOpen) { _teamFee = _sellFee; if (automatedMarketMakerPairs[to]) { if(contractTokenBalance > _contractTokenSwapTrigger) { if (_noTaxSellLimit || _priceProtectCount > 0) { if(_limitContractSwap) { contractTokenBalance = _contractTokenSwapTrigger; } swapTokensForEth(contractTokenBalance); if (_priceProtectCount > 0) { _priceProtectCount--; } uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } } } } bool takeFee = true; if(_noFees || _isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } else if(!automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to]) { takeFee = false; } _tokenTransfer(from,to,amount,takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { (bool success, ) = _feesWallet.call{value: amount}(""); emit Response(success); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if(!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if(!takeFee) restoreAllFee(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function thisBalance() public view returns (uint) { return balanceOf(address(this)); } function amountInPool() public view returns (uint) { return balanceOf(uniswapV2Pair); } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function removeAllFee() private { _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function _approve(address owner, address spender, uint256 amount) private { 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); } receive() external payable {} function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); automatedMarketMakerPairs[uniswapV2Pair] = true; tradingOpen = true; } function setMaxWallet(uint256 amt) external onlyOwner { _maxWalletSize = amt * 10**9; } function setContractTokenSwapTrigger(uint256 numToken) external { require(_msgSender() == _feesWallet); _contractTokenSwapTrigger = numToken * 10**9; } function setFeesOff() external { require(_msgSender() == _feesWallet); _noFees = true; } function setTaxSellLimitOff() external { require(_msgSender() == _feesWallet); _noTaxSellLimit = true; } function setLimitContractSwap(bool onoff) external { require(_msgSender() == _feesWallet); _limitContractSwap = onoff; } function setPriceProtectCount(uint256 count) external { require(_msgSender() == _feesWallet); _priceProtectCount = count; } function setFeesWallet (address payable fee) external onlyOwner { _isExcludedFromFee[_feesWallet] = false; _feesWallet = fee; _isExcludedFromFee[fee] = true; } function setFees(uint256 buy, uint256 sell, uint256 redist) external onlyOwner { _buyFee = buy; _sellFee = sell; _taxFee = redist; } function manualswap() external onlyOwner { uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external onlyOwner { uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; } function transferForeignToken(address _token, address _to) external onlyOwner returns (bool _sent) { require(_token != address(0), "_token address cannot be 0"); require(_token != address(this), "Can't withdraw native tokens"); uint256 _contractBalance = IERC20(_token).balanceOf(address(this)); _sent = IERC20(_token).transfer(_to, _contractBalance); } }
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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"success","type":"bool"}],"name":"Response","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":[],"name":"amountInPool","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numToken","type":"uint256"}],"name":"setContractTokenSwapTrigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"},{"internalType":"uint256","name":"redist","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFeesOff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"fee","type":"address"}],"name":"setFeesWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setLimitContractSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"setPriceProtectCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTaxSellLimitOff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405269498dbcc8374b0707fe005f1961001b9190610585565b5f1961002791906105e2565b6002556812d469ac164427fe006004556003600b555f600c555f600d55690178c2a0115264d80000600e55600a600f55600a601055600c54601155600d546012555f601560146101000a81548160ff0219169083151502179055505f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055506001601560176101000a81548160ff0219169083151502179055505f601560186101000a81548160ff0219169083151502179055503480156100f5575f80fd5b505f61010561052160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073c57b54e43678dd272694467fafe2f54f35bc7cbc60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025460055f61020961052160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160085f61025961052860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f61038661052860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506104ae61052160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69498dbcc8374b0707fe006040516105149190610624565b60405180910390a361063d565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61058f8261054f565b915061059a8361054f565b9250826105aa576105a9610558565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6105ec8261054f565b91506105f78361054f565b925082820390508181111561060f5761060e6105b5565b5b92915050565b61061e8161054f565b82525050565b5f6020820190506106375f830184610615565b92915050565b613e4d8061064a5f395ff3fe608060405260043610610184575f3560e01c80638366e79a116100d0578063c110788f11610089578063cec10c1111610063578063cec10c1114610503578063d043c0441461052b578063db92dbb614610553578063dd62ed3e1461057d5761018b565b8063c110788f146104af578063c3c8cd80146104d7578063c9567bf9146104ed5761018b565b80638366e79a146103935780638da5cb5b146103cf57806395d89b41146103f95780639a7a23d6146104235780639e7576d81461044b578063a9059cbb146104735761018b565b8063313ce5671161013d5780635d0044ca116101175780635d0044ca146103035780636fc3eaec1461032b57806370a0823114610341578063715018a61461037d5761018b565b8063313ce5671461029b57806343d4f92b146102c557806345ffffa4146102ed5761018b565b806306fdde031461018f578063095ea7b3146101b957806318160ddd146101f557806323b872dd1461021f578063271e2f871461025b57806327f3a72a146102715761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105b9565b6040516101b09190612db0565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612e61565b6105f6565b6040516101ec9190612eb9565b60405180910390f35b348015610200575f80fd5b50610209610613565b6040516102169190612ee1565b60405180910390f35b34801561022a575f80fd5b5061024560048036038101906102409190612efa565b610624565b6040516102529190612eb9565b60405180910390f35b348015610266575f80fd5b5061026f6106f8565b005b34801561027c575f80fd5b50610285610773565b6040516102929190612ee1565b60405180910390f35b3480156102a6575f80fd5b506102af610782565b6040516102bc9190612f65565b60405180910390f35b3480156102d0575f80fd5b506102eb60048036038101906102e69190612fb9565b61078a565b005b3480156102f8575f80fd5b5061030161092b565b005b34801561030e575f80fd5b5061032960048036038101906103249190612fe4565b6109a7565b005b348015610336575f80fd5b5061033f610a54565b005b34801561034c575f80fd5b506103676004803603810190610362919061300f565b610af8565b6040516103749190612ee1565b60405180910390f35b348015610388575f80fd5b50610391610b46565b005b34801561039e575f80fd5b506103b960048036038101906103b4919061303a565b610c94565b6040516103c69190612eb9565b60405180910390f35b3480156103da575f80fd5b506103e3610f04565b6040516103f09190613087565b60405180910390f35b348015610404575f80fd5b5061040d610f2b565b60405161041a9190612db0565b60405180910390f35b34801561042e575f80fd5b50610449600480360381019061044491906130ca565b610f68565b005b348015610456575f80fd5b50610471600480360381019061046c9190612fe4565b611099565b005b34801561047e575f80fd5b5061049960048036038101906104949190612e61565b611102565b6040516104a69190612eb9565b60405180910390f35b3480156104ba575f80fd5b506104d560048036038101906104d09190613108565b61111f565b005b3480156104e2575f80fd5b506104eb61119b565b005b3480156104f8575f80fd5b50610501611247565b005b34801561050e575f80fd5b5061052960048036038101906105249190613133565b611775565b005b348015610536575f80fd5b50610551600480360381019061054c9190612fe4565b611823565b005b34801561055e575f80fd5b5061056761189b565b6040516105749190612ee1565b60405180910390f35b348015610588575f80fd5b506105a3600480360381019061059e919061303a565b6118cb565b6040516105b09190612ee1565b60405180910390f35b60606040518060400160405280600d81526020017f4361745374616e64696e67557000000000000000000000000000000000000000815250905090565b5f61060961060261194d565b8484611954565b6001905092915050565b5f69498dbcc8374b0707fe00905090565b5f610630848484611b17565b6106ed8461063c61194d565b6106e885604051806060016040528060288152602001613df06028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61069f61194d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220f9092919063ffffffff16565b611954565b600190509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661073861194d565b73ffffffffffffffffffffffffffffffffffffffff1614610757575f80fd5b60016015806101000a81548160ff021916908315150217905550565b5f61077d30610af8565b905090565b5f6009905090565b61079261194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610815906131cd565b60405180910390fd5b5f60085f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096b61194d565b73ffffffffffffffffffffffffffffffffffffffff161461098a575f80fd5b6001601560166101000a81548160ff021916908315150217905550565b6109af61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a32906131cd565b60405180910390fd5b633b9aca0081610a4b9190613218565b600e8190555050565b610a5c61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf906131cd565b60405180910390fd5b5f479050610af581612271565b50565b5f610b3f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612335565b9050919050565b610b4e61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd1906131cd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f610c9d61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d20906131cd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8e906132a3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc9061330b565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e3f9190613087565b602060405180830381865afa158015610e5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7e919061333d565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401610ebb929190613368565b6020604051808303815f875af1158015610ed7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efb91906133a3565b91505092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4341540000000000000000000000000000000000000000000000000000000000815250905090565b610f7061194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff3906131cd565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110829061343e565b60405180910390fd5b61109582826123a1565b5050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110d961194d565b73ffffffffffffffffffffffffffffffffffffffff16146110f8575f80fd5b80600b8190555050565b5f61111561110e61194d565b8484611b17565b6001905092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661115f61194d565b73ffffffffffffffffffffffffffffffffffffffff161461117e575f80fd5b80601560176101000a81548160ff02191690831515021790555050565b6111a361194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611226906131cd565b60405180910390fd5b5f61123930610af8565b9050611244816123f9565b50565b61124f61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906131cd565b60405180910390fd5b601560149054906101000a900460ff161561132b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611322906134a6565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113b93060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669498dbcc8374b0707fe00611954565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611402573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142691906134d8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561148b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114af91906134d8565b6040518363ffffffff1660e01b81526004016114cc929190613503565b6020604051808303815f875af11580156114e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061150c91906134d8565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061159330610af8565b5f8061159d610f04565b426040518863ffffffff1660e01b81526004016115bf9695949392919061356c565b60606040518083038185885af11580156115db573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061160091906135cb565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116a0929190613368565b6020604051808303815f875af11580156116bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e091906133a3565b50600160165f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601560146101000a81548160ff02191690831515021790555050565b61177d61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611809576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611800906131cd565b60405180910390fd5b82600f819055508160108190555080600c81905550505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661186361194d565b73ffffffffffffffffffffffffffffffffffffffff1614611882575f80fd5b633b9aca00816118929190613218565b60048190555050565b5f6118c660155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610af8565b905090565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b99061368b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2790613719565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b0a9190612ee1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7c906137a7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bea90613835565b60405180910390fd5b5f8111611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c906138c3565b60405180910390fd5b611c3d610f04565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cab5750611c7b610f04565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120935760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d54575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611d6257505f600e5414155b15611dc057600e5481611d7484610af8565b611d7e91906138e1565b1115611dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db690613984565b60405180910390fd5b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e69575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ebc575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f1a57601560149054906101000a900460ff16611f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f07906139ec565b60405180910390fd5b600f54600d819055505b5f611f2430610af8565b9050601560189054906101000a900460ff16158015611f90575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611fa85750601560149054906101000a900460ff165b1561209157601054600d8190555060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120905760045481111561208f57601560169054906101000a900460ff168061202b57505f600b54115b1561208e57601560179054906101000a900460ff161561204b5760045490505b612054816123f9565b5f600b54111561207657600b5f81548092919061207090613a0a565b91905055505b5f4790505f81111561208c5761208b47612271565b5b505b5b5b5b505b5f6001905060158054906101000a900460ff16806120f7575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612148575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612155575f90506121fd565b60165f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156121f3575060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121fc575f90505b5b61220984848484612664565b50505050565b5f838311158290612256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224d9190612db0565b60405180910390fd5b505f83856122649190613a31565b9050809150509392505050565b5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516122b790613a91565b5f6040518083038185875af1925050503d805f81146122f1576040519150601f19603f3d011682016040523d82523d5f602084013e6122f6565b606091505b505090507fb6caad5b328a3de9a49b44605241a4b72f6f1aa955829d12e37decfd84a0b8ca816040516123299190612eb9565b60405180910390a15050565b5f60025482111561237b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237290613b15565b60405180910390fd5b5f612384612691565b905061239981846126ba90919063ffffffff16565b915050919050565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6001601560186101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156124305761242f613b33565b5b60405190808252806020026020018201604052801561245e5781602001602082028036833780820191505090505b50905030815f8151811061247557612474613b60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612519573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061253d91906134d8565b8160018151811061255157612550613b60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125b73060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611954565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612619959493929190613c44565b5f604051808303815f87803b158015612630575f80fd5b505af1158015612642573d5f803e3d5ffd5b50505050505f601560186101000a81548160ff02191690831515021790555050565b8061267257612671612703565b5b61267d848484612725565b8061268b5761268a6128e5565b5b50505050565b5f805f61269c6128f9565b915091506126b381836126ba90919063ffffffff16565b9250505090565b5f6126fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061295b565b905092915050565b600c54601181905550600d546012819055505f600c819055505f600d81905550565b5f805f805f80612734876129bc565b9550955095509550955095506127908660055f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a1c90919063ffffffff16565b60055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128218560055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a6590919063ffffffff16565b60055f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061286b81612ac2565b6128758483612b79565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128d29190612ee1565b60405180910390a3505050505050505050565b601154600c81905550601254600d81905550565b5f805f60025490505f69498dbcc8374b0707fe00905061292e69498dbcc8374b0707fe006002546126ba90919063ffffffff16565b82101561294e5760025469498dbcc8374b0707fe00935093505050612957565b81819350935050505b9091565b5f80831182906129a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129989190612db0565b60405180910390fd5b505f83856129af9190613cc9565b9050809150509392505050565b5f805f805f805f805f6129d48a600c54600d54612bb3565b9250925092505f6129e3612691565b90505f805f6129f48e878787612c45565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612a5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061220f565b905092915050565b5f808284612a7391906138e1565b905083811015612ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aaf90613d43565b60405180910390fd5b8091505092915050565b5f612acb612691565b90505f612ae18284612cc990919063ffffffff16565b9050612b338160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a6590919063ffffffff16565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b612b8e82600254612a1c90919063ffffffff16565b600281905550612ba981600354612a6590919063ffffffff16565b6003819055505050565b5f805f80612bdd6064612bcf888a612cc990919063ffffffff16565b6126ba90919063ffffffff16565b90505f612c066064612bf8888b612cc990919063ffffffff16565b6126ba90919063ffffffff16565b90505f612c2e82612c20858c612a1c90919063ffffffff16565b612a1c90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f80612c5c8589612cc990919063ffffffff16565b90505f612c728689612cc990919063ffffffff16565b90505f612c888789612cc990919063ffffffff16565b90505f612cb082612ca28587612a1c90919063ffffffff16565b612a1c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612cd9575f9050612d3a565b5f8284612ce69190613218565b9050828482612cf59190613cc9565b14612d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2c90613dd1565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612d8282612d40565b612d8c8185612d4a565b9350612d9c818560208601612d5a565b612da581612d68565b840191505092915050565b5f6020820190508181035f830152612dc88184612d78565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612dfd82612dd4565b9050919050565b612e0d81612df3565b8114612e17575f80fd5b50565b5f81359050612e2881612e04565b92915050565b5f819050919050565b612e4081612e2e565b8114612e4a575f80fd5b50565b5f81359050612e5b81612e37565b92915050565b5f8060408385031215612e7757612e76612dd0565b5b5f612e8485828601612e1a565b9250506020612e9585828601612e4d565b9150509250929050565b5f8115159050919050565b612eb381612e9f565b82525050565b5f602082019050612ecc5f830184612eaa565b92915050565b612edb81612e2e565b82525050565b5f602082019050612ef45f830184612ed2565b92915050565b5f805f60608486031215612f1157612f10612dd0565b5b5f612f1e86828701612e1a565b9350506020612f2f86828701612e1a565b9250506040612f4086828701612e4d565b9150509250925092565b5f60ff82169050919050565b612f5f81612f4a565b82525050565b5f602082019050612f785f830184612f56565b92915050565b5f612f8882612dd4565b9050919050565b612f9881612f7e565b8114612fa2575f80fd5b50565b5f81359050612fb381612f8f565b92915050565b5f60208284031215612fce57612fcd612dd0565b5b5f612fdb84828501612fa5565b91505092915050565b5f60208284031215612ff957612ff8612dd0565b5b5f61300684828501612e4d565b91505092915050565b5f6020828403121561302457613023612dd0565b5b5f61303184828501612e1a565b91505092915050565b5f80604083850312156130505761304f612dd0565b5b5f61305d85828601612e1a565b925050602061306e85828601612e1a565b9150509250929050565b61308181612df3565b82525050565b5f60208201905061309a5f830184613078565b92915050565b6130a981612e9f565b81146130b3575f80fd5b50565b5f813590506130c4816130a0565b92915050565b5f80604083850312156130e0576130df612dd0565b5b5f6130ed85828601612e1a565b92505060206130fe858286016130b6565b9150509250929050565b5f6020828403121561311d5761311c612dd0565b5b5f61312a848285016130b6565b91505092915050565b5f805f6060848603121561314a57613149612dd0565b5b5f61315786828701612e4d565b935050602061316886828701612e4d565b925050604061317986828701612e4d565b9150509250925092565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6131b7602083612d4a565b91506131c282613183565b602082019050919050565b5f6020820190508181035f8301526131e4816131ab565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61322282612e2e565b915061322d83612e2e565b925082820261323b81612e2e565b91508282048414831517613252576132516131eb565b5b5092915050565b7f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000005f82015250565b5f61328d601a83612d4a565b915061329882613259565b602082019050919050565b5f6020820190508181035f8301526132ba81613281565b9050919050565b7f43616e2774207769746864726177206e617469766520746f6b656e73000000005f82015250565b5f6132f5601c83612d4a565b9150613300826132c1565b602082019050919050565b5f6020820190508181035f830152613322816132e9565b9050919050565b5f8151905061333781612e37565b92915050565b5f6020828403121561335257613351612dd0565b5b5f61335f84828501613329565b91505092915050565b5f60408201905061337b5f830185613078565b6133886020830184612ed2565b9392505050565b5f8151905061339d816130a0565b92915050565b5f602082840312156133b8576133b7612dd0565b5b5f6133c58482850161338f565b91505092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613428603983612d4a565b9150613433826133ce565b604082019050919050565b5f6020820190508181035f8301526134558161341c565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613490601783612d4a565b915061349b8261345c565b602082019050919050565b5f6020820190508181035f8301526134bd81613484565b9050919050565b5f815190506134d281612e04565b92915050565b5f602082840312156134ed576134ec612dd0565b5b5f6134fa848285016134c4565b91505092915050565b5f6040820190506135165f830185613078565b6135236020830184613078565b9392505050565b5f819050919050565b5f819050919050565b5f61355661355161354c8461352a565b613533565b612e2e565b9050919050565b6135668161353c565b82525050565b5f60c08201905061357f5f830189613078565b61358c6020830188612ed2565b613599604083018761355d565b6135a6606083018661355d565b6135b36080830185613078565b6135c060a0830184612ed2565b979650505050505050565b5f805f606084860312156135e2576135e1612dd0565b5b5f6135ef86828701613329565b935050602061360086828701613329565b925050604061361186828701613329565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613675602483612d4a565b91506136808261361b565b604082019050919050565b5f6020820190508181035f8301526136a281613669565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613703602283612d4a565b915061370e826136a9565b604082019050919050565b5f6020820190508181035f830152613730816136f7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613791602583612d4a565b915061379c82613737565b604082019050919050565b5f6020820190508181035f8301526137be81613785565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61381f602383612d4a565b915061382a826137c5565b604082019050919050565b5f6020820190508181035f83015261384c81613813565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6138ad602983612d4a565b91506138b882613853565b604082019050919050565b5f6020820190508181035f8301526138da816138a1565b9050919050565b5f6138eb82612e2e565b91506138f683612e2e565b925082820190508082111561390e5761390d6131eb565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f61396e602383612d4a565b915061397982613914565b604082019050919050565b5f6020820190508181035f83015261399b81613962565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e00000000000000005f82015250565b5f6139d6601883612d4a565b91506139e1826139a2565b602082019050919050565b5f6020820190508181035f830152613a03816139ca565b9050919050565b5f613a1482612e2e565b91505f8203613a2657613a256131eb565b5b600182039050919050565b5f613a3b82612e2e565b9150613a4683612e2e565b9250828203905081811115613a5e57613a5d6131eb565b5b92915050565b5f81905092915050565b50565b5f613a7c5f83613a64565b9150613a8782613a6e565b5f82019050919050565b5f613a9b82613a71565b9150819050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f613aff602a83612d4a565b9150613b0a82613aa5565b604082019050919050565b5f6020820190508181035f830152613b2c81613af3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613bbf81612df3565b82525050565b5f613bd08383613bb6565b60208301905092915050565b5f602082019050919050565b5f613bf282613b8d565b613bfc8185613b97565b9350613c0783613ba7565b805f5b83811015613c37578151613c1e8882613bc5565b9750613c2983613bdc565b925050600181019050613c0a565b5085935050505092915050565b5f60a082019050613c575f830188612ed2565b613c64602083018761355d565b8181036040830152613c768186613be8565b9050613c856060830185613078565b613c926080830184612ed2565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613cd382612e2e565b9150613cde83612e2e565b925082613cee57613ced613c9c565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d2d601b83612d4a565b9150613d3882613cf9565b602082019050919050565b5f6020820190508181035f830152613d5a81613d21565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613dbb602183612d4a565b9150613dc682613d61565b604082019050919050565b5f6020820190508181035f830152613de881613daf565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f149ad708844d4d3e8d68f061e90b1ff822f3ac23b1eb3bac3622af3a786e5a764736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610184575f3560e01c80638366e79a116100d0578063c110788f11610089578063cec10c1111610063578063cec10c1114610503578063d043c0441461052b578063db92dbb614610553578063dd62ed3e1461057d5761018b565b8063c110788f146104af578063c3c8cd80146104d7578063c9567bf9146104ed5761018b565b80638366e79a146103935780638da5cb5b146103cf57806395d89b41146103f95780639a7a23d6146104235780639e7576d81461044b578063a9059cbb146104735761018b565b8063313ce5671161013d5780635d0044ca116101175780635d0044ca146103035780636fc3eaec1461032b57806370a0823114610341578063715018a61461037d5761018b565b8063313ce5671461029b57806343d4f92b146102c557806345ffffa4146102ed5761018b565b806306fdde031461018f578063095ea7b3146101b957806318160ddd146101f557806323b872dd1461021f578063271e2f871461025b57806327f3a72a146102715761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105b9565b6040516101b09190612db0565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612e61565b6105f6565b6040516101ec9190612eb9565b60405180910390f35b348015610200575f80fd5b50610209610613565b6040516102169190612ee1565b60405180910390f35b34801561022a575f80fd5b5061024560048036038101906102409190612efa565b610624565b6040516102529190612eb9565b60405180910390f35b348015610266575f80fd5b5061026f6106f8565b005b34801561027c575f80fd5b50610285610773565b6040516102929190612ee1565b60405180910390f35b3480156102a6575f80fd5b506102af610782565b6040516102bc9190612f65565b60405180910390f35b3480156102d0575f80fd5b506102eb60048036038101906102e69190612fb9565b61078a565b005b3480156102f8575f80fd5b5061030161092b565b005b34801561030e575f80fd5b5061032960048036038101906103249190612fe4565b6109a7565b005b348015610336575f80fd5b5061033f610a54565b005b34801561034c575f80fd5b506103676004803603810190610362919061300f565b610af8565b6040516103749190612ee1565b60405180910390f35b348015610388575f80fd5b50610391610b46565b005b34801561039e575f80fd5b506103b960048036038101906103b4919061303a565b610c94565b6040516103c69190612eb9565b60405180910390f35b3480156103da575f80fd5b506103e3610f04565b6040516103f09190613087565b60405180910390f35b348015610404575f80fd5b5061040d610f2b565b60405161041a9190612db0565b60405180910390f35b34801561042e575f80fd5b50610449600480360381019061044491906130ca565b610f68565b005b348015610456575f80fd5b50610471600480360381019061046c9190612fe4565b611099565b005b34801561047e575f80fd5b5061049960048036038101906104949190612e61565b611102565b6040516104a69190612eb9565b60405180910390f35b3480156104ba575f80fd5b506104d560048036038101906104d09190613108565b61111f565b005b3480156104e2575f80fd5b506104eb61119b565b005b3480156104f8575f80fd5b50610501611247565b005b34801561050e575f80fd5b5061052960048036038101906105249190613133565b611775565b005b348015610536575f80fd5b50610551600480360381019061054c9190612fe4565b611823565b005b34801561055e575f80fd5b5061056761189b565b6040516105749190612ee1565b60405180910390f35b348015610588575f80fd5b506105a3600480360381019061059e919061303a565b6118cb565b6040516105b09190612ee1565b60405180910390f35b60606040518060400160405280600d81526020017f4361745374616e64696e67557000000000000000000000000000000000000000815250905090565b5f61060961060261194d565b8484611954565b6001905092915050565b5f69498dbcc8374b0707fe00905090565b5f610630848484611b17565b6106ed8461063c61194d565b6106e885604051806060016040528060288152602001613df06028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61069f61194d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220f9092919063ffffffff16565b611954565b600190509392505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661073861194d565b73ffffffffffffffffffffffffffffffffffffffff1614610757575f80fd5b60016015806101000a81548160ff021916908315150217905550565b5f61077d30610af8565b905090565b5f6009905090565b61079261194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610815906131cd565b60405180910390fd5b5f60085f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661096b61194d565b73ffffffffffffffffffffffffffffffffffffffff161461098a575f80fd5b6001601560166101000a81548160ff021916908315150217905550565b6109af61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a32906131cd565b60405180910390fd5b633b9aca0081610a4b9190613218565b600e8190555050565b610a5c61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf906131cd565b60405180910390fd5b5f479050610af581612271565b50565b5f610b3f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612335565b9050919050565b610b4e61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd1906131cd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f610c9d61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d20906131cd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8e906132a3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc9061330b565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e3f9190613087565b602060405180830381865afa158015610e5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7e919061333d565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401610ebb929190613368565b6020604051808303815f875af1158015610ed7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efb91906133a3565b91505092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4341540000000000000000000000000000000000000000000000000000000000815250905090565b610f7061194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff3906131cd565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110829061343e565b60405180910390fd5b61109582826123a1565b5050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110d961194d565b73ffffffffffffffffffffffffffffffffffffffff16146110f8575f80fd5b80600b8190555050565b5f61111561110e61194d565b8484611b17565b6001905092915050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661115f61194d565b73ffffffffffffffffffffffffffffffffffffffff161461117e575f80fd5b80601560176101000a81548160ff02191690831515021790555050565b6111a361194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461122f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611226906131cd565b60405180910390fd5b5f61123930610af8565b9050611244816123f9565b50565b61124f61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906131cd565b60405180910390fd5b601560149054906101000a900460ff161561132b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611322906134a6565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113b93060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669498dbcc8374b0707fe00611954565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611402573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142691906134d8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561148b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114af91906134d8565b6040518363ffffffff1660e01b81526004016114cc929190613503565b6020604051808303815f875af11580156114e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061150c91906134d8565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061159330610af8565b5f8061159d610f04565b426040518863ffffffff1660e01b81526004016115bf9695949392919061356c565b60606040518083038185885af11580156115db573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061160091906135cb565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116a0929190613368565b6020604051808303815f875af11580156116bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e091906133a3565b50600160165f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601560146101000a81548160ff02191690831515021790555050565b61177d61194d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611809576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611800906131cd565b60405180910390fd5b82600f819055508160108190555080600c81905550505050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661186361194d565b73ffffffffffffffffffffffffffffffffffffffff1614611882575f80fd5b633b9aca00816118929190613218565b60048190555050565b5f6118c660155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610af8565b905090565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b99061368b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2790613719565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b0a9190612ee1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7c906137a7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bea90613835565b60405180910390fd5b5f8111611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c906138c3565b60405180910390fd5b611c3d610f04565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cab5750611c7b610f04565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120935760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d54575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611d6257505f600e5414155b15611dc057600e5481611d7484610af8565b611d7e91906138e1565b1115611dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db690613984565b60405180910390fd5b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e69575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ebc575060085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f1a57601560149054906101000a900460ff16611f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f07906139ec565b60405180910390fd5b600f54600d819055505b5f611f2430610af8565b9050601560189054906101000a900460ff16158015611f90575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611fa85750601560149054906101000a900460ff165b1561209157601054600d8190555060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120905760045481111561208f57601560169054906101000a900460ff168061202b57505f600b54115b1561208e57601560179054906101000a900460ff161561204b5760045490505b612054816123f9565b5f600b54111561207657600b5f81548092919061207090613a0a565b91905055505b5f4790505f81111561208c5761208b47612271565b5b505b5b5b5b505b5f6001905060158054906101000a900460ff16806120f7575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80612148575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612155575f90506121fd565b60165f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156121f3575060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121fc575f90505b5b61220984848484612664565b50505050565b5f838311158290612256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224d9190612db0565b60405180910390fd5b505f83856122649190613a31565b9050809150509392505050565b5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516122b790613a91565b5f6040518083038185875af1925050503d805f81146122f1576040519150601f19603f3d011682016040523d82523d5f602084013e6122f6565b606091505b505090507fb6caad5b328a3de9a49b44605241a4b72f6f1aa955829d12e37decfd84a0b8ca816040516123299190612eb9565b60405180910390a15050565b5f60025482111561237b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237290613b15565b60405180910390fd5b5f612384612691565b905061239981846126ba90919063ffffffff16565b915050919050565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6001601560186101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156124305761242f613b33565b5b60405190808252806020026020018201604052801561245e5781602001602082028036833780820191505090505b50905030815f8151811061247557612474613b60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612519573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061253d91906134d8565b8160018151811061255157612550613b60565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125b73060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611954565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612619959493929190613c44565b5f604051808303815f87803b158015612630575f80fd5b505af1158015612642573d5f803e3d5ffd5b50505050505f601560186101000a81548160ff02191690831515021790555050565b8061267257612671612703565b5b61267d848484612725565b8061268b5761268a6128e5565b5b50505050565b5f805f61269c6128f9565b915091506126b381836126ba90919063ffffffff16565b9250505090565b5f6126fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061295b565b905092915050565b600c54601181905550600d546012819055505f600c819055505f600d81905550565b5f805f805f80612734876129bc565b9550955095509550955095506127908660055f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a1c90919063ffffffff16565b60055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128218560055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a6590919063ffffffff16565b60055f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061286b81612ac2565b6128758483612b79565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516128d29190612ee1565b60405180910390a3505050505050505050565b601154600c81905550601254600d81905550565b5f805f60025490505f69498dbcc8374b0707fe00905061292e69498dbcc8374b0707fe006002546126ba90919063ffffffff16565b82101561294e5760025469498dbcc8374b0707fe00935093505050612957565b81819350935050505b9091565b5f80831182906129a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129989190612db0565b60405180910390fd5b505f83856129af9190613cc9565b9050809150509392505050565b5f805f805f805f805f6129d48a600c54600d54612bb3565b9250925092505f6129e3612691565b90505f805f6129f48e878787612c45565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f612a5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061220f565b905092915050565b5f808284612a7391906138e1565b905083811015612ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aaf90613d43565b60405180910390fd5b8091505092915050565b5f612acb612691565b90505f612ae18284612cc990919063ffffffff16565b9050612b338160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a6590919063ffffffff16565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b612b8e82600254612a1c90919063ffffffff16565b600281905550612ba981600354612a6590919063ffffffff16565b6003819055505050565b5f805f80612bdd6064612bcf888a612cc990919063ffffffff16565b6126ba90919063ffffffff16565b90505f612c066064612bf8888b612cc990919063ffffffff16565b6126ba90919063ffffffff16565b90505f612c2e82612c20858c612a1c90919063ffffffff16565b612a1c90919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f80612c5c8589612cc990919063ffffffff16565b90505f612c728689612cc990919063ffffffff16565b90505f612c888789612cc990919063ffffffff16565b90505f612cb082612ca28587612a1c90919063ffffffff16565b612a1c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612cd9575f9050612d3a565b5f8284612ce69190613218565b9050828482612cf59190613cc9565b14612d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2c90613dd1565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612d8282612d40565b612d8c8185612d4a565b9350612d9c818560208601612d5a565b612da581612d68565b840191505092915050565b5f6020820190508181035f830152612dc88184612d78565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612dfd82612dd4565b9050919050565b612e0d81612df3565b8114612e17575f80fd5b50565b5f81359050612e2881612e04565b92915050565b5f819050919050565b612e4081612e2e565b8114612e4a575f80fd5b50565b5f81359050612e5b81612e37565b92915050565b5f8060408385031215612e7757612e76612dd0565b5b5f612e8485828601612e1a565b9250506020612e9585828601612e4d565b9150509250929050565b5f8115159050919050565b612eb381612e9f565b82525050565b5f602082019050612ecc5f830184612eaa565b92915050565b612edb81612e2e565b82525050565b5f602082019050612ef45f830184612ed2565b92915050565b5f805f60608486031215612f1157612f10612dd0565b5b5f612f1e86828701612e1a565b9350506020612f2f86828701612e1a565b9250506040612f4086828701612e4d565b9150509250925092565b5f60ff82169050919050565b612f5f81612f4a565b82525050565b5f602082019050612f785f830184612f56565b92915050565b5f612f8882612dd4565b9050919050565b612f9881612f7e565b8114612fa2575f80fd5b50565b5f81359050612fb381612f8f565b92915050565b5f60208284031215612fce57612fcd612dd0565b5b5f612fdb84828501612fa5565b91505092915050565b5f60208284031215612ff957612ff8612dd0565b5b5f61300684828501612e4d565b91505092915050565b5f6020828403121561302457613023612dd0565b5b5f61303184828501612e1a565b91505092915050565b5f80604083850312156130505761304f612dd0565b5b5f61305d85828601612e1a565b925050602061306e85828601612e1a565b9150509250929050565b61308181612df3565b82525050565b5f60208201905061309a5f830184613078565b92915050565b6130a981612e9f565b81146130b3575f80fd5b50565b5f813590506130c4816130a0565b92915050565b5f80604083850312156130e0576130df612dd0565b5b5f6130ed85828601612e1a565b92505060206130fe858286016130b6565b9150509250929050565b5f6020828403121561311d5761311c612dd0565b5b5f61312a848285016130b6565b91505092915050565b5f805f6060848603121561314a57613149612dd0565b5b5f61315786828701612e4d565b935050602061316886828701612e4d565b925050604061317986828701612e4d565b9150509250925092565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6131b7602083612d4a565b91506131c282613183565b602082019050919050565b5f6020820190508181035f8301526131e4816131ab565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61322282612e2e565b915061322d83612e2e565b925082820261323b81612e2e565b91508282048414831517613252576132516131eb565b5b5092915050565b7f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000005f82015250565b5f61328d601a83612d4a565b915061329882613259565b602082019050919050565b5f6020820190508181035f8301526132ba81613281565b9050919050565b7f43616e2774207769746864726177206e617469766520746f6b656e73000000005f82015250565b5f6132f5601c83612d4a565b9150613300826132c1565b602082019050919050565b5f6020820190508181035f830152613322816132e9565b9050919050565b5f8151905061333781612e37565b92915050565b5f6020828403121561335257613351612dd0565b5b5f61335f84828501613329565b91505092915050565b5f60408201905061337b5f830185613078565b6133886020830184612ed2565b9392505050565b5f8151905061339d816130a0565b92915050565b5f602082840312156133b8576133b7612dd0565b5b5f6133c58482850161338f565b91505092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613428603983612d4a565b9150613433826133ce565b604082019050919050565b5f6020820190508181035f8301526134558161341c565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613490601783612d4a565b915061349b8261345c565b602082019050919050565b5f6020820190508181035f8301526134bd81613484565b9050919050565b5f815190506134d281612e04565b92915050565b5f602082840312156134ed576134ec612dd0565b5b5f6134fa848285016134c4565b91505092915050565b5f6040820190506135165f830185613078565b6135236020830184613078565b9392505050565b5f819050919050565b5f819050919050565b5f61355661355161354c8461352a565b613533565b612e2e565b9050919050565b6135668161353c565b82525050565b5f60c08201905061357f5f830189613078565b61358c6020830188612ed2565b613599604083018761355d565b6135a6606083018661355d565b6135b36080830185613078565b6135c060a0830184612ed2565b979650505050505050565b5f805f606084860312156135e2576135e1612dd0565b5b5f6135ef86828701613329565b935050602061360086828701613329565b925050604061361186828701613329565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613675602483612d4a565b91506136808261361b565b604082019050919050565b5f6020820190508181035f8301526136a281613669565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613703602283612d4a565b915061370e826136a9565b604082019050919050565b5f6020820190508181035f830152613730816136f7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613791602583612d4a565b915061379c82613737565b604082019050919050565b5f6020820190508181035f8301526137be81613785565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61381f602383612d4a565b915061382a826137c5565b604082019050919050565b5f6020820190508181035f83015261384c81613813565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6138ad602983612d4a565b91506138b882613853565b604082019050919050565b5f6020820190508181035f8301526138da816138a1565b9050919050565b5f6138eb82612e2e565b91506138f683612e2e565b925082820190508082111561390e5761390d6131eb565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f61396e602383612d4a565b915061397982613914565b604082019050919050565b5f6020820190508181035f83015261399b81613962565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e00000000000000005f82015250565b5f6139d6601883612d4a565b91506139e1826139a2565b602082019050919050565b5f6020820190508181035f830152613a03816139ca565b9050919050565b5f613a1482612e2e565b91505f8203613a2657613a256131eb565b5b600182039050919050565b5f613a3b82612e2e565b9150613a4683612e2e565b9250828203905081811115613a5e57613a5d6131eb565b5b92915050565b5f81905092915050565b50565b5f613a7c5f83613a64565b9150613a8782613a6e565b5f82019050919050565b5f613a9b82613a71565b9150819050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f613aff602a83612d4a565b9150613b0a82613aa5565b604082019050919050565b5f6020820190508181035f830152613b2c81613af3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613bbf81612df3565b82525050565b5f613bd08383613bb6565b60208301905092915050565b5f602082019050919050565b5f613bf282613b8d565b613bfc8185613b97565b9350613c0783613ba7565b805f5b83811015613c37578151613c1e8882613bc5565b9750613c2983613bdc565b925050600181019050613c0a565b5085935050505092915050565b5f60a082019050613c575f830188612ed2565b613c64602083018761355d565b8181036040830152613c768186613be8565b9050613c856060830185613078565b613c926080830184612ed2565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613cd382612e2e565b9150613cde83612e2e565b925082613cee57613ced613c9c565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d2d601b83612d4a565b9150613d3882613cf9565b602082019050919050565b5f6020820190508181035f830152613d5a81613d21565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613dbb602183612d4a565b9150613dc682613d61565b604082019050919050565b5f6020820190508181035f830152613de881613daf565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f149ad708844d4d3e8d68f061e90b1ff822f3ac23b1eb3bac3622af3a786e5a764736f6c634300081a0033
Deployed Bytecode Sourcemap
9130:13655:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18897:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17676:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19174:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18020:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20731:111;;;;;;;;;;;;;:::i;:::-;;17162:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19083:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21294:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20850:127;;;;;;;;;;;;;:::i;:::-;;20436:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21831:153;;;;;;;;;;;;;:::i;:::-;;17379:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8973:148;;;;;;;;;;;;;:::i;:::-;;22382:394;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8759:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18988:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21992:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21136:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17845:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20985:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21665:154;;;;;;;;;;;;;:::i;:::-;;19661:767;;;;;;;;;;;;;:::i;:::-;;21493:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20549:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17270:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17525:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18897:83;18934:13;18967:5;;;;;;;;;;;;;;;;;18960:12;;18897:83;:::o;17676:161::-;17751:4;17768:39;17777:12;:10;:12::i;:::-;17791:7;17800:6;17768:8;:39::i;:::-;17825:4;17818:11;;17676:161;;;;:::o;19174:95::-;19227:7;9446:23;19247:14;;19174:95;:::o;18020:313::-;18118:4;18135:36;18145:6;18153:9;18164:6;18135:9;:36::i;:::-;18182:121;18191:6;18199:12;:10;:12::i;:::-;18213:89;18251:6;18213:89;;;;;;;;;;;;;;;;;:11;:19;18225:6;18213:19;;;;;;;;;;;;;;;:33;18233:12;:10;:12::i;:::-;18213:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18182:8;:121::i;:::-;18321:4;18314:11;;18020:313;;;;;:::o;20731:111::-;20797:11;;;;;;;;;;;20781:27;;:12;:10;:12::i;:::-;:27;;;20773:36;;;;;;20830:4;20820:7;;:14;;;;;;;;;;;;;;;;;;20731:111::o;17162:100::-;17206:4;17230:24;17248:4;17230:9;:24::i;:::-;17223:31;;17162:100;:::o;19083:83::-;19124:5;9348:1;19142:16;;19083:83;:::o;21294:191::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21403:5:::1;21369:18;:31;21388:11;;;;;;;;;;;21369:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;21433:3;21419:11;;:17;;;;;;;;;;;;;;;;;;21473:4;21447:18;:23;21466:3;21447:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;21294:191:::0;:::o;20850:127::-;20924:11;;;;;;;;;;;20908:27;;:12;:10;:12::i;:::-;:27;;;20900:36;;;;;;20965:4;20947:15;;:22;;;;;;;;;;;;;;;;;;20850:127::o;20436:101::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20524:5:::1;20518:3;:11;;;;:::i;:::-;20501:14;:28;;;;20436:101:::0;:::o;21831:153::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21883:26:::1;21912:21;21883:50;;21944:32;21957:18;21944:12;:32::i;:::-;21872:112;21831:153::o:0;17379:138::-;17445:7;17472:37;17492:7;:16;17500:7;17492:16;;;;;;;;;;;;;;;;17472:19;:37::i;:::-;17465:44;;17379:138;;;:::o;8973:148::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9080:1:::1;9043:40;;9064:6;::::0;::::1;;;;;;;;9043:40;;;;;;;;;;;;9111:1;9094:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;8973:148::o:0;22382:394::-;22469:10;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22518:1:::1;22500:20;;:6;:20;;::::0;22492:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22588:4;22570:23;;:6;:23;;::::0;22562:64:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22637:24;22671:6;22664:24;;;22697:4;22664:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22637:66;;22729:6;22722:23;;;22746:3;22751:16;22722:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22714:54;;22481:295;22382:394:::0;;;;:::o;8759:79::-;8797:7;8824:6;;;;;;;;;;;8817:13;;8759:79;:::o;18988:87::-;19027:13;19060:7;;;;;;;;;;;;;;;;;19053:14;;18988:87;:::o;21992:244::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22101:13:::1;;;;;;;;;;;22093:21;;:4;:21;;::::0;22085:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22187:41;22216:4;22222:5;22187:28;:41::i;:::-;21992:244:::0;;:::o;21136:146::-;21225:11;;;;;;;;;;;21209:27;;:12;:10;:12::i;:::-;:27;;;21201:36;;;;;;21269:5;21248:18;:26;;;;21136:146;:::o;17845:167::-;17923:4;17940:42;17950:12;:10;:12::i;:::-;17964:9;17975:6;17940:9;:42::i;:::-;18000:4;17993:11;;17845:167;;;;:::o;20985:143::-;21071:11;;;;;;;;;;;21055:27;;:12;:10;:12::i;:::-;:27;;;21047:36;;;;;;21115:5;21094:18;;:26;;;;;;;;;;;;;;;;;;20985:143;:::o;21665:154::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21717:23:::1;21743:24;21761:4;21743:9;:24::i;:::-;21717:50;;21778:33;21795:15;21778:16;:33::i;:::-;21706:113;21665:154::o:0;19661:767::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19725:11:::1;;;;;;;;;;;19724:12;19716:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;19774:35;19831:42;19774:100;;19903:16;19885:15;;:34;;;;;;;;;;;;;;;;;;19930:58;19947:4;19962:15;;;;;;;;;;;9446:23;19930:8;:58::i;:::-;20033:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20015:56;;;20080:4;20087:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20015:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19999:13;;:112;;;;;;;;;;;;;;;;;;20122:15;;;;;;;;;;;:31;;;20161:21;20192:4;20198:24;20216:4;20198:9;:24::i;:::-;20223:1;20225::::0;20227:7:::1;:5;:7::i;:::-;20235:15;20122:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20269:13;;;;;;;;;;;20262:29;;;20300:15;;;;;;;;;;;20318:14;20262:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20387:4;20344:25;:40;20370:13;;;;;;;;;;;20344:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20416:4;20402:11;;:18;;;;;;;;;;;;;;;;;;19705:723;19661:767::o:0;21493:164::-;8896:12;:10;:12::i;:::-;8886:22;;:6;;;;;;;;;;:22;;;8878:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21593:3:::1;21583:7;:13;;;;21618:4;21607:8;:15;;;;21643:6;21633:7;:16;;;;21493:164:::0;;;:::o;20549:174::-;20648:11;;;;;;;;;;;20632:27;;:12;:10;:12::i;:::-;:27;;;20624:36;;;;;;20710:5;20699:8;:16;;;;:::i;:::-;20671:25;:44;;;;20549:174;:::o;17270:101::-;17315:4;17339:24;17349:13;;;;;;;;;;;17339:9;:24::i;:::-;17332:31;;17270:101;:::o;17525:143::-;17606:7;17633:11;:18;17645:5;17633:18;;;;;;;;;;;;;;;:27;17652:7;17633:27;;;;;;;;;;;;;;;;17626:34;;17525:143;;;;:::o;8299:98::-;8352:7;8379:10;8372:17;;8299:98;:::o;19277:335::-;19387:1;19370:19;;:5;:19;;;19362:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19468:1;19449:21;;:7;:21;;;19441:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19550:6;19520:11;:18;19532:5;19520:18;;;;;;;;;;;;;;;:27;19539:7;19520:27;;;;;;;;;;;;;;;:36;;;;19588:7;19572:32;;19581:5;19572:32;;;19597:6;19572:32;;;;;;:::i;:::-;;;;;;;;19277:335;;;:::o;11402:2255::-;11506:1;11490:18;;:4;:18;;;11482:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11583:1;11569:16;;:2;:16;;;11561:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11653:1;11644:6;:10;11636:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11724:7;:5;:7::i;:::-;11716:15;;:4;:15;;;;:32;;;;;11741:7;:5;:7::i;:::-;11735:13;;:2;:13;;;;11716:32;11713:1609;;;11776:13;;;;;;;;;;;11770:19;;:2;:19;;;;:52;;;;;11794:24;:28;11819:2;11794:28;;;;;;;;;;;;;;;;;;;;;;;;;11793:29;11770:52;:75;;;;;11844:1;11826:14;;:19;;11770:75;11767:212;;;11909:14;;11899:6;11874:22;11892:2;11874:9;:22::i;:::-;:31;;;;:::i;:::-;:49;;11866:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;11767:212;12018:13;;;;;;;;;;;12010:21;;:4;:21;;;:55;;;;;12049:15;;;;;;;;;;;12035:30;;:2;:30;;;;12010:55;:82;;;;;12070:18;:22;12089:2;12070:22;;;;;;;;;;;;;;;;;;;;;;;;;12069:23;12010:82;12007:207;;;12121:11;;;;;;;;;;;12113:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12191:7;;12180:8;:18;;;;12007:207;12228:28;12259:24;12277:4;12259:9;:24::i;:::-;12228:55;;12304:6;;;;;;;;;;;12303:7;:32;;;;;12322:13;;;;;;;;;;;12314:21;;:4;:21;;;;12303:32;:47;;;;;12339:11;;;;;;;;;;;12303:47;12300:1011;;;12384:8;;12373;:19;;;;12417:25;:29;12443:2;12417:29;;;;;;;;;;;;;;;;;;;;;;;;;12413:883;;;12497:25;;12474:20;:48;12471:806;;;12557:15;;;;;;;;;;;:41;;;;12597:1;12576:18;;:22;12557:41;12553:701;;;12634:18;;;;;;;;;;;12631:138;;;12712:25;;12689:48;;12631:138;12801:38;12818:20;12801:16;:38::i;:::-;12895:1;12874:18;;:22;12870:115;;;12933:18;;:20;;;;;;;;;:::i;:::-;;;;;;12870:115;13017:26;13046:21;13017:50;;13122:1;13101:18;:22;13098:129;;;13160:35;13173:21;13160:12;:35::i;:::-;13098:129;12600:654;12553:701;12471:806;12413:883;12300:1011;11750:1572;11713:1609;13332:12;13347:4;13332:19;;13367:7;;;;;;;;;;:35;;;;13378:18;:24;13397:4;13378:24;;;;;;;;;;;;;;;;;;;;;;;;;13367:35;:61;;;;13406:18;:22;13425:2;13406:22;;;;;;;;;;;;;;;;;;;;;;;;;13367:61;13364:227;;;13455:5;13445:15;;13364:227;;;13482:25;:31;13508:4;13482:31;;;;;;;;;;;;;;;;;;;;;;;;;13481:32;:66;;;;;13518:25;:29;13544:2;13518:29;;;;;;;;;;;;;;;;;;;;;;;;;13517:30;13481:66;13478:113;;;13574:5;13564:15;;13478:113;13364:227;13611:38;13626:4;13631:2;13634:6;13641:7;13611:14;:38::i;:::-;11471:2186;11402:2255;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;14164:154::-;14222:12;14240:11;;;;;;;;;;;:16;;14264:6;14240:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14221:54;;;14293:17;14302:7;14293:17;;;;;;:::i;:::-;;;;;;;;14210:108;14164:154;:::o;18635:254::-;18702:7;18741;;18730;:18;;18722:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18806:19;18829:10;:8;:10::i;:::-;18806:33;;18857:24;18869:11;18857:7;:11;;:24;;;;:::i;:::-;18850:31;;;18635:254;;;:::o;22244:130::-;22361:5;22327:25;:31;22353:4;22327:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;22244:130;;:::o;13665:483::-;10809:4;10800:6;;:13;;;;;;;;;;;;;;;;;;13743:21:::1;13781:1;13767:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13743:40;;13812:4;13794;13799:1;13794:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13838:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13828:4;13833:1;13828:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13871:62;13888:4;13903:15;;;;;;;;;;;13921:11;13871:8;:62::i;:::-;13944:15;;;;;;;;;;;:66;;;14025:11;14051:1;14067:4;14094;14114:15;13944:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13732:416;10845:5:::0;10836:6;;:14;;;;;;;;;;;;;;;;;;13665:483;:::o;14330:263::-;14442:7;14438:40;;14464:14;:12;:14::i;:::-;14438:40;14489:44;14507:6;14515:9;14526:6;14489:17;:44::i;:::-;14548:7;14544:41;;14570:15;:13;:15::i;:::-;14544:41;14330:263;;;;:::o;15934:163::-;15975:7;15996:15;16013;16032:19;:17;:19::i;:::-;15995:56;;;;16069:20;16081:7;16069;:11;;:20;;;;:::i;:::-;16062:27;;;;15934:163;:::o;2778:132::-;2836:7;2863:39;2867:1;2870;2863:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2856:46;;2778:132;;;;:::o;18341:159::-;18402:7;;18384:15;:25;;;;18439:8;;18420:16;:27;;;;18468:1;18458:7;:11;;;;18491:1;18480:8;:12;;;;18341:159::o;14601:490::-;14700:15;14717:23;14742:12;14756:23;14781:12;14795:13;14812:19;14823:7;14812:10;:19::i;:::-;14699:132;;;;;;;;;;;;14860:28;14880:7;14860;:15;14868:6;14860:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14842:7;:15;14850:6;14842:15;;;;;;;;;;;;;;;:46;;;;14920:39;14943:15;14920:7;:18;14928:9;14920:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14899:7;:18;14907:9;14899:18;;;;;;;;;;;;;;;:60;;;;14973:16;14983:5;14973:9;:16::i;:::-;15000:23;15012:4;15018;15000:11;:23::i;:::-;15056:9;15039:44;;15048:6;15039:44;;;15067:15;15039:44;;;;;;:::i;:::-;;;;;;;;14688:403;;;;;;14601:490;;;:::o;18512:115::-;18566:15;;18556:7;:25;;;;18603:16;;18592:8;:27;;;;18512:115::o;16105:255::-;16155:7;16164;16184:15;16202:7;;16184:25;;16220:15;9446:23;16220:25;;16269:20;9446:23;16269:7;;:11;;:20;;;;:::i;:::-;16259:7;:30;16256:60;;;16299:7;;9446:23;16291:25;;;;;;;;16256:60;16335:7;16344;16327:25;;;;;;16105:255;;;:::o;3406:278::-;3492:7;3524:1;3520;:5;3527:12;3512:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3551:9;3567:1;3563;:5;;;;:::i;:::-;3551:17;;3675:1;3668:8;;;3406:278;;;;;:::o;15099:468::-;15158:7;15167;15176;15185;15194;15203;15224:23;15249:12;15263:13;15280:39;15292:7;15301;;15310:8;;15280:11;:39::i;:::-;15223:96;;;;;;15330:19;15353:10;:8;:10::i;:::-;15330:33;;15375:15;15392:23;15417:12;15433:46;15445:7;15454:4;15460:5;15467:11;15433;:46::i;:::-;15374:105;;;;;;15498:7;15507:15;15524:4;15530:15;15547:4;15553:5;15490:69;;;;;;;;;;;;;;;;;;;15099:468;;;;;;;:::o;941:136::-;999:7;1026:43;1030:1;1033;1026:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1019:50;;941:136;;;;:::o;477:181::-;535:7;555:9;571:1;567;:5;;;;:::i;:::-;555:17;;596:1;591;:6;;583:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;649:1;642:8;;;477:181;;;;:::o;16785:214::-;16838:19;16861:10;:8;:10::i;:::-;16838:33;;16882:13;16898:22;16908:11;16898:5;:9;;:22;;;;:::i;:::-;16882:38;;16958:33;16985:5;16958:7;:22;16974:4;16958:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16933:7;:22;16949:4;16933:22;;;;;;;;;;;;;;;:58;;;;16827:172;;16785:214;:::o;17007:147::-;17085:17;17097:4;17085:7;;:11;;:17;;;;:::i;:::-;17075:7;:27;;;;17126:20;17141:4;17126:10;;:14;;:20;;;;:::i;:::-;17113:10;:33;;;;17007:147;;:::o;15575:351::-;15668:7;15677;15686;15706:12;15721:28;15745:3;15721:19;15733:6;15721:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15706:43;;15760:13;15776:29;15801:3;15776:20;15788:7;15776;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15760:45;;15816:23;15842:28;15864:5;15842:17;15854:4;15842:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15816:54;;15889:15;15906:4;15912:5;15881:37;;;;;;;;;15575:351;;;;;;;:::o;16368:409::-;16478:7;16487;16496;16516:15;16534:24;16546:11;16534:7;:11;;:24;;;;:::i;:::-;16516:42;;16569:12;16584:21;16593:11;16584:4;:8;;:21;;;;:::i;:::-;16569:36;;16616:13;16632:22;16642:11;16632:5;:9;;:22;;;;:::i;:::-;16616:38;;16665:23;16691:28;16713:5;16691:17;16703:4;16691:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16665:54;;16738:7;16747:15;16764:4;16730:39;;;;;;;;;;16368:409;;;;;;;;:::o;1831:471::-;1889:7;2139:1;2134;:6;2130:47;;2164:1;2157:8;;;;2130:47;2189:9;2205:1;2201;:5;;;;:::i;:::-;2189:17;;2234:1;2229;2225;:5;;;;:::i;:::-;:10;2217:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:1;2286:8;;;1831:471;;;;;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:104::-;4791:7;4820:24;4838:5;4820:24;:::i;:::-;4809:35;;4746:104;;;:::o;4856:138::-;4937:32;4963:5;4937:32;:::i;:::-;4930:5;4927:43;4917:71;;4984:1;4981;4974:12;4917:71;4856:138;:::o;5000:155::-;5054:5;5092:6;5079:20;5070:29;;5108:41;5143:5;5108:41;:::i;:::-;5000:155;;;;:::o;5161:345::-;5228:6;5277:2;5265:9;5256:7;5252:23;5248:32;5245:119;;;5283:79;;:::i;:::-;5245:119;5403:1;5428:61;5481:7;5472:6;5461:9;5457:22;5428:61;:::i;:::-;5418:71;;5374:125;5161:345;;;;:::o;5512:329::-;5571:6;5620:2;5608:9;5599:7;5595:23;5591:32;5588:119;;;5626:79;;:::i;:::-;5588:119;5746:1;5771:53;5816:7;5807:6;5796:9;5792:22;5771:53;:::i;:::-;5761:63;;5717:117;5512:329;;;;:::o;5847:::-;5906:6;5955:2;5943:9;5934:7;5930:23;5926:32;5923:119;;;5961:79;;:::i;:::-;5923:119;6081:1;6106:53;6151:7;6142:6;6131:9;6127:22;6106:53;:::i;:::-;6096:63;;6052:117;5847:329;;;;:::o;6182:474::-;6250:6;6258;6307:2;6295:9;6286:7;6282:23;6278:32;6275:119;;;6313:79;;:::i;:::-;6275:119;6433:1;6458:53;6503:7;6494:6;6483:9;6479:22;6458:53;:::i;:::-;6448:63;;6404:117;6560:2;6586:53;6631:7;6622:6;6611:9;6607:22;6586:53;:::i;:::-;6576:63;;6531:118;6182:474;;;;;:::o;6662:118::-;6749:24;6767:5;6749:24;:::i;:::-;6744:3;6737:37;6662:118;;:::o;6786:222::-;6879:4;6917:2;6906:9;6902:18;6894:26;;6930:71;6998:1;6987:9;6983:17;6974:6;6930:71;:::i;:::-;6786:222;;;;:::o;7014:116::-;7084:21;7099:5;7084:21;:::i;:::-;7077:5;7074:32;7064:60;;7120:1;7117;7110:12;7064:60;7014:116;:::o;7136:133::-;7179:5;7217:6;7204:20;7195:29;;7233:30;7257:5;7233:30;:::i;:::-;7136:133;;;;:::o;7275:468::-;7340:6;7348;7397:2;7385:9;7376:7;7372:23;7368:32;7365:119;;;7403:79;;:::i;:::-;7365:119;7523:1;7548:53;7593:7;7584:6;7573:9;7569:22;7548:53;:::i;:::-;7538:63;;7494:117;7650:2;7676:50;7718:7;7709:6;7698:9;7694:22;7676:50;:::i;:::-;7666:60;;7621:115;7275:468;;;;;:::o;7749:323::-;7805:6;7854:2;7842:9;7833:7;7829:23;7825:32;7822:119;;;7860:79;;:::i;:::-;7822:119;7980:1;8005:50;8047:7;8038:6;8027:9;8023:22;8005:50;:::i;:::-;7995:60;;7951:114;7749:323;;;;:::o;8078:619::-;8155:6;8163;8171;8220:2;8208:9;8199:7;8195:23;8191:32;8188:119;;;8226:79;;:::i;:::-;8188:119;8346:1;8371:53;8416:7;8407:6;8396:9;8392:22;8371:53;:::i;:::-;8361:63;;8317:117;8473:2;8499:53;8544:7;8535:6;8524:9;8520:22;8499:53;:::i;:::-;8489:63;;8444:118;8601:2;8627:53;8672:7;8663:6;8652:9;8648:22;8627:53;:::i;:::-;8617:63;;8572:118;8078:619;;;;;:::o;8703:182::-;8843:34;8839:1;8831:6;8827:14;8820:58;8703:182;:::o;8891:366::-;9033:3;9054:67;9118:2;9113:3;9054:67;:::i;:::-;9047:74;;9130:93;9219:3;9130:93;:::i;:::-;9248:2;9243:3;9239:12;9232:19;;8891:366;;;:::o;9263:419::-;9429:4;9467:2;9456:9;9452:18;9444:26;;9516:9;9510:4;9506:20;9502:1;9491:9;9487:17;9480:47;9544:131;9670:4;9544:131;:::i;:::-;9536:139;;9263:419;;;:::o;9688:180::-;9736:77;9733:1;9726:88;9833:4;9830:1;9823:15;9857:4;9854:1;9847:15;9874:410;9914:7;9937:20;9955:1;9937:20;:::i;:::-;9932:25;;9971:20;9989:1;9971:20;:::i;:::-;9966:25;;10026:1;10023;10019:9;10048:30;10066:11;10048:30;:::i;:::-;10037:41;;10227:1;10218:7;10214:15;10211:1;10208:22;10188:1;10181:9;10161:83;10138:139;;10257:18;;:::i;:::-;10138:139;9922:362;9874:410;;;;:::o;10290:176::-;10430:28;10426:1;10418:6;10414:14;10407:52;10290:176;:::o;10472:366::-;10614:3;10635:67;10699:2;10694:3;10635:67;:::i;:::-;10628:74;;10711:93;10800:3;10711:93;:::i;:::-;10829:2;10824:3;10820:12;10813:19;;10472:366;;;:::o;10844:419::-;11010:4;11048:2;11037:9;11033:18;11025:26;;11097:9;11091:4;11087:20;11083:1;11072:9;11068:17;11061:47;11125:131;11251:4;11125:131;:::i;:::-;11117:139;;10844:419;;;:::o;11269:178::-;11409:30;11405:1;11397:6;11393:14;11386:54;11269:178;:::o;11453:366::-;11595:3;11616:67;11680:2;11675:3;11616:67;:::i;:::-;11609:74;;11692:93;11781:3;11692:93;:::i;:::-;11810:2;11805:3;11801:12;11794:19;;11453:366;;;:::o;11825:419::-;11991:4;12029:2;12018:9;12014:18;12006:26;;12078:9;12072:4;12068:20;12064:1;12053:9;12049:17;12042:47;12106:131;12232:4;12106:131;:::i;:::-;12098:139;;11825:419;;;:::o;12250:143::-;12307:5;12338:6;12332:13;12323:22;;12354:33;12381:5;12354:33;:::i;:::-;12250:143;;;;:::o;12399:351::-;12469:6;12518:2;12506:9;12497:7;12493:23;12489:32;12486:119;;;12524:79;;:::i;:::-;12486:119;12644:1;12669:64;12725:7;12716:6;12705:9;12701:22;12669:64;:::i;:::-;12659:74;;12615:128;12399:351;;;;:::o;12756:332::-;12877:4;12915:2;12904:9;12900:18;12892:26;;12928:71;12996:1;12985:9;12981:17;12972:6;12928:71;:::i;:::-;13009:72;13077:2;13066:9;13062:18;13053:6;13009:72;:::i;:::-;12756:332;;;;;:::o;13094:137::-;13148:5;13179:6;13173:13;13164:22;;13195:30;13219:5;13195:30;:::i;:::-;13094:137;;;;:::o;13237:345::-;13304:6;13353:2;13341:9;13332:7;13328:23;13324:32;13321:119;;;13359:79;;:::i;:::-;13321:119;13479:1;13504:61;13557:7;13548:6;13537:9;13533:22;13504:61;:::i;:::-;13494:71;;13450:125;13237:345;;;;:::o;13588:244::-;13728:34;13724:1;13716:6;13712:14;13705:58;13797:27;13792:2;13784:6;13780:15;13773:52;13588:244;:::o;13838:366::-;13980:3;14001:67;14065:2;14060:3;14001:67;:::i;:::-;13994:74;;14077:93;14166:3;14077:93;:::i;:::-;14195:2;14190:3;14186:12;14179:19;;13838:366;;;:::o;14210:419::-;14376:4;14414:2;14403:9;14399:18;14391:26;;14463:9;14457:4;14453:20;14449:1;14438:9;14434:17;14427:47;14491:131;14617:4;14491:131;:::i;:::-;14483:139;;14210:419;;;:::o;14635:173::-;14775:25;14771:1;14763:6;14759:14;14752:49;14635:173;:::o;14814:366::-;14956:3;14977:67;15041:2;15036:3;14977:67;:::i;:::-;14970:74;;15053:93;15142:3;15053:93;:::i;:::-;15171:2;15166:3;15162:12;15155:19;;14814:366;;;:::o;15186:419::-;15352:4;15390:2;15379:9;15375:18;15367:26;;15439:9;15433:4;15429:20;15425:1;15414:9;15410:17;15403:47;15467:131;15593:4;15467:131;:::i;:::-;15459:139;;15186:419;;;:::o;15611:143::-;15668:5;15699:6;15693:13;15684:22;;15715:33;15742:5;15715:33;:::i;:::-;15611:143;;;;:::o;15760:351::-;15830:6;15879:2;15867:9;15858:7;15854:23;15850:32;15847:119;;;15885:79;;:::i;:::-;15847:119;16005:1;16030:64;16086:7;16077:6;16066:9;16062:22;16030:64;:::i;:::-;16020:74;;15976:128;15760:351;;;;:::o;16117:332::-;16238:4;16276:2;16265:9;16261:18;16253:26;;16289:71;16357:1;16346:9;16342:17;16333:6;16289:71;:::i;:::-;16370:72;16438:2;16427:9;16423:18;16414:6;16370:72;:::i;:::-;16117:332;;;;;:::o;16455:85::-;16500:7;16529:5;16518:16;;16455:85;;;:::o;16546:60::-;16574:3;16595:5;16588:12;;16546:60;;;:::o;16612:158::-;16670:9;16703:61;16721:42;16730:32;16756:5;16730:32;:::i;:::-;16721:42;:::i;:::-;16703:61;:::i;:::-;16690:74;;16612:158;;;:::o;16776:147::-;16871:45;16910:5;16871:45;:::i;:::-;16866:3;16859:58;16776:147;;:::o;16929:807::-;17178:4;17216:3;17205:9;17201:19;17193:27;;17230:71;17298:1;17287:9;17283:17;17274:6;17230:71;:::i;:::-;17311:72;17379:2;17368:9;17364:18;17355:6;17311:72;:::i;:::-;17393:80;17469:2;17458:9;17454:18;17445:6;17393:80;:::i;:::-;17483;17559:2;17548:9;17544:18;17535:6;17483:80;:::i;:::-;17573:73;17641:3;17630:9;17626:19;17617:6;17573:73;:::i;:::-;17656;17724:3;17713:9;17709:19;17700:6;17656:73;:::i;:::-;16929:807;;;;;;;;;:::o;17742:663::-;17830:6;17838;17846;17895:2;17883:9;17874:7;17870:23;17866:32;17863:119;;;17901:79;;:::i;:::-;17863:119;18021:1;18046:64;18102:7;18093:6;18082:9;18078:22;18046:64;:::i;:::-;18036:74;;17992:128;18159:2;18185:64;18241:7;18232:6;18221:9;18217:22;18185:64;:::i;:::-;18175:74;;18130:129;18298:2;18324:64;18380:7;18371:6;18360:9;18356:22;18324:64;:::i;:::-;18314:74;;18269:129;17742:663;;;;;:::o;18411:223::-;18551:34;18547:1;18539:6;18535:14;18528:58;18620:6;18615:2;18607:6;18603:15;18596:31;18411:223;:::o;18640:366::-;18782:3;18803:67;18867:2;18862:3;18803:67;:::i;:::-;18796:74;;18879:93;18968:3;18879:93;:::i;:::-;18997:2;18992:3;18988:12;18981:19;;18640:366;;;:::o;19012:419::-;19178:4;19216:2;19205:9;19201:18;19193:26;;19265:9;19259:4;19255:20;19251:1;19240:9;19236:17;19229:47;19293:131;19419:4;19293:131;:::i;:::-;19285:139;;19012:419;;;:::o;19437:221::-;19577:34;19573:1;19565:6;19561:14;19554:58;19646:4;19641:2;19633:6;19629:15;19622:29;19437:221;:::o;19664:366::-;19806:3;19827:67;19891:2;19886:3;19827:67;:::i;:::-;19820:74;;19903:93;19992:3;19903:93;:::i;:::-;20021:2;20016:3;20012:12;20005:19;;19664:366;;;:::o;20036:419::-;20202:4;20240:2;20229:9;20225:18;20217:26;;20289:9;20283:4;20279:20;20275:1;20264:9;20260:17;20253:47;20317:131;20443:4;20317:131;:::i;:::-;20309:139;;20036:419;;;:::o;20461:224::-;20601:34;20597:1;20589:6;20585:14;20578:58;20670:7;20665:2;20657:6;20653:15;20646:32;20461:224;:::o;20691:366::-;20833:3;20854:67;20918:2;20913:3;20854:67;:::i;:::-;20847:74;;20930:93;21019:3;20930:93;:::i;:::-;21048:2;21043:3;21039:12;21032:19;;20691:366;;;:::o;21063:419::-;21229:4;21267:2;21256:9;21252:18;21244:26;;21316:9;21310:4;21306:20;21302:1;21291:9;21287:17;21280:47;21344:131;21470:4;21344:131;:::i;:::-;21336:139;;21063:419;;;:::o;21488:222::-;21628:34;21624:1;21616:6;21612:14;21605:58;21697:5;21692:2;21684:6;21680:15;21673:30;21488:222;:::o;21716:366::-;21858:3;21879:67;21943:2;21938:3;21879:67;:::i;:::-;21872:74;;21955:93;22044:3;21955:93;:::i;:::-;22073:2;22068:3;22064:12;22057:19;;21716:366;;;:::o;22088:419::-;22254:4;22292:2;22281:9;22277:18;22269:26;;22341:9;22335:4;22331:20;22327:1;22316:9;22312:17;22305:47;22369:131;22495:4;22369:131;:::i;:::-;22361:139;;22088:419;;;:::o;22513:228::-;22653:34;22649:1;22641:6;22637:14;22630:58;22722:11;22717:2;22709:6;22705:15;22698:36;22513:228;:::o;22747:366::-;22889:3;22910:67;22974:2;22969:3;22910:67;:::i;:::-;22903:74;;22986:93;23075:3;22986:93;:::i;:::-;23104:2;23099:3;23095:12;23088:19;;22747:366;;;:::o;23119:419::-;23285:4;23323:2;23312:9;23308:18;23300:26;;23372:9;23366:4;23362:20;23358:1;23347:9;23343:17;23336:47;23400:131;23526:4;23400:131;:::i;:::-;23392:139;;23119:419;;;:::o;23544:191::-;23584:3;23603:20;23621:1;23603:20;:::i;:::-;23598:25;;23637:20;23655:1;23637:20;:::i;:::-;23632:25;;23680:1;23677;23673:9;23666:16;;23701:3;23698:1;23695:10;23692:36;;;23708:18;;:::i;:::-;23692:36;23544:191;;;;:::o;23741:222::-;23881:34;23877:1;23869:6;23865:14;23858:58;23950:5;23945:2;23937:6;23933:15;23926:30;23741:222;:::o;23969:366::-;24111:3;24132:67;24196:2;24191:3;24132:67;:::i;:::-;24125:74;;24208:93;24297:3;24208:93;:::i;:::-;24326:2;24321:3;24317:12;24310:19;;23969:366;;;:::o;24341:419::-;24507:4;24545:2;24534:9;24530:18;24522:26;;24594:9;24588:4;24584:20;24580:1;24569:9;24565:17;24558:47;24622:131;24748:4;24622:131;:::i;:::-;24614:139;;24341:419;;;:::o;24766:174::-;24906:26;24902:1;24894:6;24890:14;24883:50;24766:174;:::o;24946:366::-;25088:3;25109:67;25173:2;25168:3;25109:67;:::i;:::-;25102:74;;25185:93;25274:3;25185:93;:::i;:::-;25303:2;25298:3;25294:12;25287:19;;24946:366;;;:::o;25318:419::-;25484:4;25522:2;25511:9;25507:18;25499:26;;25571:9;25565:4;25561:20;25557:1;25546:9;25542:17;25535:47;25599:131;25725:4;25599:131;:::i;:::-;25591:139;;25318:419;;;:::o;25743:171::-;25782:3;25805:24;25823:5;25805:24;:::i;:::-;25796:33;;25851:4;25844:5;25841:15;25838:41;;25859:18;;:::i;:::-;25838:41;25906:1;25899:5;25895:13;25888:20;;25743:171;;;:::o;25920:194::-;25960:4;25980:20;25998:1;25980:20;:::i;:::-;25975:25;;26014:20;26032:1;26014:20;:::i;:::-;26009:25;;26058:1;26055;26051:9;26043:17;;26082:1;26076:4;26073:11;26070:37;;;26087:18;;:::i;:::-;26070:37;25920:194;;;;:::o;26120:147::-;26221:11;26258:3;26243:18;;26120:147;;;;:::o;26273:114::-;;:::o;26393:398::-;26552:3;26573:83;26654:1;26649:3;26573:83;:::i;:::-;26566:90;;26665:93;26754:3;26665:93;:::i;:::-;26783:1;26778:3;26774:11;26767:18;;26393:398;;;:::o;26797:379::-;26981:3;27003:147;27146:3;27003:147;:::i;:::-;26996:154;;27167:3;27160:10;;26797:379;;;:::o;27182:229::-;27322:34;27318:1;27310:6;27306:14;27299:58;27391:12;27386:2;27378:6;27374:15;27367:37;27182:229;:::o;27417:366::-;27559:3;27580:67;27644:2;27639:3;27580:67;:::i;:::-;27573:74;;27656:93;27745:3;27656:93;:::i;:::-;27774:2;27769:3;27765:12;27758:19;;27417:366;;;:::o;27789:419::-;27955:4;27993:2;27982:9;27978:18;27970:26;;28042:9;28036:4;28032:20;28028:1;28017:9;28013:17;28006:47;28070:131;28196:4;28070:131;:::i;:::-;28062:139;;27789:419;;;:::o;28214:180::-;28262:77;28259:1;28252:88;28359:4;28356:1;28349:15;28383:4;28380:1;28373:15;28400:180;28448:77;28445:1;28438:88;28545:4;28542:1;28535:15;28569:4;28566:1;28559:15;28586:114;28653:6;28687:5;28681:12;28671:22;;28586:114;;;:::o;28706:184::-;28805:11;28839:6;28834:3;28827:19;28879:4;28874:3;28870:14;28855:29;;28706:184;;;;:::o;28896:132::-;28963:4;28986:3;28978:11;;29016:4;29011:3;29007:14;28999:22;;28896:132;;;:::o;29034:108::-;29111:24;29129:5;29111:24;:::i;:::-;29106:3;29099:37;29034:108;;:::o;29148:179::-;29217:10;29238:46;29280:3;29272:6;29238:46;:::i;:::-;29316:4;29311:3;29307:14;29293:28;;29148:179;;;;:::o;29333:113::-;29403:4;29435;29430:3;29426:14;29418:22;;29333:113;;;:::o;29482:732::-;29601:3;29630:54;29678:5;29630:54;:::i;:::-;29700:86;29779:6;29774:3;29700:86;:::i;:::-;29693:93;;29810:56;29860:5;29810:56;:::i;:::-;29889:7;29920:1;29905:284;29930:6;29927:1;29924:13;29905:284;;;30006:6;30000:13;30033:63;30092:3;30077:13;30033:63;:::i;:::-;30026:70;;30119:60;30172:6;30119:60;:::i;:::-;30109:70;;29965:224;29952:1;29949;29945:9;29940:14;;29905:284;;;29909:14;30205:3;30198:10;;29606:608;;;29482:732;;;;:::o;30220:831::-;30483:4;30521:3;30510:9;30506:19;30498:27;;30535:71;30603:1;30592:9;30588:17;30579:6;30535:71;:::i;:::-;30616:80;30692:2;30681:9;30677:18;30668:6;30616:80;:::i;:::-;30743:9;30737:4;30733:20;30728:2;30717:9;30713:18;30706:48;30771:108;30874:4;30865:6;30771:108;:::i;:::-;30763:116;;30889:72;30957:2;30946:9;30942:18;30933:6;30889:72;:::i;:::-;30971:73;31039:3;31028:9;31024:19;31015:6;30971:73;:::i;:::-;30220:831;;;;;;;;:::o;31057:180::-;31105:77;31102:1;31095:88;31202:4;31199:1;31192:15;31226:4;31223:1;31216:15;31243:185;31283:1;31300:20;31318:1;31300:20;:::i;:::-;31295:25;;31334:20;31352:1;31334:20;:::i;:::-;31329:25;;31373:1;31363:35;;31378:18;;:::i;:::-;31363:35;31420:1;31417;31413:9;31408:14;;31243:185;;;;:::o;31434:177::-;31574:29;31570:1;31562:6;31558:14;31551:53;31434:177;:::o;31617:366::-;31759:3;31780:67;31844:2;31839:3;31780:67;:::i;:::-;31773:74;;31856:93;31945:3;31856:93;:::i;:::-;31974:2;31969:3;31965:12;31958:19;;31617:366;;;:::o;31989:419::-;32155:4;32193:2;32182:9;32178:18;32170:26;;32242:9;32236:4;32232:20;32228:1;32217:9;32213:17;32206:47;32270:131;32396:4;32270:131;:::i;:::-;32262:139;;31989:419;;;:::o;32414:220::-;32554:34;32550:1;32542:6;32538:14;32531:58;32623:3;32618:2;32610:6;32606:15;32599:28;32414:220;:::o;32640:366::-;32782:3;32803:67;32867:2;32862:3;32803:67;:::i;:::-;32796:74;;32879:93;32968:3;32879:93;:::i;:::-;32997:2;32992:3;32988:12;32981:19;;32640:366;;;:::o;33012:419::-;33178:4;33216:2;33205:9;33201:18;33193:26;;33265:9;33259:4;33255:20;33251:1;33240:9;33236:17;33229:47;33293:131;33419:4;33293:131;:::i;:::-;33285:139;;33012:419;;;:::o
Swarm Source
ipfs://f149ad708844d4d3e8d68f061e90b1ff822f3ac23b1eb3bac3622af3a786e5a7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.