ETH Price: $3,401.01 (+3.71%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer208688162024-10-01 6:20:47122 days ago1727763647IN
0x8b9F7e95...ed7849cB2
0 ETH0.0008785816.78995515
Approve204340552024-08-01 13:40:23183 days ago1722519623IN
0x8b9F7e95...ed7849cB2
0 ETH0.0007363816.38443682
Transfer204049572024-07-28 12:10:35187 days ago1722168635IN
0x8b9F7e95...ed7849cB2
0 ETH0.000124312.3763251
Transfer204048872024-07-28 11:56:11187 days ago1722167771IN
0x8b9F7e95...ed7849cB2
0 ETH0.000091171.31345213
Approve204048602024-07-28 11:50:47187 days ago1722167447IN
0x8b9F7e95...ed7849cB2
0 ETH0.000069851.54600713
Approve204048292024-07-28 11:44:35187 days ago1722167075IN
0x8b9F7e95...ed7849cB2
0 ETH0.000052911.17057862
Transfer204048142024-07-28 11:41:35187 days ago1722166895IN
0x8b9F7e95...ed7849cB2
0 ETH0.000166412.39737404
Approve204047652024-07-28 11:31:47187 days ago1722166307IN
0x8b9F7e95...ed7849cB2
0 ETH0.000100162.21381693
Transfer204047602024-07-28 11:30:47187 days ago1722166247IN
0x8b9F7e95...ed7849cB2
0 ETH0.000176272.37517179
Approve201278552024-06-19 19:24:35225 days ago1718825075IN
0x8b9F7e95...ed7849cB2
0 ETH0.0005296811.72278258
Approve200162152024-06-04 4:57:11241 days ago1717477031IN
0x8b9F7e95...ed7849cB2
0 ETH0.000246025.43769857
Transfer200160472024-06-04 4:23:35241 days ago1717475015IN
0x8b9F7e95...ed7849cB2
0 ETH0.000460446.63542368
Approve199993262024-06-01 20:21:35243 days ago1717273295IN
0x8b9F7e95...ed7849cB2
0 ETH0.000261195.81164593
Approve196009342024-04-07 2:46:35299 days ago1712457995IN
0x8b9F7e95...ed7849cB2
0 ETH0.000450889.97886447
Approve194211522024-03-12 19:41:35324 days ago1710272495IN
0x8b9F7e95...ed7849cB2
0 ETH0.0030845868.26725298
Approve193274892024-02-28 17:23:23337 days ago1709141003IN
0x8b9F7e95...ed7849cB2
0 ETH0.0055108121.963546
Transfer186582482023-11-26 20:33:23431 days ago1701030803IN
0x8b9F7e95...ed7849cB2
0 ETH0.0013048924.93684392
Transfer186582392023-11-26 20:31:35431 days ago1701030695IN
0x8b9F7e95...ed7849cB2
0 ETH0.0018451524.86599274
Approve186045272023-11-19 8:00:35439 days ago1700380835IN
0x8b9F7e95...ed7849cB2
0 ETH0.0007341416.24781827
Approve186045112023-11-19 7:57:23439 days ago1700380643IN
0x8b9F7e95...ed7849cB2
0 ETH0.000740816.39534032
Approve186044962023-11-19 7:54:23439 days ago1700380463IN
0x8b9F7e95...ed7849cB2
0 ETH0.0008193818.13437263
Transfer184996912023-11-04 15:53:59454 days ago1699113239IN
0x8b9F7e95...ed7849cB2
0 ETH0.0013541318.24592269
Transfer182799342023-10-04 21:47:59484 days ago1696456079IN
0x8b9F7e95...ed7849cB2
0 ETH0.000448228.56562788
Transfer182796782023-10-04 20:56:11484 days ago1696452971IN
0x8b9F7e95...ed7849cB2
0 ETH0.000604748.71046149
Approve182351752023-09-28 15:38:23491 days ago1695915503IN
0x8b9F7e95...ed7849cB2
0 ETH0.000807717.87587187
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
185820162023-11-16 4:19:59442 days ago1700108399
0x8b9F7e95...ed7849cB2
0.0040963 ETH
185820162023-11-16 4:19:59442 days ago1700108399
0x8b9F7e95...ed7849cB2
0.0040963 ETH
182335212023-09-28 10:04:59491 days ago1695895499
0x8b9F7e95...ed7849cB2
0.00639204 ETH
182335212023-09-28 10:04:59491 days ago1695895499
0x8b9F7e95...ed7849cB2
0.00639204 ETH
182335022023-09-28 10:01:11491 days ago1695895271
0x8b9F7e95...ed7849cB2
0.00921788 ETH
182335022023-09-28 10:01:11491 days ago1695895271
0x8b9F7e95...ed7849cB2
0.00921788 ETH
182333292023-09-28 9:26:11491 days ago1695893171
0x8b9F7e95...ed7849cB2
0.03396906 ETH
182333292023-09-28 9:26:11491 days ago1695893171
0x8b9F7e95...ed7849cB2
0.03396906 ETH
182265772023-09-27 10:44:11492 days ago1695811451
0x8b9F7e95...ed7849cB2
0.02144202 ETH
182265772023-09-27 10:44:11492 days ago1695811451
0x8b9F7e95...ed7849cB2
0.02144202 ETH
181579552023-09-17 19:57:35501 days ago1694980655
0x8b9F7e95...ed7849cB2
0.03701728 ETH
181579552023-09-17 19:57:35501 days ago1694980655
0x8b9F7e95...ed7849cB2
0.03701728 ETH
181579462023-09-17 19:55:35501 days ago1694980535
0x8b9F7e95...ed7849cB2
0.00835909 ETH
181579462023-09-17 19:55:35501 days ago1694980535
0x8b9F7e95...ed7849cB2
0.00835909 ETH
181522812023-09-17 0:37:23502 days ago1694911043
0x8b9F7e95...ed7849cB2
0.00479974 ETH
181522812023-09-17 0:37:23502 days ago1694911043
0x8b9F7e95...ed7849cB2
0.00479974 ETH
180736062023-09-05 23:40:59513 days ago1693957259
0x8b9F7e95...ed7849cB2
0.00967356 ETH
180736062023-09-05 23:40:59513 days ago1693957259
0x8b9F7e95...ed7849cB2
0.00967356 ETH
180530702023-09-03 2:44:11516 days ago1693709051
0x8b9F7e95...ed7849cB2
0.02055454 ETH
180530702023-09-03 2:44:11516 days ago1693709051
0x8b9F7e95...ed7849cB2
0.02055454 ETH
179583282023-08-20 20:25:35529 days ago1692563135
0x8b9F7e95...ed7849cB2
0.0038371 ETH
179583282023-08-20 20:25:35529 days ago1692563135
0x8b9F7e95...ed7849cB2
0.0038371 ETH
179251752023-08-16 5:01:47534 days ago1692162107
0x8b9F7e95...ed7849cB2
0.02053371 ETH
179251752023-08-16 5:01:47534 days ago1692162107
0x8b9F7e95...ed7849cB2
0.02053371 ETH
179101512023-08-14 2:36:59536 days ago1691980619
0x8b9F7e95...ed7849cB2
0.01116916 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CremationCoin

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-01
*/

// SPDX-License-Identifier: No

pragma solidity = 0.8.19;

//--- Context ---//
abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

//--- Ownable ---//
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

interface IV2Pair {
    function factory() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function sync() external;
}

interface IRouter01 {
    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);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}



//--- Interface for ERC20 ---//
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

//--- Contract v2 ---//
contract CremationCoin is Context, Ownable, IERC20 {

    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }


    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _noFee;
    mapping (address => bool) private liquidityAdd;
    mapping (address => bool) private isLpPair;
    mapping (address => bool) private isPresaleAddress;
    mapping (address => uint256) private balance;


    uint256 public swapThreshold = _totalSupply / 20_000;
    uint256 constant public _totalSupply = 1_000_000_000_000 * 10**18;
    uint256 public buyfee = 80;
    uint256 public sellfee = 80;
    uint256 public transferfee = 0;
    uint256 constant public fee_denominator = 1_000;
    bool private canSwapFees = true;
    address payable private marketingAddress = payable(0x69F82d9d876D275acB22B537919e1554133Dde68);


    IRouter02 public swapRouter;
    string constant private _name = "Cremation Coin";
    string constant private _symbol = "CREMAT";
    uint8 constant private _decimals = 18;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    address public lpPair;
    bool public isTradingEnabled = false;
    bool inSwap;

        modifier inSwapFlag {
        inSwap = true;
        _;
        inSwap = false;
    }


    event _enableTrading();
    event _setPresaleAddress(address account, bool enabled);
    event _toggleCanSwapFees(bool enabled);
    event _changePair(address newLpPair);
    event _changeWallets(address marketing);
    event feesChanged(uint256 _buy, uint256 _sell, uint256 _transfer);


    constructor () {
        _noFee[msg.sender] = true;

        if (block.chainid == 56) {
            swapRouter = IRouter02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        } else if (block.chainid == 97) {
            swapRouter = IRouter02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3 // 0xD99D1c33F9fC3444f8101754aBC46c52416550D1
        } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) {
            swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else if (block.chainid == 43114) {
            swapRouter = IRouter02(0x60aE616a2155Ee3d9A68541Ba4544862310933d4);
        } else if (block.chainid == 250) {
            swapRouter = IRouter02(0xF491e7B69E4244ad4002BC14e878a34207E38c29);
        } else {
            revert("Chain not valid");
        }
        liquidityAdd[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        lpPair = IFactoryV2(swapRouter.factory()).createPair(swapRouter.WETH(), address(this));
        isLpPair[lpPair] = true;
        _approve(msg.sender, address(swapRouter), type(uint256).max);
        _approve(address(this), address(swapRouter), type(uint256).max);


    }

    receive() external payable {}

        function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

        function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

        function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

        function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }
    function isNoFeeWallet(address account) external view returns(bool) {
        return _noFee[account];
    }

    function setNoFeeWallet(address account, bool enabled) public onlyOwner {
        _noFee[account] = enabled;
    }

    function isLimitedAddress(address ins, address out) internal view returns (bool) {

        bool isLimited = ins != owner()
            && out != owner() && tx.origin != owner() // any transaction with no direct interaction from owner will be accepted
            && msg.sender != owner()
            && !liquidityAdd[ins]  && !liquidityAdd[out] && out != DEAD && out != address(0) && out != address(this);
            return isLimited;
    }

    function is_buy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !isLpPair[out] && isLpPair[ins];
        return _is_buy;
    }

    function is_sell(address ins, address out) internal view returns (bool) { 
        bool _is_sell = isLpPair[out] && !isLpPair[ins];
        return _is_sell;
    }

    function is_transfer(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !isLpPair[out] && !isLpPair[ins];
        return _is_transfer;
    }

    function canSwap(address ins, address out) internal view returns (bool) {
        bool canswap = canSwapFees && !isPresaleAddress[ins] && !isPresaleAddress[out];

        return canswap;
    }

    function changeLpPair(address newPair) external onlyOwner {
        isLpPair[newPair] = true;
        emit _changePair(newPair);
    }

    function toggleCanSwapFees(bool yesno) external onlyOwner {
        require(canSwapFees != yesno,"Bool is the same");
        canSwapFees = yesno;
        emit _toggleCanSwapFees(yesno);
    }

    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (isLimitedAddress(from,to)) {
            require(isTradingEnabled,"Trading is not enabled");
        }


        if(is_sell(from, to) &&  !inSwap && canSwap(from, to)) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance >= swapThreshold) { internalSwap(contractTokenBalance); }
        }

        if (_noFee[from] || _noFee[to]){
            takeFee = false;
        }
        balance[from] -= amount; uint256 amountAfterFee = (takeFee) ? takeTaxes(from, is_buy(from, to), is_sell(from, to), amount) : amount;
        balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;

    }

    function changeWallets(address marketing) external onlyOwner {
        marketingAddress = payable(marketing);
        emit _changeWallets(marketing);
    }


    function takeTaxes(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = buyfee;  else if (issell)  fee = sellfee;  else  fee = transferfee; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / fee_denominator;
        if (feeAmount > 0) {

            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
            
        }
        return amount - feeAmount;
    }

    function internalSwap(uint256 contractTokenBalance) internal inSwapFlag {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = swapRouter.WETH();

        if (_allowances[address(this)][address(swapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(swapRouter)] = type(uint256).max;
        }

        try swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractTokenBalance,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }
        bool success;

        if(address(this).balance > 0) {(success,) = marketingAddress.call{value: address(this).balance, gas: 35000}("");}
        


    }
        function changeTaxes(uint256 buy, uint256 sell, uint256 _transfers) external onlyOwner {
            require(buy + sell + _transfers <= 25);
            buyfee = buy * 10;
            sellfee = sell * 10;
            transferfee = _transfers * 10;

            emit feesChanged(buy,sell,_transfers);

        }

        function setPresaleAddress(address presale, bool yesno) external onlyOwner {
            require(isPresaleAddress[presale] != yesno,"Same bool");
            isPresaleAddress[presale] = yesno;
            _noFee[presale] = yesno;
            liquidityAdd[presale] = yesno;
            emit _setPresaleAddress(presale, yesno);
        }

        function enableTrading() external onlyOwner {
            require(!isTradingEnabled, "Trading already enabled");
            isTradingEnabled = true;
            emit _enableTrading();
        }
}

Contract Security Audit

Contract ABI

[{"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newLpPair","type":"address"}],"name":"_changePair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketing","type":"address"}],"name":"_changeWallets","type":"event"},{"anonymous":false,"inputs":[],"name":"_enableTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"_setPresaleAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"_toggleCanSwapFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_transfer","type":"uint256"}],"name":"feesChanged","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newPair","type":"address"}],"name":"changeLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"},{"internalType":"uint256","name":"_transfers","type":"uint256"}],"name":"changeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"}],"name":"changeWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee_denominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNoFeeWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setNoFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"presale","type":"address"},{"internalType":"bool","name":"yesno","type":"bool"}],"name":"setPresaleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"yesno","type":"bool"}],"name":"toggleCanSwapFees","outputs":[],"stateMutability":"nonpayable","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":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052614e206c0c9f2c9cd04674edea4000000062000021919062000a33565b600755605060085560506009556000600a556001600b60006101000a81548160ff0219169083151502179055507369f82d9d876d275acb22b537919e1554133dde68600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60146101000a81548160ff021916908315150217905550348015620000cb57600080fd5b50620000ec620000e0620007c460201b60201c565b620007cc60201b60201c565b6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060384603620001a8577310ed43c718714eb63d5aa57b78b54704e256024e600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000393565b606146036200020c5773d99d1c33f9fc3444f8101754abc46c52416550d1600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000392565b60014614806200021c5750600446145b80620002285750600346145b156200028957737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000391565b61a86a4603620002ee577360ae616a2155ee3d9a68541ba4544862310933d4600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000390565b60fa4603620003525773f491e7b69e4244ad4002bc14e878a34207e38c29600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200038f565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003869062000acc565b60405180910390fd5b5b5b5b5b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506c0c9f2c9cd04674edea40000000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6c0c9f2c9cd04674edea40000000604051620004a9919062000aff565b60405180910390a3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200051f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000545919062000b86565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005f4919062000b86565b306040518363ffffffff1660e01b81526004016200061492919062000bc9565b6020604051808303816000875af115801562000634573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200065a919062000b86565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200076933600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200089060201b60201c565b620007be30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6200089060201b60201c565b62000c68565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000902576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008f99062000c46565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000974576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200096b9062000c46565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a4082620009fa565b915062000a4d83620009fa565b92508262000a605762000a5f62000a04565b5b828204905092915050565b600082825260208201905092915050565b7f436861696e206e6f742076616c69640000000000000000000000000000000000600082015250565b600062000ab4600f8362000a6b565b915062000ac18262000a7c565b602082019050919050565b6000602082019050818103600083015262000ae78162000aa5565b9050919050565b62000af981620009fa565b82525050565b600060208201905062000b16600083018462000aee565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b4e8262000b21565b9050919050565b62000b608162000b41565b811462000b6c57600080fd5b50565b60008151905062000b808162000b55565b92915050565b60006020828403121562000b9f5762000b9e62000b1c565b5b600062000baf8482850162000b6f565b91505092915050565b62000bc38162000b41565b82525050565b600060408201905062000be0600083018562000bb8565b62000bef602083018462000bb8565b9392505050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b600062000c2e60138362000a6b565b915062000c3b8262000bf6565b602082019050919050565b6000602082019050818103600083015262000c618162000c1f565b9050919050565b6133148062000c786000396000f3fe6080604052600436106101dc5760003560e01c806354de7bee11610102578063c31c9c0711610095578063dd62ed3e11610064578063dd62ed3e14610699578063e9451f5f146106d6578063eb84aa0714610701578063f2fde38b1461072a576101e3565b8063c31c9c07146105f1578063c4ab12b51461061c578063d5914dc014610645578063dc9d75b01461066e576101e3565b80638a8c523c116100d15780638a8c523c146105475780638da5cb5b1461055e57806395d89b4114610589578063a9059cbb146105b4576101e3565b806354de7bee1461049d57806370a08231146104c8578063715018a614610505578063893d20e81461051c576101e3565b806318160ddd1161017a578063313ce56711610149578063313ce567146103f35780633cd17c961461041e5780633eaaf86b14610447578063452ed4f114610472576101e3565b806318160ddd146103235780631dc369451461034e57806323b872dd1461037957806327889862146103b6576101e3565b806306fdde03116101b657806306fdde0314610269578063095ea7b3146102945780630faba554146102d1578063111a60b0146102fa576101e3565b806303fd2a45146101e85780630445b66714610213578063064a59d01461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610753565b60405161020a919061260b565b60405180910390f35b34801561021f57600080fd5b50610228610759565b604051610235919061263f565b60405180910390f35b34801561024a57600080fd5b5061025361075f565b6040516102609190612675565b60405180910390f35b34801561027557600080fd5b5061027e610772565b60405161028b9190612720565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b6919061279f565b6107af565b6040516102c89190612675565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f3919061280b565b6107c6565b005b34801561030657600080fd5b50610321600480360381019061031c919061284b565b61089d565b005b34801561032f57600080fd5b506103386109c2565b604051610345919061263f565b60405180910390f35b34801561035a57600080fd5b506103636109f0565b604051610370919061263f565b60405180910390f35b34801561038557600080fd5b506103a0600480360381019061039b9190612878565b6109f6565b6040516103ad9190612675565b60405180910390f35b3480156103c257600080fd5b506103dd60048036038101906103d891906128cb565b610b43565b6040516103ea9190612675565b60405180910390f35b3480156103ff57600080fd5b50610408610b99565b6040516104159190612914565b60405180910390f35b34801561042a57600080fd5b506104456004803603810190610440919061280b565b610bbb565b005b34801561045357600080fd5b5061045c610e0b565b604051610469919061263f565b60405180910390f35b34801561047e57600080fd5b50610487610e1c565b604051610494919061260b565b60405180910390f35b3480156104a957600080fd5b506104b2610e42565b6040516104bf919061263f565b60405180910390f35b3480156104d457600080fd5b506104ef60048036038101906104ea91906128cb565b610e48565b6040516104fc919061263f565b60405180910390f35b34801561051157600080fd5b5061051a610e91565b005b34801561052857600080fd5b50610531610f19565b60405161053e919061260b565b60405180910390f35b34801561055357600080fd5b5061055c610f28565b005b34801561056a57600080fd5b5061057361103d565b604051610580919061260b565b60405180910390f35b34801561059557600080fd5b5061059e611066565b6040516105ab9190612720565b60405180910390f35b3480156105c057600080fd5b506105db60048036038101906105d6919061279f565b6110a3565b6040516105e89190612675565b60405180910390f35b3480156105fd57600080fd5b506106066110bb565b604051610613919061298e565b60405180910390f35b34801561062857600080fd5b50610643600480360381019061063e91906128cb565b6110e1565b005b34801561065157600080fd5b5061066c600480360381019061066791906128cb565b6111d8565b005b34801561067a57600080fd5b506106836112e6565b604051610690919061263f565b60405180910390f35b3480156106a557600080fd5b506106c060048036038101906106bb91906129a9565b6112ec565b6040516106cd919061263f565b60405180910390f35b3480156106e257600080fd5b506106eb611373565b6040516106f8919061263f565b60405180910390f35b34801561070d57600080fd5b50610728600480360381019061072391906129e9565b611379565b005b34801561073657600080fd5b50610751600480360381019061074c91906128cb565b611492565b005b61dead81565b60075481565b600d60149054906101000a900460ff1681565b60606040518060400160405280600e81526020017f4372656d6174696f6e20436f696e000000000000000000000000000000000000815250905090565b60006107bc338484611589565b6001905092915050565b6107ce6116ed565b73ffffffffffffffffffffffffffffffffffffffff166107ec61103d565b73ffffffffffffffffffffffffffffffffffffffff1614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990612a88565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6108a56116ed565b73ffffffffffffffffffffffffffffffffffffffff166108c361103d565b73ffffffffffffffffffffffffffffffffffffffff1614610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091090612a88565b60405180910390fd5b801515600b60009054906101000a900460ff1615150361096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612af4565b60405180910390fd5b80600b60006101000a81548160ff0219169083151502179055507f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e8816040516109b79190612675565b60405180910390a150565b6000806c0c9f2c9cd04674edea40000000036109dd57600080fd5b6c0c9f2c9cd04674edea40000000905090565b60085481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b2f5781600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b279190612b43565b925050819055505b610b3a8484846116f5565b90509392505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806c0c9f2c9cd04674edea4000000003610bb457600080fd5b6012905090565b610bc36116ed565b73ffffffffffffffffffffffffffffffffffffffff16610be161103d565b73ffffffffffffffffffffffffffffffffffffffff1614610c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2e90612a88565b60405180910390fd5b801515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612bc3565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f7f7f90cb020c1deb8939c26cf0790751e539157b1fd2039166fcd09a8b7645138282604051610dff929190612be3565b60405180910390a15050565b6c0c9f2c9cd04674edea4000000081565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e996116ed565b73ffffffffffffffffffffffffffffffffffffffff16610eb761103d565b73ffffffffffffffffffffffffffffffffffffffff1614610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0490612a88565b60405180910390fd5b610f176000611acf565b565b6000610f2361103d565b905090565b610f306116ed565b73ffffffffffffffffffffffffffffffffffffffff16610f4e61103d565b73ffffffffffffffffffffffffffffffffffffffff1614610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b90612a88565b60405180910390fd5b600d60149054906101000a900460ff1615610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb90612c58565b60405180910390fd5b6001600d60146101000a81548160ff0219169083151502179055507fa0ac5e19ca3a09af9a3a13c5c51f911c89eefd4b9eb548f4766b991b14ad686860405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f4352454d41540000000000000000000000000000000000000000000000000000815250905090565b60006110b03384846116f5565b506001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110e96116ed565b73ffffffffffffffffffffffffffffffffffffffff1661110761103d565b73ffffffffffffffffffffffffffffffffffffffff161461115d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115490612a88565b60405180910390fd5b80600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fb074145dac98cbf04c5e3a6d58501e8e3aa6eb107008ec598af2309ae5179dfe816040516111cd919061260b565b60405180910390a150565b6111e06116ed565b73ffffffffffffffffffffffffffffffffffffffff166111fe61103d565b73ffffffffffffffffffffffffffffffffffffffff1614611254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124b90612a88565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f03b62011431502c791d443ee6149c9ec9b43632aeb5eb55c621104c128fe02f7816040516112db919061260b565b60405180910390a150565b6103e881565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6113816116ed565b73ffffffffffffffffffffffffffffffffffffffff1661139f61103d565b73ffffffffffffffffffffffffffffffffffffffff16146113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec90612a88565b60405180910390fd5b60198183856114049190612c78565b61140e9190612c78565b111561141957600080fd5b600a836114269190612cac565b600881905550600a826114399190612cac565b600981905550600a8161144c9190612cac565b600a819055507ff67712b36ba5cebda9b2e0a5ab574a518324aa8781d4bd184e9ba6ed63dc78b883838360405161148593929190612cee565b60405180910390a1505050565b61149a6116ed565b73ffffffffffffffffffffffffffffffffffffffff166114b861103d565b73ffffffffffffffffffffffffffffffffffffffff161461150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590612a88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361157d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157490612d97565b60405180910390fd5b61158681611acf565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90612e03565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165e90612e03565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600033905090565b60008060019050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612e95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d190612f27565b60405180910390fd5b6000831161181d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181490612fb9565b60405180910390fd5b6118278585611b93565b1561187c57600d60149054906101000a900460ff1661187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613025565b60405180910390fd5b5b6118868585611ded565b801561189f5750600d60159054906101000a900460ff16155b80156118b157506118b08585611e9f565b5b156118d85760006118c130610e48565b905060075481106118d6576118d581611f6a565b5b505b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119795750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561198357600090505b82600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d29190612b43565b925050819055506000816119e65783611a05565b611a04866119f488886123e2565b6119fe8989611ded565b87612494565b5b905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a569190612c78565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aba919061263f565b60405180910390a36001925050509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080611b9e61103d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c0c5750611bdc61103d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c4b5750611c1b61103d565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c8a5750611c5a61103d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ce05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d365750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d70575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611da95750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611de157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b90508091505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611e935750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90508091505092915050565b600080600b60009054906101000a900460ff168015611f085750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f5e5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90508091505092915050565b6001600d60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fa257611fa1613045565b5b604051908082528060200260200182016040528015611fd05781602001602082028036833780820191505090505b5090503081600081518110611fe857611fe7613074565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b391906130b8565b816001815181106120c7576120c6613074565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461228a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ee9594939291906131de565b600060405180830381600087803b15801561230857600080fd5b505af1925050508015612319575060015b61232357506123c4565b6000804711156123c157600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476188b89060405161237790613269565b600060405180830381858888f193505050503d80600081146123b5576040519150601f19603f3d011682016040523d82523d6000602084013e6123ba565b606091505b5050809150505b50505b6000600d60156101000a81548160ff02191690831515021790555050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156124885750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508091505092915050565b60008084156124a75760085490506124be565b83156124b75760095490506124bd565b600a5490505b5b600081036124cf57829150506125c2565b60006103e882856124e09190612cac565b6124ea91906132ad565b905060008111156125b15780600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125449190612c78565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125a8919061263f565b60405180910390a35b80846125bd9190612b43565b925050505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f5826125ca565b9050919050565b612605816125ea565b82525050565b600060208201905061262060008301846125fc565b92915050565b6000819050919050565b61263981612626565b82525050565b60006020820190506126546000830184612630565b92915050565b60008115159050919050565b61266f8161265a565b82525050565b600060208201905061268a6000830184612666565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126ca5780820151818401526020810190506126af565b60008484015250505050565b6000601f19601f8301169050919050565b60006126f282612690565b6126fc818561269b565b935061270c8185602086016126ac565b612715816126d6565b840191505092915050565b6000602082019050818103600083015261273a81846126e7565b905092915050565b600080fd5b612750816125ea565b811461275b57600080fd5b50565b60008135905061276d81612747565b92915050565b61277c81612626565b811461278757600080fd5b50565b60008135905061279981612773565b92915050565b600080604083850312156127b6576127b5612742565b5b60006127c48582860161275e565b92505060206127d58582860161278a565b9150509250929050565b6127e88161265a565b81146127f357600080fd5b50565b600081359050612805816127df565b92915050565b6000806040838503121561282257612821612742565b5b60006128308582860161275e565b9250506020612841858286016127f6565b9150509250929050565b60006020828403121561286157612860612742565b5b600061286f848285016127f6565b91505092915050565b60008060006060848603121561289157612890612742565b5b600061289f8682870161275e565b93505060206128b08682870161275e565b92505060406128c18682870161278a565b9150509250925092565b6000602082840312156128e1576128e0612742565b5b60006128ef8482850161275e565b91505092915050565b600060ff82169050919050565b61290e816128f8565b82525050565b60006020820190506129296000830184612905565b92915050565b6000819050919050565b600061295461294f61294a846125ca565b61292f565b6125ca565b9050919050565b600061296682612939565b9050919050565b60006129788261295b565b9050919050565b6129888161296d565b82525050565b60006020820190506129a3600083018461297f565b92915050565b600080604083850312156129c0576129bf612742565b5b60006129ce8582860161275e565b92505060206129df8582860161275e565b9150509250929050565b600080600060608486031215612a0257612a01612742565b5b6000612a108682870161278a565b9350506020612a218682870161278a565b9250506040612a328682870161278a565b9150509250925092565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612a7260208361269b565b9150612a7d82612a3c565b602082019050919050565b60006020820190508181036000830152612aa181612a65565b9050919050565b7f426f6f6c206973207468652073616d6500000000000000000000000000000000600082015250565b6000612ade60108361269b565b9150612ae982612aa8565b602082019050919050565b60006020820190508181036000830152612b0d81612ad1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b4e82612626565b9150612b5983612626565b9250828203905081811115612b7157612b70612b14565b5b92915050565b7f53616d6520626f6f6c0000000000000000000000000000000000000000000000600082015250565b6000612bad60098361269b565b9150612bb882612b77565b602082019050919050565b60006020820190508181036000830152612bdc81612ba0565b9050919050565b6000604082019050612bf860008301856125fc565b612c056020830184612666565b9392505050565b7f54726164696e6720616c726561647920656e61626c6564000000000000000000600082015250565b6000612c4260178361269b565b9150612c4d82612c0c565b602082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b6000612c8382612626565b9150612c8e83612626565b9250828201905080821115612ca657612ca5612b14565b5b92915050565b6000612cb782612626565b9150612cc283612626565b9250828202612cd081612626565b91508282048414831517612ce757612ce6612b14565b5b5092915050565b6000606082019050612d036000830186612630565b612d106020830185612630565b612d1d6040830184612630565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d8160268361269b565b9150612d8c82612d25565b604082019050919050565b60006020820190508181036000830152612db081612d74565b9050919050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b6000612ded60138361269b565b9150612df882612db7565b602082019050919050565b60006020820190508181036000830152612e1c81612de0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e7f60238361269b565b9150612e8a82612e23565b604082019050919050565b60006020820190508181036000830152612eae81612e72565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f1160258361269b565b9150612f1c82612eb5565b604082019050919050565b60006020820190508181036000830152612f4081612f04565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fa360298361269b565b9150612fae82612f47565b604082019050919050565b60006020820190508181036000830152612fd281612f96565b9050919050565b7f54726164696e67206973206e6f7420656e61626c656400000000000000000000600082015250565b600061300f60168361269b565b915061301a82612fd9565b602082019050919050565b6000602082019050818103600083015261303e81613002565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506130b281612747565b92915050565b6000602082840312156130ce576130cd612742565b5b60006130dc848285016130a3565b91505092915050565b6000819050919050565b600061310a613105613100846130e5565b61292f565b612626565b9050919050565b61311a816130ef565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613155816125ea565b82525050565b6000613167838361314c565b60208301905092915050565b6000602082019050919050565b600061318b82613120565b613195818561312b565b93506131a08361313c565b8060005b838110156131d15781516131b8888261315b565b97506131c383613173565b9250506001810190506131a4565b5085935050505092915050565b600060a0820190506131f36000830188612630565b6132006020830187613111565b81810360408301526132128186613180565b905061322160608301856125fc565b61322e6080830184612630565b9695505050505050565b600081905092915050565b50565b6000613253600083613238565b915061325e82613243565b600082019050919050565b600061327482613246565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006132b882612626565b91506132c383612626565b9250826132d3576132d261327e565b5b82820490509291505056fea26469706673582212200f2e7e596eb33b7de2caa8ebdeb99d8962645fe7dd5e017dff3dd225846e1b4164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806354de7bee11610102578063c31c9c0711610095578063dd62ed3e11610064578063dd62ed3e14610699578063e9451f5f146106d6578063eb84aa0714610701578063f2fde38b1461072a576101e3565b8063c31c9c07146105f1578063c4ab12b51461061c578063d5914dc014610645578063dc9d75b01461066e576101e3565b80638a8c523c116100d15780638a8c523c146105475780638da5cb5b1461055e57806395d89b4114610589578063a9059cbb146105b4576101e3565b806354de7bee1461049d57806370a08231146104c8578063715018a614610505578063893d20e81461051c576101e3565b806318160ddd1161017a578063313ce56711610149578063313ce567146103f35780633cd17c961461041e5780633eaaf86b14610447578063452ed4f114610472576101e3565b806318160ddd146103235780631dc369451461034e57806323b872dd1461037957806327889862146103b6576101e3565b806306fdde03116101b657806306fdde0314610269578063095ea7b3146102945780630faba554146102d1578063111a60b0146102fa576101e3565b806303fd2a45146101e85780630445b66714610213578063064a59d01461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610753565b60405161020a919061260b565b60405180910390f35b34801561021f57600080fd5b50610228610759565b604051610235919061263f565b60405180910390f35b34801561024a57600080fd5b5061025361075f565b6040516102609190612675565b60405180910390f35b34801561027557600080fd5b5061027e610772565b60405161028b9190612720565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b6919061279f565b6107af565b6040516102c89190612675565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f3919061280b565b6107c6565b005b34801561030657600080fd5b50610321600480360381019061031c919061284b565b61089d565b005b34801561032f57600080fd5b506103386109c2565b604051610345919061263f565b60405180910390f35b34801561035a57600080fd5b506103636109f0565b604051610370919061263f565b60405180910390f35b34801561038557600080fd5b506103a0600480360381019061039b9190612878565b6109f6565b6040516103ad9190612675565b60405180910390f35b3480156103c257600080fd5b506103dd60048036038101906103d891906128cb565b610b43565b6040516103ea9190612675565b60405180910390f35b3480156103ff57600080fd5b50610408610b99565b6040516104159190612914565b60405180910390f35b34801561042a57600080fd5b506104456004803603810190610440919061280b565b610bbb565b005b34801561045357600080fd5b5061045c610e0b565b604051610469919061263f565b60405180910390f35b34801561047e57600080fd5b50610487610e1c565b604051610494919061260b565b60405180910390f35b3480156104a957600080fd5b506104b2610e42565b6040516104bf919061263f565b60405180910390f35b3480156104d457600080fd5b506104ef60048036038101906104ea91906128cb565b610e48565b6040516104fc919061263f565b60405180910390f35b34801561051157600080fd5b5061051a610e91565b005b34801561052857600080fd5b50610531610f19565b60405161053e919061260b565b60405180910390f35b34801561055357600080fd5b5061055c610f28565b005b34801561056a57600080fd5b5061057361103d565b604051610580919061260b565b60405180910390f35b34801561059557600080fd5b5061059e611066565b6040516105ab9190612720565b60405180910390f35b3480156105c057600080fd5b506105db60048036038101906105d6919061279f565b6110a3565b6040516105e89190612675565b60405180910390f35b3480156105fd57600080fd5b506106066110bb565b604051610613919061298e565b60405180910390f35b34801561062857600080fd5b50610643600480360381019061063e91906128cb565b6110e1565b005b34801561065157600080fd5b5061066c600480360381019061066791906128cb565b6111d8565b005b34801561067a57600080fd5b506106836112e6565b604051610690919061263f565b60405180910390f35b3480156106a557600080fd5b506106c060048036038101906106bb91906129a9565b6112ec565b6040516106cd919061263f565b60405180910390f35b3480156106e257600080fd5b506106eb611373565b6040516106f8919061263f565b60405180910390f35b34801561070d57600080fd5b50610728600480360381019061072391906129e9565b611379565b005b34801561073657600080fd5b50610751600480360381019061074c91906128cb565b611492565b005b61dead81565b60075481565b600d60149054906101000a900460ff1681565b60606040518060400160405280600e81526020017f4372656d6174696f6e20436f696e000000000000000000000000000000000000815250905090565b60006107bc338484611589565b6001905092915050565b6107ce6116ed565b73ffffffffffffffffffffffffffffffffffffffff166107ec61103d565b73ffffffffffffffffffffffffffffffffffffffff1614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990612a88565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6108a56116ed565b73ffffffffffffffffffffffffffffffffffffffff166108c361103d565b73ffffffffffffffffffffffffffffffffffffffff1614610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091090612a88565b60405180910390fd5b801515600b60009054906101000a900460ff1615150361096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612af4565b60405180910390fd5b80600b60006101000a81548160ff0219169083151502179055507f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e8816040516109b79190612675565b60405180910390a150565b6000806c0c9f2c9cd04674edea40000000036109dd57600080fd5b6c0c9f2c9cd04674edea40000000905090565b60085481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b2f5781600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b279190612b43565b925050819055505b610b3a8484846116f5565b90509392505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806c0c9f2c9cd04674edea4000000003610bb457600080fd5b6012905090565b610bc36116ed565b73ffffffffffffffffffffffffffffffffffffffff16610be161103d565b73ffffffffffffffffffffffffffffffffffffffff1614610c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2e90612a88565b60405180910390fd5b801515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612bc3565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f7f7f90cb020c1deb8939c26cf0790751e539157b1fd2039166fcd09a8b7645138282604051610dff929190612be3565b60405180910390a15050565b6c0c9f2c9cd04674edea4000000081565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e996116ed565b73ffffffffffffffffffffffffffffffffffffffff16610eb761103d565b73ffffffffffffffffffffffffffffffffffffffff1614610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0490612a88565b60405180910390fd5b610f176000611acf565b565b6000610f2361103d565b905090565b610f306116ed565b73ffffffffffffffffffffffffffffffffffffffff16610f4e61103d565b73ffffffffffffffffffffffffffffffffffffffff1614610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b90612a88565b60405180910390fd5b600d60149054906101000a900460ff1615610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb90612c58565b60405180910390fd5b6001600d60146101000a81548160ff0219169083151502179055507fa0ac5e19ca3a09af9a3a13c5c51f911c89eefd4b9eb548f4766b991b14ad686860405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f4352454d41540000000000000000000000000000000000000000000000000000815250905090565b60006110b03384846116f5565b506001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110e96116ed565b73ffffffffffffffffffffffffffffffffffffffff1661110761103d565b73ffffffffffffffffffffffffffffffffffffffff161461115d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115490612a88565b60405180910390fd5b80600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fb074145dac98cbf04c5e3a6d58501e8e3aa6eb107008ec598af2309ae5179dfe816040516111cd919061260b565b60405180910390a150565b6111e06116ed565b73ffffffffffffffffffffffffffffffffffffffff166111fe61103d565b73ffffffffffffffffffffffffffffffffffffffff1614611254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124b90612a88565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f03b62011431502c791d443ee6149c9ec9b43632aeb5eb55c621104c128fe02f7816040516112db919061260b565b60405180910390a150565b6103e881565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b6113816116ed565b73ffffffffffffffffffffffffffffffffffffffff1661139f61103d565b73ffffffffffffffffffffffffffffffffffffffff16146113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec90612a88565b60405180910390fd5b60198183856114049190612c78565b61140e9190612c78565b111561141957600080fd5b600a836114269190612cac565b600881905550600a826114399190612cac565b600981905550600a8161144c9190612cac565b600a819055507ff67712b36ba5cebda9b2e0a5ab574a518324aa8781d4bd184e9ba6ed63dc78b883838360405161148593929190612cee565b60405180910390a1505050565b61149a6116ed565b73ffffffffffffffffffffffffffffffffffffffff166114b861103d565b73ffffffffffffffffffffffffffffffffffffffff161461150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590612a88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361157d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157490612d97565b60405180910390fd5b61158681611acf565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90612e03565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165e90612e03565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600033905090565b60008060019050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612e95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d190612f27565b60405180910390fd5b6000831161181d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181490612fb9565b60405180910390fd5b6118278585611b93565b1561187c57600d60149054906101000a900460ff1661187b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187290613025565b60405180910390fd5b5b6118868585611ded565b801561189f5750600d60159054906101000a900460ff16155b80156118b157506118b08585611e9f565b5b156118d85760006118c130610e48565b905060075481106118d6576118d581611f6a565b5b505b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119795750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561198357600090505b82600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d29190612b43565b925050819055506000816119e65783611a05565b611a04866119f488886123e2565b6119fe8989611ded565b87612494565b5b905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a569190612c78565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611aba919061263f565b60405180910390a36001925050509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080611b9e61103d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c0c5750611bdc61103d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c4b5750611c1b61103d565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c8a5750611c5a61103d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ce05750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d365750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d70575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611da95750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611de157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b90508091505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611e935750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90508091505092915050565b600080600b60009054906101000a900460ff168015611f085750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f5e5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90508091505092915050565b6001600d60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fa257611fa1613045565b5b604051908082528060200260200182016040528015611fd05781602001602082028036833780820191505090505b5090503081600081518110611fe857611fe7613074565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561208f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b391906130b8565b816001815181106120c7576120c6613074565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461228a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ee9594939291906131de565b600060405180830381600087803b15801561230857600080fd5b505af1925050508015612319575060015b61232357506123c4565b6000804711156123c157600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476188b89060405161237790613269565b600060405180830381858888f193505050503d80600081146123b5576040519150601f19603f3d011682016040523d82523d6000602084013e6123ba565b606091505b5050809150505b50505b6000600d60156101000a81548160ff02191690831515021790555050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156124885750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508091505092915050565b60008084156124a75760085490506124be565b83156124b75760095490506124bd565b600a5490505b5b600081036124cf57829150506125c2565b60006103e882856124e09190612cac565b6124ea91906132ad565b905060008111156125b15780600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125449190612c78565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125a8919061263f565b60405180910390a35b80846125bd9190612b43565b925050505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f5826125ca565b9050919050565b612605816125ea565b82525050565b600060208201905061262060008301846125fc565b92915050565b6000819050919050565b61263981612626565b82525050565b60006020820190506126546000830184612630565b92915050565b60008115159050919050565b61266f8161265a565b82525050565b600060208201905061268a6000830184612666565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126ca5780820151818401526020810190506126af565b60008484015250505050565b6000601f19601f8301169050919050565b60006126f282612690565b6126fc818561269b565b935061270c8185602086016126ac565b612715816126d6565b840191505092915050565b6000602082019050818103600083015261273a81846126e7565b905092915050565b600080fd5b612750816125ea565b811461275b57600080fd5b50565b60008135905061276d81612747565b92915050565b61277c81612626565b811461278757600080fd5b50565b60008135905061279981612773565b92915050565b600080604083850312156127b6576127b5612742565b5b60006127c48582860161275e565b92505060206127d58582860161278a565b9150509250929050565b6127e88161265a565b81146127f357600080fd5b50565b600081359050612805816127df565b92915050565b6000806040838503121561282257612821612742565b5b60006128308582860161275e565b9250506020612841858286016127f6565b9150509250929050565b60006020828403121561286157612860612742565b5b600061286f848285016127f6565b91505092915050565b60008060006060848603121561289157612890612742565b5b600061289f8682870161275e565b93505060206128b08682870161275e565b92505060406128c18682870161278a565b9150509250925092565b6000602082840312156128e1576128e0612742565b5b60006128ef8482850161275e565b91505092915050565b600060ff82169050919050565b61290e816128f8565b82525050565b60006020820190506129296000830184612905565b92915050565b6000819050919050565b600061295461294f61294a846125ca565b61292f565b6125ca565b9050919050565b600061296682612939565b9050919050565b60006129788261295b565b9050919050565b6129888161296d565b82525050565b60006020820190506129a3600083018461297f565b92915050565b600080604083850312156129c0576129bf612742565b5b60006129ce8582860161275e565b92505060206129df8582860161275e565b9150509250929050565b600080600060608486031215612a0257612a01612742565b5b6000612a108682870161278a565b9350506020612a218682870161278a565b9250506040612a328682870161278a565b9150509250925092565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612a7260208361269b565b9150612a7d82612a3c565b602082019050919050565b60006020820190508181036000830152612aa181612a65565b9050919050565b7f426f6f6c206973207468652073616d6500000000000000000000000000000000600082015250565b6000612ade60108361269b565b9150612ae982612aa8565b602082019050919050565b60006020820190508181036000830152612b0d81612ad1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b4e82612626565b9150612b5983612626565b9250828203905081811115612b7157612b70612b14565b5b92915050565b7f53616d6520626f6f6c0000000000000000000000000000000000000000000000600082015250565b6000612bad60098361269b565b9150612bb882612b77565b602082019050919050565b60006020820190508181036000830152612bdc81612ba0565b9050919050565b6000604082019050612bf860008301856125fc565b612c056020830184612666565b9392505050565b7f54726164696e6720616c726561647920656e61626c6564000000000000000000600082015250565b6000612c4260178361269b565b9150612c4d82612c0c565b602082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b6000612c8382612626565b9150612c8e83612626565b9250828201905080821115612ca657612ca5612b14565b5b92915050565b6000612cb782612626565b9150612cc283612626565b9250828202612cd081612626565b91508282048414831517612ce757612ce6612b14565b5b5092915050565b6000606082019050612d036000830186612630565b612d106020830185612630565b612d1d6040830184612630565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d8160268361269b565b9150612d8c82612d25565b604082019050919050565b60006020820190508181036000830152612db081612d74565b9050919050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b6000612ded60138361269b565b9150612df882612db7565b602082019050919050565b60006020820190508181036000830152612e1c81612de0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e7f60238361269b565b9150612e8a82612e23565b604082019050919050565b60006020820190508181036000830152612eae81612e72565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f1160258361269b565b9150612f1c82612eb5565b604082019050919050565b60006020820190508181036000830152612f4081612f04565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fa360298361269b565b9150612fae82612f47565b604082019050919050565b60006020820190508181036000830152612fd281612f96565b9050919050565b7f54726164696e67206973206e6f7420656e61626c656400000000000000000000600082015250565b600061300f60168361269b565b915061301a82612fd9565b602082019050919050565b6000602082019050818103600083015261303e81613002565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506130b281612747565b92915050565b6000602082840312156130ce576130cd612742565b5b60006130dc848285016130a3565b91505092915050565b6000819050919050565b600061310a613105613100846130e5565b61292f565b612626565b9050919050565b61311a816130ef565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613155816125ea565b82525050565b6000613167838361314c565b60208301905092915050565b6000602082019050919050565b600061318b82613120565b613195818561312b565b93506131a08361313c565b8060005b838110156131d15781516131b8888261315b565b97506131c383613173565b9250506001810190506131a4565b5085935050505092915050565b600060a0820190506131f36000830188612630565b6132006020830187613111565b81810360408301526132128186613180565b905061322160608301856125fc565b61322e6080830184612630565b9695505050505050565b600081905092915050565b50565b6000613253600083613238565b915061325e82613243565b600082019050919050565b600061327482613246565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006132b882612626565b91506132c383612626565b9250826132d3576132d261327e565b5b82820490509291505056fea26469706673582212200f2e7e596eb33b7de2caa8ebdeb99d8962645fe7dd5e017dff3dd225846e1b4164736f6c63430008130033

Deployed Bytecode Sourcemap

4873:9920:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6666:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6052:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6774:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5277:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8780:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9655:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11113:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4933:125;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6183:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9226:306;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9538:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5064:117;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14239:341;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6111:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6746:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6250:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5588:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;850:94;;;;;;;;;;;;;:::i;:::-;;5363:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14592:198;;;;;;;;;;;;;:::i;:::-;;627:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5187:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8603:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6484:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12378:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10968:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6287:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5449:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6216:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13909:318;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;952:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6666:73;6697:42;6666:73;:::o;6052:52::-;;;;:::o;6774:36::-;;;;;;;;;;;;;:::o;5277:80::-;5325:13;5349:5;;;;;;;;;;;;;;;;;5342:12;;5277:80;:::o;8780:161::-;8857:4;8874:37;8883:10;8895:7;8904:6;8874:8;:37::i;:::-;8929:4;8922:11;;8780:161;;;;:::o;9655:116::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9756:7:::1;9738:6;:15;9745:7;9738:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;9655:116:::0;;:::o;11113:196::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11205:5:::1;11190:20;;:11;;;;;;;;;;;:20;;::::0;11182:48:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11255:5;11241:11;;:19;;;;;;;;;;;;;;;;;;11276:25;11295:5;11276:25;;;;;;:::i;:::-;;;;;;;;11113:196:::0;:::o;4933:125::-;4988:7;5019:1;6150:26;5003:17;4999:36;;5024:8;;;4999:36;6150:26;5036:19;;4933:125;:::o;6183:26::-;;;;:::o;9226:306::-;9326:4;9382:17;9347:11;:19;9359:6;9347:19;;;;;;;;;;;;;;;:31;9367:10;9347:31;;;;;;;;;;;;;;;;:52;9343:126;;9451:6;9416:11;:19;9428:6;9416:19;;;;;;;;;;;;;;;:31;9436:10;9416:31;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;9343:126;9488:36;9498:6;9506:9;9517:6;9488:9;:36::i;:::-;9481:43;;9226:306;;;;;:::o;9538:109::-;9600:4;9624:6;:15;9631:7;9624:15;;;;;;;;;;;;;;;;;;;;;;;;;9617:22;;9538:109;;;:::o;5064:117::-;5116:5;5145:1;6150:26;5129:17;5125:36;;5150:8;;;5125:36;6657:2;5162:16;;5064:117;:::o;14239:341::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14366:5:::1;14337:34;;:16;:25;14354:7;14337:25;;;;;;;;;;;;;;;;;;;;;;;;;:34;;::::0;14329:55:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14427:5;14399:16;:25;14416:7;14399:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;14465:5;14447:6;:15;14454:7;14447:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;14509:5;14485:12;:21;14498:7;14485:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;14534:34;14553:7;14562:5;14534:34;;;;;;;:::i;:::-;;;;;;;;14239:341:::0;;:::o;6111:65::-;6150:26;6111:65;:::o;6746:21::-;;;;;;;;;;;;;:::o;6250:30::-;;;;:::o;5588:117::-;5654:7;5681;:16;5689:7;5681:16;;;;;;;;;;;;;;;;5674:23;;5588:117;;;:::o;850:94::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;915:21:::1;933:1;915:9;:21::i;:::-;850:94::o:0;5363:80::-;5415:7;5433;:5;:7::i;:::-;5426:14;;5363:80;:::o;14592:198::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14660:16:::1;;;;;;;;;;;14659:17;14651:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;14738:4;14719:16;;:23;;;;;;;;;;;;;;;;;;14762:16;;;;;;;;;;14592:198::o:0;627:87::-;673:7;700:6;;;;;;;;;;;693:13;;627:87;:::o;5187:84::-;5237:13;5261:7;;;;;;;;;;;;;;;;;5254:14;;5187:84;:::o;8603:165::-;8681:4;8698:40;8708:10;8720:9;8731:6;8698:9;:40::i;:::-;;8756:4;8749:11;;8603:165;;;;:::o;6484:27::-;;;;;;;;;;;;;:::o;12378:158::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12477:9:::1;12450:16;;:37;;;;;;;;;;;;;;;;;;12503:25;12518:9;12503:25;;;;;;:::i;:::-;;;;;;;;12378:158:::0;:::o;10968:137::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11057:4:::1;11037:8;:17;11046:7;11037:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11077:20;11089:7;11077:20;;;;;;:::i;:::-;;;;;;;;10968:137:::0;:::o;6287:47::-;6329:5;6287:47;:::o;5449:133::-;5533:7;5551:11;:19;5563:6;5551:19;;;;;;;;;;;;;;;:28;5571:7;5551:28;;;;;;;;;;;;;;;;5544:35;;5449:133;;;;:::o;6216:27::-;;;;:::o;13909:318::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14046:2:::1;14032:10;14025:4;14019:3;:10;;;;:::i;:::-;:23;;;;:::i;:::-;:29;;14011:38;;;::::0;::::1;;14079:2;14073:3;:8;;;;:::i;:::-;14064:6;:17;;;;14113:2;14106:4;:9;;;;:::i;:::-;14096:7;:19;;;;14157:2;14144:10;:15;;;;:::i;:::-;14130:11;:29;;;;14181:32;14193:3;14197:4;14202:10;14181:32;;;;;;;;:::i;:::-;;;;;;;;13909:318:::0;;;:::o;952:192::-;773:12;:10;:12::i;:::-;762:23;;:7;:5;:7::i;:::-;:23;;;754:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1061:1:::1;1041:22;;:8;:22;;::::0;1033:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1117:19;1127:8;1117:9;:19::i;:::-;952:192:::0;:::o;8953:261::-;9066:1;9048:20;;:6;:20;;;9040:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;9130:1;9111:21;;:7;:21;;;9103:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;9200:6;9169:11;:19;9181:6;9169:19;;;;;;;;;;;;;;;:28;9189:7;9169:28;;;;;;;;;;;;;;;:37;;;;8953:261;;;:::o;147:107::-;192:15;235:10;220:26;;147:107;:::o;11317:1053::-;11397:4;11414:12;11429:4;11414:19;;11466:1;11452:16;;:2;:16;;;11444:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11543:1;11527:18;;:4;:18;;;11519:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11615:1;11606:6;:10;11598:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11679:25;11696:4;11701:2;11679:16;:25::i;:::-;11675:108;;;11729:16;;;;;;;;;;;11721:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11675:108;11800:17;11808:4;11814:2;11800:7;:17::i;:::-;:29;;;;;11823:6;;;;;;;;;;;11822:7;11800:29;:50;;;;;11833:17;11841:4;11847:2;11833:7;:17::i;:::-;11800:50;11797:232;;;11867:28;11898:24;11916:4;11898:9;:24::i;:::-;11867:55;;11964:13;;11940:20;:37;11937:81;;11981:34;11994:20;11981:12;:34::i;:::-;11937:81;11852:177;11797:232;12045:6;:12;12052:4;12045:12;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;12061:6;:10;12068:2;12061:10;;;;;;;;;;;;;;;;;;;;;;;;;12045:26;12041:73;;;12097:5;12087:15;;12041:73;12141:6;12124:7;:13;12132:4;12124:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;12149:22;12175:7;12174:81;;12249:6;12174:81;;;12186:60;12196:4;12202:16;12209:4;12215:2;12202:6;:16::i;:::-;12220:17;12228:4;12234:2;12220:7;:17::i;:::-;12239:6;12186:9;:60::i;:::-;12174:81;12149:106;;12281:14;12266:7;:11;12274:2;12266:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;12317:2;12302:34;;12311:4;12302:34;;;12321:14;12302:34;;;;;;:::i;:::-;;;;;;;;12356:4;12349:11;;;;11317:1053;;;;;:::o;1152:173::-;1208:16;1227:6;;;;;;;;;;;1208:25;;1253:8;1244:6;;:17;;;;;;;;;;;;;;;;;;1308:8;1277:40;;1298:8;1277:40;;;;;;;;;;;;1197:128;1152:173;:::o;9779:449::-;9854:4;9873:14;9897:7;:5;:7::i;:::-;9890:14;;:3;:14;;;;:45;;;;;9928:7;:5;:7::i;:::-;9921:14;;:3;:14;;;;9890:45;:69;;;;;9952:7;:5;:7::i;:::-;9939:20;;:9;:20;;;;9890:69;:181;;;;;10064:7;:5;:7::i;:::-;10050:21;;:10;:21;;;;9890:181;:216;;;;;10089:12;:17;10102:3;10089:17;;;;;;;;;;;;;;;;;;;;;;;;;10088:18;9890:216;:239;;;;;10112:12;:17;10125:3;10112:17;;;;;;;;;;;;;;;;;;;;;;;;;10111:18;9890:239;:254;;;;;6697:42;10133:11;;:3;:11;;;;9890:254;:275;;;;;10163:1;10148:17;;:3;:17;;;;9890:275;:299;;;;;10184:4;10169:20;;:3;:20;;;;9890:299;9873:316;;10211:9;10204:16;;;9779:449;;;;:::o;10405:165::-;10471:4;10489:13;10505:8;:13;10514:3;10505:13;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;;;10523:8;:13;10532:3;10523:13;;;;;;;;;;;;;;;;;;;;;;;;;10522:14;10505:31;10489:47;;10554:8;10547:15;;;10405:165;;;;:::o;10764:196::-;10830:4;10847:12;10862:11;;;;;;;;;;;:37;;;;;10878:16;:21;10895:3;10878:21;;;;;;;;;;;;;;;;;;;;;;;;;10877:22;10862:37;:63;;;;;10904:16;:21;10921:3;10904:21;;;;;;;;;;;;;;;;;;;;;;;;;10903:22;10862:63;10847:78;;10945:7;10938:14;;;10764:196;;;;:::o;13085:814::-;6881:4;6872:6;;:13;;;;;;;;;;;;;;;;;;13178:21:::1;13216:1;13202:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13178:40;;13247:4;13229;13234:1;13229:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13273:10;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13263:4;13268:1;13263:7;;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;::::0;::::1;13358:17;13307:11;:26;13327:4;13307:26;;;;;;;;;;;;;;;:47;13342:10;;;;;;;;;;;13307:47;;;;;;;;;;;;;;;;:68;13303:168;;13442:17;13392:11;:26;13412:4;13392:26;;;;;;;;;;;;;;;:47;13427:10;;;;;;;;;;;13392:47;;;;;;;;;;;;;;;:67;;;;13303:168;13487:10;;;;;;;;;;;:61;;;13563:20;13598:1;13614:4;13641;13661:15;13487:200;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13483:247;;13712:7;;;13483:247;13740:12;13792:1:::0;13768:21:::1;:25;13765:113;;;13809:16;;;;;;;;;;;:21;;13838;13866:5;13809:67;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13796:80;;;;;13765:113;13157:742;;6896:1;6917:5:::0;6908:6;;:14;;;;;;;;;;;;;;;;;;13085:814;:::o;10236:161::-;10301:4;10318:12;10334:8;:13;10343:3;10334:13;;;;;;;;;;;;;;;;;;;;;;;;;10333:14;:31;;;;;10351:8;:13;10360:3;10351:13;;;;;;;;;;;;;;;;;;;;;;;;;10333:31;10318:46;;10382:7;10375:14;;;10236:161;;;;:::o;12546:531::-;12638:7;12658:11;12684:5;12680:84;;;12698:6;;12692:12;;12680:84;;;12716:6;12712:52;;;12731:7;;12725:13;;12712:52;;;12753:11;;12747:17;;12712:52;12680:84;12787:1;12780:3;:8;12776:28;;12798:6;12791:13;;;;;12776:28;12816:17;6329:5;12845:3;12836:6;:12;;;;:::i;:::-;:30;;;;:::i;:::-;12816:50;;12893:1;12881:9;:13;12877:157;;;12939:9;12913:7;:22;12929:4;12913:22;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;12991:4;12968:40;;12977:4;12968:40;;;12998:9;12968:40;;;;;;:::i;:::-;;;;;;;;12877:157;13060:9;13051:6;:18;;;;:::i;:::-;13044:25;;;;12546:531;;;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:77::-;630:7;659:5;648:16;;593:77;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o;1028:90::-;1062:7;1105:5;1098:13;1091:21;1080:32;;1028:90;;;:::o;1124:109::-;1205:21;1220:5;1205:21;:::i;:::-;1200:3;1193:34;1124:109;;:::o;1239:210::-;1326:4;1364:2;1353:9;1349:18;1341:26;;1377:65;1439:1;1428:9;1424:17;1415:6;1377:65;:::i;:::-;1239:210;;;;:::o;1455:99::-;1507:6;1541:5;1535:12;1525:22;;1455:99;;;:::o;1560:169::-;1644:11;1678:6;1673:3;1666:19;1718:4;1713:3;1709:14;1694:29;;1560:169;;;;:::o;1735:246::-;1816:1;1826:113;1840:6;1837:1;1834:13;1826:113;;;1925:1;1920:3;1916:11;1910:18;1906:1;1901:3;1897:11;1890:39;1862:2;1859:1;1855:10;1850:15;;1826:113;;;1973:1;1964:6;1959:3;1955:16;1948:27;1797:184;1735:246;;;:::o;1987:102::-;2028:6;2079:2;2075:7;2070:2;2063:5;2059:14;2055:28;2045:38;;1987:102;;;:::o;2095:377::-;2183:3;2211:39;2244:5;2211:39;:::i;:::-;2266:71;2330:6;2325:3;2266:71;:::i;:::-;2259:78;;2346:65;2404:6;2399:3;2392:4;2385:5;2381:16;2346:65;:::i;:::-;2436:29;2458:6;2436:29;:::i;:::-;2431:3;2427:39;2420:46;;2187:285;2095:377;;;;:::o;2478:313::-;2591:4;2629:2;2618:9;2614:18;2606:26;;2678:9;2672:4;2668:20;2664:1;2653:9;2649:17;2642:47;2706:78;2779:4;2770:6;2706:78;:::i;:::-;2698:86;;2478:313;;;;:::o;2878:117::-;2987:1;2984;2977:12;3124:122;3197:24;3215:5;3197:24;:::i;:::-;3190:5;3187:35;3177:63;;3236:1;3233;3226:12;3177:63;3124:122;:::o;3252:139::-;3298:5;3336:6;3323:20;3314:29;;3352:33;3379:5;3352:33;:::i;:::-;3252:139;;;;:::o;3397:122::-;3470:24;3488:5;3470:24;:::i;:::-;3463:5;3460:35;3450:63;;3509:1;3506;3499:12;3450:63;3397:122;:::o;3525:139::-;3571:5;3609:6;3596:20;3587:29;;3625:33;3652:5;3625:33;:::i;:::-;3525:139;;;;:::o;3670:474::-;3738:6;3746;3795:2;3783:9;3774:7;3770:23;3766:32;3763:119;;;3801:79;;:::i;:::-;3763:119;3921:1;3946:53;3991:7;3982:6;3971:9;3967:22;3946:53;:::i;:::-;3936:63;;3892:117;4048:2;4074:53;4119:7;4110:6;4099:9;4095:22;4074:53;:::i;:::-;4064:63;;4019:118;3670:474;;;;;:::o;4150:116::-;4220:21;4235:5;4220:21;:::i;:::-;4213:5;4210:32;4200:60;;4256:1;4253;4246:12;4200:60;4150:116;:::o;4272:133::-;4315:5;4353:6;4340:20;4331:29;;4369:30;4393:5;4369:30;:::i;:::-;4272:133;;;;:::o;4411:468::-;4476:6;4484;4533:2;4521:9;4512:7;4508:23;4504:32;4501:119;;;4539:79;;:::i;:::-;4501:119;4659:1;4684:53;4729:7;4720:6;4709:9;4705:22;4684:53;:::i;:::-;4674:63;;4630:117;4786:2;4812:50;4854:7;4845:6;4834:9;4830:22;4812:50;:::i;:::-;4802:60;;4757:115;4411:468;;;;;:::o;4885:323::-;4941:6;4990:2;4978:9;4969:7;4965:23;4961:32;4958:119;;;4996:79;;:::i;:::-;4958:119;5116:1;5141:50;5183:7;5174:6;5163:9;5159:22;5141:50;:::i;:::-;5131:60;;5087:114;4885:323;;;;:::o;5214:619::-;5291:6;5299;5307;5356:2;5344:9;5335:7;5331:23;5327:32;5324:119;;;5362:79;;:::i;:::-;5324:119;5482:1;5507:53;5552:7;5543:6;5532:9;5528:22;5507:53;:::i;:::-;5497:63;;5453:117;5609:2;5635:53;5680:7;5671:6;5660:9;5656:22;5635:53;:::i;:::-;5625:63;;5580:118;5737:2;5763:53;5808:7;5799:6;5788:9;5784:22;5763:53;:::i;:::-;5753:63;;5708:118;5214:619;;;;;:::o;5839:329::-;5898:6;5947:2;5935:9;5926:7;5922:23;5918:32;5915:119;;;5953:79;;:::i;:::-;5915:119;6073:1;6098:53;6143:7;6134:6;6123:9;6119:22;6098:53;:::i;:::-;6088:63;;6044:117;5839:329;;;;:::o;6174:86::-;6209:7;6249:4;6242:5;6238:16;6227:27;;6174:86;;;:::o;6266:112::-;6349:22;6365:5;6349:22;:::i;:::-;6344:3;6337:35;6266:112;;:::o;6384:214::-;6473:4;6511:2;6500:9;6496:18;6488:26;;6524:67;6588:1;6577:9;6573:17;6564:6;6524:67;:::i;:::-;6384:214;;;;:::o;6604:60::-;6632:3;6653:5;6646:12;;6604:60;;;:::o;6670:142::-;6720:9;6753:53;6771:34;6780:24;6798:5;6780:24;:::i;:::-;6771:34;:::i;:::-;6753:53;:::i;:::-;6740:66;;6670:142;;;:::o;6818:126::-;6868:9;6901:37;6932:5;6901:37;:::i;:::-;6888:50;;6818:126;;;:::o;6950:143::-;7017:9;7050:37;7081:5;7050:37;:::i;:::-;7037:50;;6950:143;;;:::o;7099:165::-;7203:54;7251:5;7203:54;:::i;:::-;7198:3;7191:67;7099:165;;:::o;7270:256::-;7380:4;7418:2;7407:9;7403:18;7395:26;;7431:88;7516:1;7505:9;7501:17;7492:6;7431:88;:::i;:::-;7270:256;;;;:::o;7532:474::-;7600:6;7608;7657:2;7645:9;7636:7;7632:23;7628:32;7625:119;;;7663:79;;:::i;:::-;7625:119;7783:1;7808:53;7853:7;7844:6;7833:9;7829:22;7808:53;:::i;:::-;7798:63;;7754:117;7910:2;7936:53;7981:7;7972:6;7961:9;7957:22;7936:53;:::i;:::-;7926:63;;7881:118;7532:474;;;;;:::o;8012:619::-;8089:6;8097;8105;8154:2;8142:9;8133:7;8129:23;8125:32;8122:119;;;8160:79;;:::i;:::-;8122:119;8280:1;8305:53;8350:7;8341:6;8330:9;8326:22;8305:53;:::i;:::-;8295:63;;8251:117;8407:2;8433:53;8478:7;8469:6;8458:9;8454:22;8433:53;:::i;:::-;8423:63;;8378:118;8535:2;8561:53;8606:7;8597:6;8586:9;8582:22;8561:53;:::i;:::-;8551:63;;8506:118;8012:619;;;;;:::o;8637:182::-;8777:34;8773:1;8765:6;8761:14;8754:58;8637:182;:::o;8825:366::-;8967:3;8988:67;9052:2;9047:3;8988:67;:::i;:::-;8981:74;;9064:93;9153:3;9064:93;:::i;:::-;9182:2;9177:3;9173:12;9166:19;;8825:366;;;:::o;9197:419::-;9363:4;9401:2;9390:9;9386:18;9378:26;;9450:9;9444:4;9440:20;9436:1;9425:9;9421:17;9414:47;9478:131;9604:4;9478:131;:::i;:::-;9470:139;;9197:419;;;:::o;9622:166::-;9762:18;9758:1;9750:6;9746:14;9739:42;9622:166;:::o;9794:366::-;9936:3;9957:67;10021:2;10016:3;9957:67;:::i;:::-;9950:74;;10033:93;10122:3;10033:93;:::i;:::-;10151:2;10146:3;10142:12;10135:19;;9794:366;;;:::o;10166:419::-;10332:4;10370:2;10359:9;10355:18;10347:26;;10419:9;10413:4;10409:20;10405:1;10394:9;10390:17;10383:47;10447:131;10573:4;10447:131;:::i;:::-;10439:139;;10166:419;;;:::o;10591:180::-;10639:77;10636:1;10629:88;10736:4;10733:1;10726:15;10760:4;10757:1;10750:15;10777:194;10817:4;10837:20;10855:1;10837:20;:::i;:::-;10832:25;;10871:20;10889:1;10871:20;:::i;:::-;10866:25;;10915:1;10912;10908:9;10900:17;;10939:1;10933:4;10930:11;10927:37;;;10944:18;;:::i;:::-;10927:37;10777:194;;;;:::o;10977:159::-;11117:11;11113:1;11105:6;11101:14;11094:35;10977:159;:::o;11142:365::-;11284:3;11305:66;11369:1;11364:3;11305:66;:::i;:::-;11298:73;;11380:93;11469:3;11380:93;:::i;:::-;11498:2;11493:3;11489:12;11482:19;;11142:365;;;:::o;11513:419::-;11679:4;11717:2;11706:9;11702:18;11694:26;;11766:9;11760:4;11756:20;11752:1;11741:9;11737:17;11730:47;11794:131;11920:4;11794:131;:::i;:::-;11786:139;;11513:419;;;:::o;11938:320::-;12053:4;12091:2;12080:9;12076:18;12068:26;;12104:71;12172:1;12161:9;12157:17;12148:6;12104:71;:::i;:::-;12185:66;12247:2;12236:9;12232:18;12223:6;12185:66;:::i;:::-;11938:320;;;;;:::o;12264:173::-;12404:25;12400:1;12392:6;12388:14;12381:49;12264:173;:::o;12443:366::-;12585:3;12606:67;12670:2;12665:3;12606:67;:::i;:::-;12599:74;;12682:93;12771:3;12682:93;:::i;:::-;12800:2;12795:3;12791:12;12784:19;;12443:366;;;:::o;12815:419::-;12981:4;13019:2;13008:9;13004:18;12996:26;;13068:9;13062:4;13058:20;13054:1;13043:9;13039:17;13032:47;13096:131;13222:4;13096:131;:::i;:::-;13088:139;;12815:419;;;:::o;13240:191::-;13280:3;13299:20;13317:1;13299:20;:::i;:::-;13294:25;;13333:20;13351:1;13333:20;:::i;:::-;13328:25;;13376:1;13373;13369:9;13362:16;;13397:3;13394:1;13391:10;13388:36;;;13404:18;;:::i;:::-;13388:36;13240:191;;;;:::o;13437:410::-;13477:7;13500:20;13518:1;13500:20;:::i;:::-;13495:25;;13534:20;13552:1;13534:20;:::i;:::-;13529:25;;13589:1;13586;13582:9;13611:30;13629:11;13611:30;:::i;:::-;13600:41;;13790:1;13781:7;13777:15;13774:1;13771:22;13751:1;13744:9;13724:83;13701:139;;13820:18;;:::i;:::-;13701:139;13485:362;13437:410;;;;:::o;13853:442::-;14002:4;14040:2;14029:9;14025:18;14017:26;;14053:71;14121:1;14110:9;14106:17;14097:6;14053:71;:::i;:::-;14134:72;14202:2;14191:9;14187:18;14178:6;14134:72;:::i;:::-;14216;14284:2;14273:9;14269:18;14260:6;14216:72;:::i;:::-;13853:442;;;;;;:::o;14301:225::-;14441:34;14437:1;14429:6;14425:14;14418:58;14510:8;14505:2;14497:6;14493:15;14486:33;14301:225;:::o;14532:366::-;14674:3;14695:67;14759:2;14754:3;14695:67;:::i;:::-;14688:74;;14771:93;14860:3;14771:93;:::i;:::-;14889:2;14884:3;14880:12;14873:19;;14532:366;;;:::o;14904:419::-;15070:4;15108:2;15097:9;15093:18;15085:26;;15157:9;15151:4;15147:20;15143:1;15132:9;15128:17;15121:47;15185:131;15311:4;15185:131;:::i;:::-;15177:139;;14904:419;;;:::o;15329:169::-;15469:21;15465:1;15457:6;15453:14;15446:45;15329:169;:::o;15504:366::-;15646:3;15667:67;15731:2;15726:3;15667:67;:::i;:::-;15660:74;;15743:93;15832:3;15743:93;:::i;:::-;15861:2;15856:3;15852:12;15845:19;;15504:366;;;:::o;15876:419::-;16042:4;16080:2;16069:9;16065:18;16057:26;;16129:9;16123:4;16119:20;16115:1;16104:9;16100:17;16093:47;16157:131;16283:4;16157:131;:::i;:::-;16149:139;;15876:419;;;:::o;16301:222::-;16441:34;16437:1;16429:6;16425:14;16418:58;16510:5;16505:2;16497:6;16493:15;16486:30;16301:222;:::o;16529:366::-;16671:3;16692:67;16756:2;16751:3;16692:67;:::i;:::-;16685:74;;16768:93;16857:3;16768:93;:::i;:::-;16886:2;16881:3;16877:12;16870:19;;16529:366;;;:::o;16901:419::-;17067:4;17105:2;17094:9;17090:18;17082:26;;17154:9;17148:4;17144:20;17140:1;17129:9;17125:17;17118:47;17182:131;17308:4;17182:131;:::i;:::-;17174:139;;16901:419;;;:::o;17326:224::-;17466:34;17462:1;17454:6;17450:14;17443:58;17535:7;17530:2;17522:6;17518:15;17511:32;17326:224;:::o;17556:366::-;17698:3;17719:67;17783:2;17778:3;17719:67;:::i;:::-;17712:74;;17795:93;17884:3;17795:93;:::i;:::-;17913:2;17908:3;17904:12;17897:19;;17556:366;;;:::o;17928:419::-;18094:4;18132:2;18121:9;18117:18;18109:26;;18181:9;18175:4;18171:20;18167:1;18156:9;18152:17;18145:47;18209:131;18335:4;18209:131;:::i;:::-;18201:139;;17928:419;;;:::o;18353:228::-;18493:34;18489:1;18481:6;18477:14;18470:58;18562:11;18557:2;18549:6;18545:15;18538:36;18353:228;:::o;18587:366::-;18729:3;18750:67;18814:2;18809:3;18750:67;:::i;:::-;18743:74;;18826:93;18915:3;18826:93;:::i;:::-;18944:2;18939:3;18935:12;18928:19;;18587:366;;;:::o;18959:419::-;19125:4;19163:2;19152:9;19148:18;19140:26;;19212:9;19206:4;19202:20;19198:1;19187:9;19183:17;19176:47;19240:131;19366:4;19240:131;:::i;:::-;19232:139;;18959:419;;;:::o;19384:172::-;19524:24;19520:1;19512:6;19508:14;19501:48;19384:172;:::o;19562:366::-;19704:3;19725:67;19789:2;19784:3;19725:67;:::i;:::-;19718:74;;19801:93;19890:3;19801:93;:::i;:::-;19919:2;19914:3;19910:12;19903:19;;19562:366;;;:::o;19934:419::-;20100:4;20138:2;20127:9;20123:18;20115:26;;20187:9;20181:4;20177:20;20173:1;20162:9;20158:17;20151:47;20215:131;20341:4;20215:131;:::i;:::-;20207:139;;19934:419;;;:::o;20359:180::-;20407:77;20404:1;20397:88;20504:4;20501:1;20494:15;20528:4;20525:1;20518:15;20545:180;20593:77;20590:1;20583:88;20690:4;20687:1;20680:15;20714:4;20711:1;20704:15;20731:143;20788:5;20819:6;20813:13;20804:22;;20835:33;20862:5;20835:33;:::i;:::-;20731:143;;;;:::o;20880:351::-;20950:6;20999:2;20987:9;20978:7;20974:23;20970:32;20967:119;;;21005:79;;:::i;:::-;20967:119;21125:1;21150:64;21206:7;21197:6;21186:9;21182:22;21150:64;:::i;:::-;21140:74;;21096:128;20880:351;;;;:::o;21237:85::-;21282:7;21311:5;21300:16;;21237:85;;;:::o;21328:158::-;21386:9;21419:61;21437:42;21446:32;21472:5;21446:32;:::i;:::-;21437:42;:::i;:::-;21419:61;:::i;:::-;21406:74;;21328:158;;;:::o;21492:147::-;21587:45;21626:5;21587:45;:::i;:::-;21582:3;21575:58;21492:147;;:::o;21645:114::-;21712:6;21746:5;21740:12;21730:22;;21645:114;;;:::o;21765:184::-;21864:11;21898:6;21893:3;21886:19;21938:4;21933:3;21929:14;21914:29;;21765:184;;;;:::o;21955:132::-;22022:4;22045:3;22037:11;;22075:4;22070:3;22066:14;22058:22;;21955:132;;;:::o;22093:108::-;22170:24;22188:5;22170:24;:::i;:::-;22165:3;22158:37;22093:108;;:::o;22207:179::-;22276:10;22297:46;22339:3;22331:6;22297:46;:::i;:::-;22375:4;22370:3;22366:14;22352:28;;22207:179;;;;:::o;22392:113::-;22462:4;22494;22489:3;22485:14;22477:22;;22392:113;;;:::o;22541:732::-;22660:3;22689:54;22737:5;22689:54;:::i;:::-;22759:86;22838:6;22833:3;22759:86;:::i;:::-;22752:93;;22869:56;22919:5;22869:56;:::i;:::-;22948:7;22979:1;22964:284;22989:6;22986:1;22983:13;22964:284;;;23065:6;23059:13;23092:63;23151:3;23136:13;23092:63;:::i;:::-;23085:70;;23178:60;23231:6;23178:60;:::i;:::-;23168:70;;23024:224;23011:1;23008;23004:9;22999:14;;22964:284;;;22968:14;23264:3;23257:10;;22665:608;;;22541:732;;;;:::o;23279:831::-;23542:4;23580:3;23569:9;23565:19;23557:27;;23594:71;23662:1;23651:9;23647:17;23638:6;23594:71;:::i;:::-;23675:80;23751:2;23740:9;23736:18;23727:6;23675:80;:::i;:::-;23802:9;23796:4;23792:20;23787:2;23776:9;23772:18;23765:48;23830:108;23933:4;23924:6;23830:108;:::i;:::-;23822:116;;23948:72;24016:2;24005:9;24001:18;23992:6;23948:72;:::i;:::-;24030:73;24098:3;24087:9;24083:19;24074:6;24030:73;:::i;:::-;23279:831;;;;;;;;:::o;24116:147::-;24217:11;24254:3;24239:18;;24116:147;;;;:::o;24269:114::-;;:::o;24389:398::-;24548:3;24569:83;24650:1;24645:3;24569:83;:::i;:::-;24562:90;;24661:93;24750:3;24661:93;:::i;:::-;24779:1;24774:3;24770:11;24763:18;;24389:398;;;:::o;24793:379::-;24977:3;24999:147;25142:3;24999:147;:::i;:::-;24992:154;;25163:3;25156:10;;24793:379;;;:::o;25178:180::-;25226:77;25223:1;25216:88;25323:4;25320:1;25313:15;25347:4;25344:1;25337:15;25364:185;25404:1;25421:20;25439:1;25421:20;:::i;:::-;25416:25;;25455:20;25473:1;25455:20;:::i;:::-;25450:25;;25494:1;25484:35;;25499:18;;:::i;:::-;25484:35;25541:1;25538;25534:9;25529:14;;25364:185;;;;:::o

Swarm Source

ipfs://0f2e7e596eb33b7de2caa8ebdeb99d8962645fe7dd5e017dff3dd225846e1b41

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.