ETH Price: $2,019.04 (-1.50%)

Contract

0x3BCa3Bf7E1B85b79C8Bc1A4b44587eC5b0b4ac04
 

Overview

ETH Balance

0.008204994363714552 ETH

Eth Value

$16.57 (@ $2,019.04/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve245860692026-03-04 19:04:596 days ago1772651099IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000101282.1751321
Approve245300772026-02-24 23:34:4714 days ago1771976087IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000005130.1100667
Approve242525522026-01-17 6:04:5953 days ago1768629899IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.00000520.11177096
Approve242524382026-01-17 5:41:3553 days ago1768628495IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000005250.11297789
Approve239833472025-12-10 15:57:2390 days ago1765382243IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.00010082.16209798
Approve239831432025-12-10 15:16:2390 days ago1765379783IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000100732.16046344
Approve238542062025-11-22 11:31:47109 days ago1763811107IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000027170.58275478
Approve238267072025-11-18 14:51:23112 days ago1763477483IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000079731.71228392
Approve231333392025-08-13 16:31:35209 days ago1755102695IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000137182.9467492
Approve217589542025-02-02 12:53:59401 days ago1738500839IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.000117764.83808169
Transfer164691202023-01-23 11:10:471143 days ago1674472247IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0014781216.0043097
Transfer164691042023-01-23 11:07:351143 days ago1674472055IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0012370913.39460297
Transfer164690912023-01-23 11:04:591143 days ago1674471899IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0012671613.72014098
Transfer164690792023-01-23 11:02:351143 days ago1674471755IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0014368715.55972043
Transfer164690632023-01-23 10:59:231143 days ago1674471563IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0014174315.34922427
Approve164690502023-01-23 10:56:471143 days ago1674471407IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0006624614.22643018
Approve164690372023-01-23 10:54:111143 days ago1674471251IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0006821914.65006044
Manualsend164688752023-01-23 10:21:471143 days ago1674469307IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0004327514.2696717
Transfer164688642023-01-23 10:19:351143 days ago1674469175IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0013862415.41176484
Transfer164688442023-01-23 10:15:351143 days ago1674468935IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0013565815.08210165
Transfer164688342023-01-23 10:13:351143 days ago1674468815IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0013503715.01302902
Transfer164688232023-01-23 10:11:231143 days ago1674468683IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.001327914.76123293
Transfer164687802023-01-23 10:02:471143 days ago1674468167IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0013967615.52665579
Transfer164687712023-01-23 10:00:591143 days ago1674468059IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0013837815.38239774
Transfer164687532023-01-23 9:57:231143 days ago1674467843IN
0x3BCa3Bf7...5b0b4ac04
0 ETH0.0013511515.01968456
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer239831462025-12-10 15:16:5990 days ago1765379819
0x3BCa3Bf7...5b0b4ac04
0.00021892 ETH
Transfer238267092025-11-18 14:51:47112 days ago1763477507
0x3BCa3Bf7...5b0b4ac04
0.00050041 ETH
Transfer231333392025-08-13 16:31:35209 days ago1755102695
0x3BCa3Bf7...5b0b4ac04
0.00050041 ETH
Transfer164690532023-01-23 10:57:231143 days ago1674471443
0x3BCa3Bf7...5b0b4ac04
0.00748565 ETH
Transfer164688752023-01-23 10:21:471143 days ago1674469307
0x3BCa3Bf7...5b0b4ac04
0.03317325 ETH
Transfer164685932023-01-23 9:25:231143 days ago1674465923
0x3BCa3Bf7...5b0b4ac04
0.00389007 ETH
Transfer164685862023-01-23 9:23:591143 days ago1674465839
0x3BCa3Bf7...5b0b4ac04
0.00390605 ETH
Transfer164685722023-01-23 9:21:111143 days ago1674465671
0x3BCa3Bf7...5b0b4ac04
0.0039215 ETH
Transfer164685482023-01-23 9:16:231143 days ago1674465383
0x3BCa3Bf7...5b0b4ac04
0.00393645 ETH
Transfer164685202023-01-23 9:10:471143 days ago1674465047
0x3BCa3Bf7...5b0b4ac04
0.00395093 ETH
Transfer164685092023-01-23 9:08:351143 days ago1674464915
0x3BCa3Bf7...5b0b4ac04
0.00396497 ETH
Transfer164684962023-01-23 9:05:591143 days ago1674464759
0x3BCa3Bf7...5b0b4ac04
0.0039786 ETH
Transfer164684752023-01-23 9:01:471143 days ago1674464507
0x3BCa3Bf7...5b0b4ac04
0.00562464 ETH
Transfer163192522023-01-02 13:01:231163 days ago1672664483
0x3BCa3Bf7...5b0b4ac04
0.05334479 ETH
Transfer163192522023-01-02 13:01:231163 days ago1672664483
0x3BCa3Bf7...5b0b4ac04
0.00411046 ETH
Transfer161295752022-12-07 1:16:231190 days ago1670375783
0x3BCa3Bf7...5b0b4ac04
0.00407925 ETH
Transfer159690582022-11-14 15:05:471212 days ago1668438347
0x3BCa3Bf7...5b0b4ac04
0.00611395 ETH
Transfer158944382022-11-04 5:03:471223 days ago1667538227
0x3BCa3Bf7...5b0b4ac04
0.00425855 ETH
Transfer158902802022-11-03 15:07:111223 days ago1667488031
0x3BCa3Bf7...5b0b4ac04
0.00540131 ETH
Transfer158902052022-11-03 14:52:111223 days ago1667487131
0x3BCa3Bf7...5b0b4ac04
0.00285936 ETH
Transfer158792792022-11-02 2:13:231225 days ago1667355203
0x3BCa3Bf7...5b0b4ac04
0.00526852 ETH
Transfer158740172022-11-01 8:32:591226 days ago1667291579
0x3BCa3Bf7...5b0b4ac04
0.00489366 ETH
Transfer158709712022-10-31 22:18:111226 days ago1667254691
0x3BCa3Bf7...5b0b4ac04
0.0068177 ETH
Transfer158709352022-10-31 22:10:591226 days ago1667254259
0x3BCa3Bf7...5b0b4ac04
0.00478258 ETH
Transfer158709332022-10-31 22:10:351226 days ago1667254235
0x3BCa3Bf7...5b0b4ac04
0.0047594 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WCM

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2022-10-25
*/

/**
World Cup Mascots (WCM) 

https://twitter.com/WorldCupMascots
https://t.me/WorldCupMascots

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract WCM is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "World Cup Mascots";
    string private constant _symbol = "WCM";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 5;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 50;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable private _developmentAddress = payable(0x88e377E8e09F858aEc29C75CF38426C693e75De4);
    address payable private _marketingAddress = payable(0x88e377E8e09F858aEc29C75CF38426C693e75De4);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 5000000 * 10**9;
    uint256 public _maxWalletSize = 25000000 * 10**9;
    uint256 public _swapTokensAtAmount = 500000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

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

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _swapTokensAtAmount*10)
            {
                contractTokenBalance = _swapTokensAtAmount*10;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 50000000000000000) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function manualsend() external {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
        require (_redisFeeOnBuy+_redisFeeOnSell+_taxFeeOnBuy+_taxFeeOnSell <= 25);
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
        require (_maxTxAmount >= _tTotal/100);
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
        require (_maxWalletSize >= _tTotal/100);
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a76400006000196200039b565b6200002890600019620003be565b600655600060088190556005600955600a8190556032600b819055600c829055600d819055600e91909155600f55601280547388e377e8e09f858aec29c75cf38426c693e75de46001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b1790556611c37937e080006016556658d15e176280006017556601c6bf52634000601855348015620000d157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018a57600080fd5b505afa1580156200019f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c59190620003e4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020e57600080fd5b505afa15801562000223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002499190620003e4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200029257600080fd5b505af1158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620003e4565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200038c91815260200190565b60405180910390a35062000416565b600082620003b957634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003df57634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003f757600080fd5b81516001600160a01b03811681146200040f57600080fd5b9392505050565b611d7b80620004266000396000f3fe6080604052600436106101ba5760003560e01c806374010ece116100ec578063a2a957bb1161008a578063c492f04611610064578063c492f04614610510578063dd62ed3e14610530578063ea1644d514610576578063f2fde38b1461059657600080fd5b8063a2a957bb146104a0578063a9059cbb146104c0578063bfd79284146104e057600080fd5b80638da5cb5b116100c65780638da5cb5b146104205780638f9a55c01461043e57806395d89b411461045457806398a5c3151461048057600080fd5b806374010ece146103bd5780637d1db4a5146103dd5780637f2feddc146103f357600080fd5b8063313ce567116101595780636d8aa8f8116101335780636d8aa8f8146103535780636fc3eaec1461037357806370a0823114610388578063715018a6146103a857600080fd5b8063313ce567146102f757806349bd5a5e146103135780636b9990531461033357600080fd5b80631694505e116101955780631694505e1461026457806318160ddd1461029c57806323b872dd146102c15780632fd689e3146102e157600080fd5b8062b8cf2a146101c657806306fdde03146101e8578063095ea7b31461023457600080fd5b366101c157005b600080fd5b3480156101d257600080fd5b506101e66101e13660046118cc565b6105b6565b005b3480156101f457600080fd5b50604080518082019091526011815270576f726c6420437570204d6173636f747360781b60208201525b60405161022b9190611991565b60405180910390f35b34801561024057600080fd5b5061025461024f3660046119e6565b610655565b604051901515815260200161022b565b34801561027057600080fd5b50601454610284906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102a857600080fd5b50670de0b6b3a76400005b60405190815260200161022b565b3480156102cd57600080fd5b506102546102dc366004611a12565b61066c565b3480156102ed57600080fd5b506102b360185481565b34801561030357600080fd5b506040516009815260200161022b565b34801561031f57600080fd5b50601554610284906001600160a01b031681565b34801561033f57600080fd5b506101e661034e366004611a53565b6106d5565b34801561035f57600080fd5b506101e661036e366004611a80565b610720565b34801561037f57600080fd5b506101e6610768565b34801561039457600080fd5b506102b36103a3366004611a53565b610775565b3480156103b457600080fd5b506101e6610797565b3480156103c957600080fd5b506101e66103d8366004611a9b565b61080b565b3480156103e957600080fd5b506102b360165481565b3480156103ff57600080fd5b506102b361040e366004611a53565b60116020526000908152604090205481565b34801561042c57600080fd5b506000546001600160a01b0316610284565b34801561044a57600080fd5b506102b360175481565b34801561046057600080fd5b5060408051808201909152600381526257434d60e81b602082015261021e565b34801561048c57600080fd5b506101e661049b366004611a9b565b61085b565b3480156104ac57600080fd5b506101e66104bb366004611ab4565b61088a565b3480156104cc57600080fd5b506102546104db3660046119e6565b6108fb565b3480156104ec57600080fd5b506102546104fb366004611a53565b60106020526000908152604090205460ff1681565b34801561051c57600080fd5b506101e661052b366004611ae6565b610908565b34801561053c57600080fd5b506102b361054b366004611b6a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058257600080fd5b506101e6610591366004611a9b565b6109a3565b3480156105a257600080fd5b506101e66105b1366004611a53565b6109f3565b6000546001600160a01b031633146105e95760405162461bcd60e51b81526004016105e090611ba3565b60405180910390fd5b60005b81518110156106515760016010600084848151811061060d5761060d611bd8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061064981611c04565b9150506105ec565b5050565b6000610662338484610add565b5060015b92915050565b6000610679848484610c01565b6106cb84336106c685604051806060016040528060288152602001611d1e602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061115a565b610add565b5060019392505050565b6000546001600160a01b031633146106ff5760405162461bcd60e51b81526004016105e090611ba3565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461074a5760405162461bcd60e51b81526004016105e090611ba3565b60158054911515600160b01b0260ff60b01b19909216919091179055565b4761077281611194565b50565b6001600160a01b038116600090815260026020526040812054610666906111ce565b6000546001600160a01b031633146107c15760405162461bcd60e51b81526004016105e090611ba3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108355760405162461bcd60e51b81526004016105e090611ba3565b601681905561084d6064670de0b6b3a7640000611c1f565b601654101561077257600080fd5b6000546001600160a01b031633146108855760405162461bcd60e51b81526004016105e090611ba3565b601855565b6000546001600160a01b031633146108b45760405162461bcd60e51b81526004016105e090611ba3565b6008849055600a8390556009829055600b819055601981836108d68688611c41565b6108e09190611c41565b6108ea9190611c41565b11156108f557600080fd5b50505050565b6000610662338484610c01565b6000546001600160a01b031633146109325760405162461bcd60e51b81526004016105e090611ba3565b60005b828110156108f557816005600086868581811061095457610954611bd8565b90506020020160208101906109699190611a53565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061099b81611c04565b915050610935565b6000546001600160a01b031633146109cd5760405162461bcd60e51b81526004016105e090611ba3565b60178190556109e56064670de0b6b3a7640000611c1f565b601754101561077257600080fd5b6000546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016105e090611ba3565b6001600160a01b038116610a825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e0565b6001600160a01b038216610ba05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e0565b6001600160a01b038216610cc75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e0565b60008111610d295760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e0565b6000546001600160a01b03848116911614801590610d5557506000546001600160a01b03838116911614155b1561105357601554600160a01b900460ff16610dee576000546001600160a01b03848116911614610dee5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e0565b601654811115610e405760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e0565b6001600160a01b03831660009081526010602052604090205460ff16158015610e8257506001600160a01b03821660009081526010602052604090205460ff16155b610eda5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e0565b6015546001600160a01b03838116911614610f5f5760175481610efc84610775565b610f069190611c41565b10610f5f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e0565b6000610f6a30610775565b6018549091508082101590610f8090600a611c59565b8210610f9757601854610f9490600a611c59565b91505b808015610fae5750601554600160a81b900460ff16155b8015610fc857506015546001600160a01b03868116911614155b8015610fdd5750601554600160b01b900460ff165b801561100257506001600160a01b03851660009081526005602052604090205460ff16155b801561102757506001600160a01b03841660009081526005602052604090205460ff16155b156110505761103582611252565b4766b1a2bc2ec5000081111561104e5761104e47611194565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061109557506001600160a01b03831660009081526005602052604090205460ff165b806110c757506015546001600160a01b038581169116148015906110c757506015546001600160a01b03848116911614155b156110d45750600061114e565b6015546001600160a01b0385811691161480156110ff57506014546001600160a01b03848116911614155b1561111157600854600c55600954600d555b6015546001600160a01b03848116911614801561113c57506014546001600160a01b03858116911614155b1561114e57600a54600c55600b54600d555b6108f5848484846113db565b6000818484111561117e5760405162461bcd60e51b81526004016105e09190611991565b50600061118b8486611c78565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610651573d6000803e3d6000fd5b60006006548211156112355760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e0565b600061123f611409565b905061124b838261142c565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061129a5761129a611bd8565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112ee57600080fd5b505afa158015611302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113269190611c8f565b8160018151811061133957611339611bd8565b6001600160a01b03928316602091820292909201015260145461135f9130911684610add565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611398908590600090869030904290600401611cac565b600060405180830381600087803b1580156113b257600080fd5b505af11580156113c6573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806113e8576113e861146e565b6113f384848461149c565b806108f5576108f5600e54600c55600f54600d55565b6000806000611416611593565b9092509050611425828261142c565b9250505090565b600061124b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115d3565b600c5415801561147e5750600d54155b1561148557565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806114ae87611601565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114e0908761165e565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461150f90866116a0565b6001600160a01b038916600090815260026020526040902055611531816116ff565b61153b8483611749565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161158091815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006115ae828261142c565b8210156115ca57505060065492670de0b6b3a764000092509050565b90939092509050565b600081836115f45760405162461bcd60e51b81526004016105e09190611991565b50600061118b8486611c1f565b600080600080600080600080600061161e8a600c54600d5461176d565b925092509250600061162e611409565b905060008060006116418e8787876117c2565b919e509c509a509598509396509194505050505091939550919395565b600061124b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115a565b6000806116ad8385611c41565b90508381101561124b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e0565b6000611709611409565b905060006117178383611812565b3060009081526002602052604090205490915061173490826116a0565b30600090815260026020526040902055505050565b600654611756908361165e565b60065560075461176690826116a0565b6007555050565b600080808061178760646117818989611812565b9061142c565b9050600061179a60646117818a89611812565b905060006117b2826117ac8b8661165e565b9061165e565b9992985090965090945050505050565b60008080806117d18886611812565b905060006117df8887611812565b905060006117ed8888611812565b905060006117ff826117ac868661165e565b939b939a50919850919650505050505050565b60008261182157506000610666565b600061182d8385611c59565b90508261183a8583611c1f565b1461124b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e0565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461077257600080fd5b80356118c7816118a7565b919050565b600060208083850312156118df57600080fd5b823567ffffffffffffffff808211156118f757600080fd5b818501915085601f83011261190b57600080fd5b81358181111561191d5761191d611891565b8060051b604051601f19603f8301168101818110858211171561194257611942611891565b60405291825284820192508381018501918883111561196057600080fd5b938501935b8285101561198557611976856118bc565b84529385019392850192611965565b98975050505050505050565b600060208083528351808285015260005b818110156119be578581018301518582016040015282016119a2565b818111156119d0576000604083870101525b50601f01601f1916929092016040019392505050565b600080604083850312156119f957600080fd5b8235611a04816118a7565b946020939093013593505050565b600080600060608486031215611a2757600080fd5b8335611a32816118a7565b92506020840135611a42816118a7565b929592945050506040919091013590565b600060208284031215611a6557600080fd5b813561124b816118a7565b803580151581146118c757600080fd5b600060208284031215611a9257600080fd5b61124b82611a70565b600060208284031215611aad57600080fd5b5035919050565b60008060008060808587031215611aca57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611afb57600080fd5b833567ffffffffffffffff80821115611b1357600080fd5b818601915086601f830112611b2757600080fd5b813581811115611b3657600080fd5b8760208260051b8501011115611b4b57600080fd5b602092830195509350611b619186019050611a70565b90509250925092565b60008060408385031215611b7d57600080fd5b8235611b88816118a7565b91506020830135611b98816118a7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611c1857611c18611bee565b5060010190565b600082611c3c57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611c5457611c54611bee565b500190565b6000816000190483118215151615611c7357611c73611bee565b500290565b600082821015611c8a57611c8a611bee565b500390565b600060208284031215611ca157600080fd5b815161124b816118a7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cfc5784516001600160a01b031683529383019391830191600101611cd7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b7bd480d5e685209efaeee4a2901009a48d27cb4e262153e52548b9f000d050864736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101ba5760003560e01c806374010ece116100ec578063a2a957bb1161008a578063c492f04611610064578063c492f04614610510578063dd62ed3e14610530578063ea1644d514610576578063f2fde38b1461059657600080fd5b8063a2a957bb146104a0578063a9059cbb146104c0578063bfd79284146104e057600080fd5b80638da5cb5b116100c65780638da5cb5b146104205780638f9a55c01461043e57806395d89b411461045457806398a5c3151461048057600080fd5b806374010ece146103bd5780637d1db4a5146103dd5780637f2feddc146103f357600080fd5b8063313ce567116101595780636d8aa8f8116101335780636d8aa8f8146103535780636fc3eaec1461037357806370a0823114610388578063715018a6146103a857600080fd5b8063313ce567146102f757806349bd5a5e146103135780636b9990531461033357600080fd5b80631694505e116101955780631694505e1461026457806318160ddd1461029c57806323b872dd146102c15780632fd689e3146102e157600080fd5b8062b8cf2a146101c657806306fdde03146101e8578063095ea7b31461023457600080fd5b366101c157005b600080fd5b3480156101d257600080fd5b506101e66101e13660046118cc565b6105b6565b005b3480156101f457600080fd5b50604080518082019091526011815270576f726c6420437570204d6173636f747360781b60208201525b60405161022b9190611991565b60405180910390f35b34801561024057600080fd5b5061025461024f3660046119e6565b610655565b604051901515815260200161022b565b34801561027057600080fd5b50601454610284906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102a857600080fd5b50670de0b6b3a76400005b60405190815260200161022b565b3480156102cd57600080fd5b506102546102dc366004611a12565b61066c565b3480156102ed57600080fd5b506102b360185481565b34801561030357600080fd5b506040516009815260200161022b565b34801561031f57600080fd5b50601554610284906001600160a01b031681565b34801561033f57600080fd5b506101e661034e366004611a53565b6106d5565b34801561035f57600080fd5b506101e661036e366004611a80565b610720565b34801561037f57600080fd5b506101e6610768565b34801561039457600080fd5b506102b36103a3366004611a53565b610775565b3480156103b457600080fd5b506101e6610797565b3480156103c957600080fd5b506101e66103d8366004611a9b565b61080b565b3480156103e957600080fd5b506102b360165481565b3480156103ff57600080fd5b506102b361040e366004611a53565b60116020526000908152604090205481565b34801561042c57600080fd5b506000546001600160a01b0316610284565b34801561044a57600080fd5b506102b360175481565b34801561046057600080fd5b5060408051808201909152600381526257434d60e81b602082015261021e565b34801561048c57600080fd5b506101e661049b366004611a9b565b61085b565b3480156104ac57600080fd5b506101e66104bb366004611ab4565b61088a565b3480156104cc57600080fd5b506102546104db3660046119e6565b6108fb565b3480156104ec57600080fd5b506102546104fb366004611a53565b60106020526000908152604090205460ff1681565b34801561051c57600080fd5b506101e661052b366004611ae6565b610908565b34801561053c57600080fd5b506102b361054b366004611b6a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561058257600080fd5b506101e6610591366004611a9b565b6109a3565b3480156105a257600080fd5b506101e66105b1366004611a53565b6109f3565b6000546001600160a01b031633146105e95760405162461bcd60e51b81526004016105e090611ba3565b60405180910390fd5b60005b81518110156106515760016010600084848151811061060d5761060d611bd8565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061064981611c04565b9150506105ec565b5050565b6000610662338484610add565b5060015b92915050565b6000610679848484610c01565b6106cb84336106c685604051806060016040528060288152602001611d1e602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061115a565b610add565b5060019392505050565b6000546001600160a01b031633146106ff5760405162461bcd60e51b81526004016105e090611ba3565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b0316331461074a5760405162461bcd60e51b81526004016105e090611ba3565b60158054911515600160b01b0260ff60b01b19909216919091179055565b4761077281611194565b50565b6001600160a01b038116600090815260026020526040812054610666906111ce565b6000546001600160a01b031633146107c15760405162461bcd60e51b81526004016105e090611ba3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108355760405162461bcd60e51b81526004016105e090611ba3565b601681905561084d6064670de0b6b3a7640000611c1f565b601654101561077257600080fd5b6000546001600160a01b031633146108855760405162461bcd60e51b81526004016105e090611ba3565b601855565b6000546001600160a01b031633146108b45760405162461bcd60e51b81526004016105e090611ba3565b6008849055600a8390556009829055600b819055601981836108d68688611c41565b6108e09190611c41565b6108ea9190611c41565b11156108f557600080fd5b50505050565b6000610662338484610c01565b6000546001600160a01b031633146109325760405162461bcd60e51b81526004016105e090611ba3565b60005b828110156108f557816005600086868581811061095457610954611bd8565b90506020020160208101906109699190611a53565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061099b81611c04565b915050610935565b6000546001600160a01b031633146109cd5760405162461bcd60e51b81526004016105e090611ba3565b60178190556109e56064670de0b6b3a7640000611c1f565b601754101561077257600080fd5b6000546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016105e090611ba3565b6001600160a01b038116610a825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610b3f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e0565b6001600160a01b038216610ba05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c655760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e0565b6001600160a01b038216610cc75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e0565b60008111610d295760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e0565b6000546001600160a01b03848116911614801590610d5557506000546001600160a01b03838116911614155b1561105357601554600160a01b900460ff16610dee576000546001600160a01b03848116911614610dee5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105e0565b601654811115610e405760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105e0565b6001600160a01b03831660009081526010602052604090205460ff16158015610e8257506001600160a01b03821660009081526010602052604090205460ff16155b610eda5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016105e0565b6015546001600160a01b03838116911614610f5f5760175481610efc84610775565b610f069190611c41565b10610f5f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105e0565b6000610f6a30610775565b6018549091508082101590610f8090600a611c59565b8210610f9757601854610f9490600a611c59565b91505b808015610fae5750601554600160a81b900460ff16155b8015610fc857506015546001600160a01b03868116911614155b8015610fdd5750601554600160b01b900460ff165b801561100257506001600160a01b03851660009081526005602052604090205460ff16155b801561102757506001600160a01b03841660009081526005602052604090205460ff16155b156110505761103582611252565b4766b1a2bc2ec5000081111561104e5761104e47611194565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061109557506001600160a01b03831660009081526005602052604090205460ff165b806110c757506015546001600160a01b038581169116148015906110c757506015546001600160a01b03848116911614155b156110d45750600061114e565b6015546001600160a01b0385811691161480156110ff57506014546001600160a01b03848116911614155b1561111157600854600c55600954600d555b6015546001600160a01b03848116911614801561113c57506014546001600160a01b03858116911614155b1561114e57600a54600c55600b54600d555b6108f5848484846113db565b6000818484111561117e5760405162461bcd60e51b81526004016105e09190611991565b50600061118b8486611c78565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610651573d6000803e3d6000fd5b60006006548211156112355760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105e0565b600061123f611409565b905061124b838261142c565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061129a5761129a611bd8565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112ee57600080fd5b505afa158015611302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113269190611c8f565b8160018151811061133957611339611bd8565b6001600160a01b03928316602091820292909201015260145461135f9130911684610add565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611398908590600090869030904290600401611cac565b600060405180830381600087803b1580156113b257600080fd5b505af11580156113c6573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806113e8576113e861146e565b6113f384848461149c565b806108f5576108f5600e54600c55600f54600d55565b6000806000611416611593565b9092509050611425828261142c565b9250505090565b600061124b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115d3565b600c5415801561147e5750600d54155b1561148557565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806114ae87611601565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114e0908761165e565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461150f90866116a0565b6001600160a01b038916600090815260026020526040902055611531816116ff565b61153b8483611749565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161158091815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006115ae828261142c565b8210156115ca57505060065492670de0b6b3a764000092509050565b90939092509050565b600081836115f45760405162461bcd60e51b81526004016105e09190611991565b50600061118b8486611c1f565b600080600080600080600080600061161e8a600c54600d5461176d565b925092509250600061162e611409565b905060008060006116418e8787876117c2565b919e509c509a509598509396509194505050505091939550919395565b600061124b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115a565b6000806116ad8385611c41565b90508381101561124b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e0565b6000611709611409565b905060006117178383611812565b3060009081526002602052604090205490915061173490826116a0565b30600090815260026020526040902055505050565b600654611756908361165e565b60065560075461176690826116a0565b6007555050565b600080808061178760646117818989611812565b9061142c565b9050600061179a60646117818a89611812565b905060006117b2826117ac8b8661165e565b9061165e565b9992985090965090945050505050565b60008080806117d18886611812565b905060006117df8887611812565b905060006117ed8888611812565b905060006117ff826117ac868661165e565b939b939a50919850919650505050505050565b60008261182157506000610666565b600061182d8385611c59565b90508261183a8583611c1f565b1461124b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e0565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461077257600080fd5b80356118c7816118a7565b919050565b600060208083850312156118df57600080fd5b823567ffffffffffffffff808211156118f757600080fd5b818501915085601f83011261190b57600080fd5b81358181111561191d5761191d611891565b8060051b604051601f19603f8301168101818110858211171561194257611942611891565b60405291825284820192508381018501918883111561196057600080fd5b938501935b8285101561198557611976856118bc565b84529385019392850192611965565b98975050505050505050565b600060208083528351808285015260005b818110156119be578581018301518582016040015282016119a2565b818111156119d0576000604083870101525b50601f01601f1916929092016040019392505050565b600080604083850312156119f957600080fd5b8235611a04816118a7565b946020939093013593505050565b600080600060608486031215611a2757600080fd5b8335611a32816118a7565b92506020840135611a42816118a7565b929592945050506040919091013590565b600060208284031215611a6557600080fd5b813561124b816118a7565b803580151581146118c757600080fd5b600060208284031215611a9257600080fd5b61124b82611a70565b600060208284031215611aad57600080fd5b5035919050565b60008060008060808587031215611aca57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611afb57600080fd5b833567ffffffffffffffff80821115611b1357600080fd5b818601915086601f830112611b2757600080fd5b813581811115611b3657600080fd5b8760208260051b8501011115611b4b57600080fd5b602092830195509350611b619186019050611a70565b90509250925092565b60008060408385031215611b7d57600080fd5b8235611b88816118a7565b91506020830135611b98816118a7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611c1857611c18611bee565b5060010190565b600082611c3c57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611c5457611c54611bee565b500190565b6000816000190483118215151615611c7357611c73611bee565b500290565b600082821015611c8a57611c8a611bee565b500390565b600060208284031215611ca157600080fd5b815161124b816118a7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cfc5784516001600160a01b031683529383019391830191600101611cd7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b7bd480d5e685209efaeee4a2901009a48d27cb4e262153e52548b9f000d050864736f6c63430008090033

Deployed Bytecode Sourcemap

4176:13274:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12441:169;;;;;;;;;;-1:-1:-1;12441:169:0;;;;;:::i;:::-;;:::i;:::-;;6678:83;;;;;;;;;;-1:-1:-1;6748:5:0;;;;;;;;;;;;-1:-1:-1;;;6748:5:0;;;;6678:83;;;;;;;:::i;:::-;;;;;;;;7603:193;;;;;;;;;;-1:-1:-1;7603:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;7603:193:0;2469:187:1;5521:41:0;;;;;;;;;;-1:-1:-1;5521:41:0;;;;-1:-1:-1;;;;;5521:41:0;;;;;;-1:-1:-1;;;;;2851:32:1;;;2833:51;;2821:2;2806:18;5521:41:0;2661:229:1;6955:95:0;;;;;;;;;;-1:-1:-1;4726:18:0;6955:95;;;3041:25:1;;;3029:2;3014:18;6955:95:0;2895:177:1;7804:446:0;;;;;;;;;;-1:-1:-1;7804:446:0;;;;;:::i;:::-;;:::i;5825:51::-;;;;;;;;;;;;;;;;6864:83;;;;;;;;;;-1:-1:-1;6864:83:0;;4400:1;3680:36:1;;3668:2;3653:18;6864:83:0;3538:184:1;5569:28:0;;;;;;;;;;-1:-1:-1;5569:28:0;;;;-1:-1:-1;;;;;5569:28:0;;;12618:92;;;;;;;;;;-1:-1:-1;12618:92:0;;;;;:::i;:::-;;:::i;16734:101::-;;;;;;;;;;-1:-1:-1;16734:101:0;;;;;:::i;:::-;;:::i;12290:143::-;;;;;;;;;;;;;:::i;7058:138::-;;;;;;;;;;-1:-1:-1;7058:138:0;;;;;:::i;:::-;;:::i;1663:148::-;;;;;;;;;;;;;:::i;16874:156::-;;;;;;;;;;-1:-1:-1;16874:156:0;;;;;:::i;:::-;;:::i;5718:45::-;;;;;;;;;;;;;;;;5263:43;;;;;;;;;;-1:-1:-1;5263:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1449:79;;;;;;;;;;-1:-1:-1;1487:7:0;1514:6;-1:-1:-1;;;;;1514:6:0;1449:79;;5770:48;;;;;;;;;;;;;;;;6769:87;;;;;;;;;;-1:-1:-1;6841:7:0;;;;;;;;;;;;-1:-1:-1;;;6841:7:0;;;;6769:87;;16543:139;;;;;;;;;;-1:-1:-1;16543:139:0;;;;;:::i;:::-;;:::i;16116:375::-;;;;;;;;;;-1:-1:-1;16116:375:0;;;;;:::i;:::-;;:::i;7204:199::-;;;;;;;;;;-1:-1:-1;7204:199:0;;;;;:::i;:::-;;:::i;5225:36::-;;;;;;;;;;-1:-1:-1;5225:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17211:234;;;;;;;;;;-1:-1:-1;17211:234:0;;;;;:::i;:::-;;:::i;7411:184::-;;;;;;;;;;-1:-1:-1;7411:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7560:18:0;;;7528:7;7560:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7411:184;17038:165;;;;;;;;;;-1:-1:-1;17038:165:0;;;;;:::i;:::-;;:::i;1819:244::-;;;;;;;;;;-1:-1:-1;1819:244:0;;;;;:::i;:::-;;:::i;12441:169::-;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;;;;;;;;;12517:9:::1;12512:91;12536:5;:12;12532:1;:16;12512:91;;;12587:4;12570;:14;12575:5;12581:1;12575:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12570:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12570:14:0;:21;;-1:-1:-1;;12570:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12550:3;::::1;::::0;::::1;:::i;:::-;;;;12512:91;;;;12441:169:::0;:::o;7603:193::-;7705:4;7727:39;288:10;7750:7;7759:6;7727:8;:39::i;:::-;-1:-1:-1;7784:4:0;7603:193;;;;;:::o;7804:446::-;7936:4;7953:36;7963:6;7971:9;7982:6;7953:9;:36::i;:::-;8000:220;8023:6;288:10;8071:138;8127:6;8071:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8071:19:0;;;;;;:11;:19;;;;;;;;288:10;8071:33;;;;;;;;;;:37;:138::i;:::-;8000:8;:220::i;:::-;-1:-1:-1;8238:4:0;7804:446;;;;;:::o;12618:92::-;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12682:12:0::1;12697:5;12682:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;12682:20:0::1;::::0;;12618:92::o;16734:101::-;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;16801:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;16801:26:0::1;-1:-1:-1::0;;;;16801:26:0;;::::1;::::0;;;::::1;::::0;;16734:101::o;12290:143::-;12361:21;12393:32;12361:21;12393:12;:32::i;:::-;12321:112;12290:143::o;7058:138::-;-1:-1:-1;;;;;7171:16:0;;7124:7;7171:16;;;:7;:16;;;;;;7151:37;;:19;:37::i;1663:148::-;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;1770:1:::1;1754:6:::0;;1733:40:::1;::::0;-1:-1:-1;;;;;1754:6:0;;::::1;::::0;1733:40:::1;::::0;1770:1;;1733:40:::1;1801:1;1784:19:::0;;-1:-1:-1;;;;;;1784:19:0::1;::::0;;1663:148::o;16874:156::-;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;16948:12:::1;:26:::0;;;17010:11:::1;17018:3;4726:18;17010:11;:::i;:::-;16994:12;;:27;;16985:37;;;::::0;::::1;16543:139:::0;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;16634:19:::1;:40:::0;16543:139::o;16116:375::-;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;16250:14:::1;:30:::0;;;16291:15:::1;:32:::0;;;16334:12:::1;:26:::0;;;16371:13:::1;:28:::0;;;16480:2:::1;16387:12:::0;16349:11;16419:30:::1;16309:14:::0;16267:13;16419:30:::1;:::i;:::-;:43;;;;:::i;:::-;:57;;;;:::i;:::-;:63;;16410:73;;;::::0;::::1;;16116:375:::0;;;;:::o;7204:199::-;7309:4;7331:42;288:10;7355:9;7366:6;7331:9;:42::i;17211:234::-;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;17328:9:::1;17324:114;17343:19:::0;;::::1;17324:114;;;17418:8;17384:18;:31;17403:8;;17412:1;17403:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17384:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17384:31:0;:42;;-1:-1:-1;;17384:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17364:3;::::1;::::0;::::1;:::i;:::-;;;;17324:114;;17038:165:::0;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;17115:14:::1;:30:::0;;;17183:11:::1;17191:3;4726:18;17183:11;:::i;:::-;17165:14;;:29;;17156:39;;;::::0;::::1;1819:244:::0;1576:6;;-1:-1:-1;;;;;1576:6:0;288:10;1576:22;1568:67;;;;-1:-1:-1;;;1568:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1908:22:0;::::1;1900:73;;;::::0;-1:-1:-1;;;1900:73:0;;7521:2:1;1900:73:0::1;::::0;::::1;7503:21:1::0;7560:2;7540:18;;;7533:30;7599:34;7579:18;;;7572:62;-1:-1:-1;;;7650:18:1;;;7643:36;7696:19;;1900:73:0::1;7319:402:1::0;1900:73:0::1;2010:6;::::0;;1989:38:::1;::::0;-1:-1:-1;;;;;1989:38:0;;::::1;::::0;2010:6;::::1;::::0;1989:38:::1;::::0;::::1;2038:6;:17:::0;;-1:-1:-1;;;;;;2038:17:0::1;-1:-1:-1::0;;;;;2038:17:0;;;::::1;::::0;;;::::1;::::0;;1819:244::o;8941:369::-;-1:-1:-1;;;;;9068:19:0;;9060:68;;;;-1:-1:-1;;;9060:68:0;;7928:2:1;9060:68:0;;;7910:21:1;7967:2;7947:18;;;7940:30;8006:34;7986:18;;;7979:62;-1:-1:-1;;;8057:18:1;;;8050:34;8101:19;;9060:68:0;7726:400:1;9060:68:0;-1:-1:-1;;;;;9147:21:0;;9139:68;;;;-1:-1:-1;;;9139:68:0;;8333:2:1;9139:68:0;;;8315:21:1;8372:2;8352:18;;;8345:30;8411:34;8391:18;;;8384:62;-1:-1:-1;;;8462:18:1;;;8455:32;8504:19;;9139:68:0;8131:398:1;9139:68:0;-1:-1:-1;;;;;9218:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9270:32;;3041:25:1;;;9270:32:0;;3014:18:1;9270:32:0;;;;;;;8941:369;;;:::o;9318:2366::-;-1:-1:-1;;;;;9440:18:0;;9432:68;;;;-1:-1:-1;;;9432:68:0;;8736:2:1;9432:68:0;;;8718:21:1;8775:2;8755:18;;;8748:30;8814:34;8794:18;;;8787:62;-1:-1:-1;;;8865:18:1;;;8858:35;8910:19;;9432:68:0;8534:401:1;9432:68:0;-1:-1:-1;;;;;9519:16:0;;9511:64;;;;-1:-1:-1;;;9511:64:0;;9142:2:1;9511:64:0;;;9124:21:1;9181:2;9161:18;;;9154:30;9220:34;9200:18;;;9193:62;-1:-1:-1;;;9271:18:1;;;9264:33;9314:19;;9511:64:0;8940:399:1;9511:64:0;9603:1;9594:6;:10;9586:64;;;;-1:-1:-1;;;9586:64:0;;9546:2:1;9586:64:0;;;9528:21:1;9585:2;9565:18;;;9558:30;9624:34;9604:18;;;9597:62;-1:-1:-1;;;9675:18:1;;;9668:39;9724:19;;9586:64:0;9344:405:1;9586:64:0;1487:7;1514:6;-1:-1:-1;;;;;9667:15:0;;;1514:6;;9667:15;;;;:32;;-1:-1:-1;1487:7:0;1514:6;-1:-1:-1;;;;;9686:13:0;;;1514:6;;9686:13;;9667:32;9663:1295;;;9756:11;;-1:-1:-1;;;9756:11:0;;;;9751:144;;1487:7;1514:6;-1:-1:-1;;;;;9796:15:0;;;1514:6;;9796:15;9788:91;;;;-1:-1:-1;;;9788:91:0;;9956:2:1;9788:91:0;;;9938:21:1;9995:2;9975:18;;;9968:30;10034:34;10014:18;;;10007:62;10105:33;10085:18;;;10078:61;10156:19;;9788:91:0;9754:427:1;9788:91:0;9929:12;;9919:6;:22;;9911:63;;;;-1:-1:-1;;;9911:63:0;;10388:2:1;9911:63:0;;;10370:21:1;10427:2;10407:18;;;10400:30;10466;10446:18;;;10439:58;10514:18;;9911:63:0;10186:352:1;9911:63:0;-1:-1:-1;;;;;9998:10:0;;;;;;:4;:10;;;;;;;;9997:11;:24;;;;-1:-1:-1;;;;;;10013:8:0;;;;;;:4;:8;;;;;;;;10012:9;9997:24;9989:72;;;;-1:-1:-1;;;9989:72:0;;10745:2:1;9989:72:0;;;10727:21:1;10784:2;10764:18;;;10757:30;10823:34;10803:18;;;10796:62;-1:-1:-1;;;10874:18:1;;;10867:33;10917:19;;9989:72:0;10543:399:1;9989:72:0;10087:13;;-1:-1:-1;;;;;10081:19:0;;;10087:13;;10081:19;10078:146;;10154:14;;10145:6;10129:13;10139:2;10129:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10121:87;;;;-1:-1:-1;;;10121:87:0;;11149:2:1;10121:87:0;;;11131:21:1;11188:2;11168:18;;;11161:30;11227:34;11207:18;;;11200:62;-1:-1:-1;;;11278:18:1;;;11271:33;11321:19;;10121:87:0;10947:399:1;10121:87:0;10240:28;10271:24;10289:4;10271:9;:24::i;:::-;10349:19;;10240:55;;-1:-1:-1;10325:43:0;;;;;10412:22;;10432:2;10412:22;:::i;:::-;10388:20;:46;10385:144;;10491:19;;:22;;10511:2;10491:22;:::i;:::-;10468:45;;10385:144;10549:7;:18;;;;-1:-1:-1;10561:6:0;;-1:-1:-1;;;10561:6:0;;;;10560:7;10549:18;:43;;;;-1:-1:-1;10579:13:0;;-1:-1:-1;;;;;10571:21:0;;;10579:13;;10571:21;;10549:43;:58;;;;-1:-1:-1;10596:11:0;;-1:-1:-1;;;10596:11:0;;;;10549:58;:87;;;;-1:-1:-1;;;;;;10612:24:0;;;;;;:18;:24;;;;;;;;10611:25;10549:87;:114;;;;-1:-1:-1;;;;;;10641:22:0;;;;;;:18;:22;;;;;;;;10640:23;10549:114;10545:402;;;10684:38;10701:20;10684:16;:38::i;:::-;10770:21;10835:17;10814:38;;10810:122;;;10877:35;10890:21;10877:12;:35::i;:::-;10665:282;10545:402;9701:1257;;9663:1295;-1:-1:-1;;;;;11034:24:0;;10970:12;11034:24;;;:18;:24;;;;;;10985:4;;11034:24;;;:50;;-1:-1:-1;;;;;;11062:22:0;;;;;;:18;:22;;;;;;;;11034:50;11033:102;;;-1:-1:-1;11098:13:0;;-1:-1:-1;;;;;11090:21:0;;;11098:13;;11090:21;;;;:44;;-1:-1:-1;11121:13:0;;-1:-1:-1;;;;;11115:19:0;;;11121:13;;11115:19;;11090:44;11029:594;;;-1:-1:-1;11162:5:0;11029:594;;;11245:13;;-1:-1:-1;;;;;11237:21:0;;;11245:13;;11237:21;:55;;;;-1:-1:-1;11276:15:0;;-1:-1:-1;;;;;11262:30:0;;;11276:15;;11262:30;;11237:55;11234:162;;;11325:14;;11313:9;:26;11368:12;;11358:7;:22;11234:162;11455:13;;-1:-1:-1;;;;;11449:19:0;;;11455:13;;11449:19;:55;;;;-1:-1:-1;11488:15:0;;-1:-1:-1;;;;;11472:32:0;;;11488:15;;11472:32;;11449:55;11445:165;;;11537:15;;11525:9;:27;11581:13;;11571:7;:23;11445:165;11635:41;11650:4;11656:2;11660:6;11668:7;11635:14;:41::i;2427:224::-;2547:7;2583:12;2575:6;;;;2567:29;;;;-1:-1:-1;;;2567:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2607:9:0;2619:5;2623:1;2619;:5;:::i;:::-;2607:17;2427:224;-1:-1:-1;;;;;2427:224:0:o;12183:99::-;12240:17;;:34;;-1:-1:-1;;;;;12240:17:0;;;;:34;;;;;12267:6;;12240:17;:34;:17;:34;12267:6;12240:17;:34;;;;;;;;;;;;;;;;;;;8258:323;8353:7;8411;;8400;:18;;8378:110;;;;-1:-1:-1;;;8378:110:0;;11856:2:1;8378:110:0;;;11838:21:1;11895:2;11875:18;;;11868:30;11934:34;11914:18;;;11907:62;-1:-1:-1;;;11985:18:1;;;11978:40;12035:19;;8378:110:0;11654:406:1;8378:110:0;8499:19;8521:10;:8;:10::i;:::-;8499:32;-1:-1:-1;8549:24:0;:7;8499:32;8549:11;:24::i;:::-;8542:31;8258:323;-1:-1:-1;;;8258:323:0:o;11692:483::-;5970:6;:13;;-1:-1:-1;;;;5970:13:0;-1:-1:-1;;;5970:13:0;;;11794:16:::1;::::0;;11808:1:::1;11794:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11794:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11794:16:0::1;11770:40;;11839:4;11821;11826:1;11821:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11821:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11865:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11865:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11821:7;;11865:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11855:4;11860:1;11855:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11855:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11930:15:::1;::::0;11898:62:::1;::::0;11915:4:::1;::::0;11930:15:::1;11948:11:::0;11898:8:::1;:62::i;:::-;11971:15;::::0;:196:::1;::::0;-1:-1:-1;;;11971:196:0;;-1:-1:-1;;;;;11971:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12052:11;;11971:15:::1;::::0;12094:4;;12121::::1;::::0;12141:15:::1;::::0;11971:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6006:6:0;:14;;-1:-1:-1;;;;6006:14:0;;;-1:-1:-1;;;;11692:483:0:o;12718:282::-;12874:7;12869:28;;12883:14;:12;:14::i;:::-;12908:44;12926:6;12934:9;12945:6;12908:17;:44::i;:::-;12968:7;12963:29;;12977:15;8872:17;;8860:9;:29;8910:15;;8900:7;:25;8816:117;15679:164;15721:7;15742:15;15759;15778:19;:17;:19::i;:::-;15741:56;;-1:-1:-1;15741:56:0;-1:-1:-1;15815:20:0;15741:56;;15815:11;:20::i;:::-;15808:27;;;;15679:164;:::o;2913:132::-;2971:7;2998:39;3002:1;3005;2998:39;;;;;;;;;;;;;;;;;:3;:39::i;8589:219::-;8636:9;;:14;:30;;;;-1:-1:-1;8654:7:0;;:12;8636:30;8632:43;;;8589:219::o;8632:43::-;8707:9;;;8687:17;:29;8745:7;;;8727:15;:25;-1:-1:-1;8765:13:0;;;;8789:11;8589:219::o;13008:610::-;13155:15;13185:23;13223:12;13250:23;13288:12;13315:13;13342:19;13353:7;13342:10;:19::i;:::-;-1:-1:-1;;;;;13390:15:0;;;;;;:7;:15;;;;;;13140:221;;-1:-1:-1;13140:221:0;;-1:-1:-1;13140:221:0;;-1:-1:-1;13140:221:0;-1:-1:-1;13140:221:0;-1:-1:-1;13140:221:0;-1:-1:-1;13390:28:0;;13140:221;13390:19;:28::i;:::-;-1:-1:-1;;;;;13372:15:0;;;;;;;:7;:15;;;;;;:46;;;;13450:18;;;;;;;:39;;13473:15;13450:22;:39::i;:::-;-1:-1:-1;;;;;13429:18:0;;;;;;:7;:18;;;;;:60;13500:16;13510:5;13500:9;:16::i;:::-;13527:23;13539:4;13545;13527:11;:23::i;:::-;13583:9;-1:-1:-1;;;;;13566:44:0;13575:6;-1:-1:-1;;;;;13566:44:0;;13594:15;13566:44;;;;3041:25:1;;3029:2;3014:18;;2895:177;13566:44:0;;;;;;;;13129:489;;;;;;13008:610;;;:::o;15851:257::-;15949:7;;15902;;;;4726:18;16017:20;15949:7;4726:18;16017:11;:20::i;:::-;16007:7;:30;16003:61;;;-1:-1:-1;;16047:7:0;;;4726:18;;-1:-1:-1;15851:257:0;-1:-1:-1;15851:257:0:o;16003:61::-;16083:7;;16092;;-1:-1:-1;15851:257:0;-1:-1:-1;15851:257:0:o;3053:223::-;3173:7;3208:12;3201:5;3193:28;;;;-1:-1:-1;;;3193:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3232:9:0;3244:5;3248:1;3244;:5;:::i;14037:615::-;14137:7;14159;14181;14203;14225;14247;14283:23;14308:12;14322:13;14352:40;14364:7;14373:9;;14384:7;;14352:11;:40::i;:::-;14282:110;;;;;;14403:19;14425:10;:8;:10::i;:::-;14403:32;;14447:15;14464:23;14489:12;14518:46;14530:7;14539:4;14545:5;14552:11;14518;:46::i;:::-;14446:118;;-1:-1:-1;14446:118:0;-1:-1:-1;14446:118:0;-1:-1:-1;14615:15:0;;-1:-1:-1;14632:4:0;;-1:-1:-1;14638:5:0;;-1:-1:-1;;;;;14037:615:0;;;;;;;:::o;2283:136::-;2341:7;2368:43;2372:1;2375;2368:43;;;;;;;;;;;;;;;;;:3;:43::i;2096:179::-;2154:7;;2186:5;2190:1;2186;:5;:::i;:::-;2174:17;;2215:1;2210;:6;;2202:46;;;;-1:-1:-1;;;2202:46:0;;13508:2:1;2202:46:0;;;13490:21:1;13547:2;13527:18;;;13520:30;13586:29;13566:18;;;13559:57;13633:18;;2202:46:0;13306:351:1;13626:211:0;13679:19;13701:10;:8;:10::i;:::-;13679:32;-1:-1:-1;13722:13:0;13738:22;:5;13679:32;13738:9;:22::i;:::-;13812:4;13796:22;;;;:7;:22;;;;;;13722:38;;-1:-1:-1;13796:33:0;;13722:38;13796:26;:33::i;:::-;13787:4;13771:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13626:211:0:o;13845:147::-;13923:7;;:17;;13935:4;13923:11;:17::i;:::-;13913:7;:27;13964:10;;:20;;13979:4;13964:14;:20::i;:::-;13951:10;:33;-1:-1:-1;;13845:147:0:o;14660:469::-;14829:7;;;;14923:30;14949:3;14923:21;:7;14935:8;14923:11;:21::i;:::-;:25;;:30::i;:::-;14908:45;-1:-1:-1;14964:13:0;14980:28;15004:3;14980:19;:7;14992:6;14980:11;:19::i;:28::-;14964:44;-1:-1:-1;15019:23:0;15045:28;14964:44;15045:17;:7;15057:4;15045:11;:17::i;:::-;:21;;:28::i;:::-;15019:54;15109:4;;-1:-1:-1;15115:5:0;;-1:-1:-1;14660:469:0;;-1:-1:-1;;;;;14660:469:0:o;15137:534::-;15331:7;;;;15428:24;:7;15440:11;15428;:24::i;:::-;15410:42;-1:-1:-1;15463:12:0;15478:21;:4;15487:11;15478:8;:21::i;:::-;15463:36;-1:-1:-1;15510:13:0;15526:22;:5;15536:11;15526:9;:22::i;:::-;15510:38;-1:-1:-1;15559:23:0;15585:28;15510:38;15585:17;:7;15597:4;15585:11;:17::i;:28::-;15632:7;;;;-1:-1:-1;15658:4:0;;-1:-1:-1;15137:534:0;;-1:-1:-1;;;;;;;15137:534:0:o;2659:246::-;2717:7;2741:6;2737:47;;-1:-1:-1;2771:1:0;2764:8;;2737:47;2794:9;2806:5;2810:1;2806;:5;:::i;:::-;2794:17;-1:-1:-1;2839:1:0;2830:5;2834:1;2794:17;2830:5;:::i;:::-;:10;2822:56;;;;-1:-1:-1;;;2822:56:0;;13864:2:1;2822:56:0;;;13846:21:1;13903:2;13883:18;;;13876:30;13942:34;13922:18;;;13915:62;-1:-1:-1;;;13993:18:1;;;13986:31;14034:19;;2822:56:0;13662:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:597::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1985:6;1982:1;1979:13;1976:91;;;2055:1;2050:2;2041:6;2030:9;2026:22;2022:31;2015:42;1976:91;-1:-1:-1;2128:2:1;2107:15;-1:-1:-1;;2103:29:1;2088:45;;;;2135:2;2084:54;;1547:597;-1:-1:-1;;;1547:597:1:o;2149:315::-;2217:6;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2333:9;2320:23;2352:31;2377:5;2352:31;:::i;:::-;2402:5;2454:2;2439:18;;;;2426:32;;-1:-1:-1;;;2149:315:1:o;3077:456::-;3154:6;3162;3170;3223:2;3211:9;3202:7;3198:23;3194:32;3191:52;;;3239:1;3236;3229:12;3191:52;3278:9;3265:23;3297:31;3322:5;3297:31;:::i;:::-;3347:5;-1:-1:-1;3404:2:1;3389:18;;3376:32;3417:33;3376:32;3417:33;:::i;:::-;3077:456;;3469:7;;-1:-1:-1;;;3523:2:1;3508:18;;;;3495:32;;3077:456::o;3935:247::-;3994:6;4047:2;4035:9;4026:7;4022:23;4018:32;4015:52;;;4063:1;4060;4053:12;4015:52;4102:9;4089:23;4121:31;4146:5;4121:31;:::i;4187:160::-;4252:20;;4308:13;;4301:21;4291:32;;4281:60;;4337:1;4334;4327:12;4352:180;4408:6;4461:2;4449:9;4440:7;4436:23;4432:32;4429:52;;;4477:1;4474;4467:12;4429:52;4500:26;4516:9;4500:26;:::i;4537:180::-;4596:6;4649:2;4637:9;4628:7;4624:23;4620:32;4617:52;;;4665:1;4662;4655:12;4617:52;-1:-1:-1;4688:23:1;;4537:180;-1:-1:-1;4537:180:1:o;4722:385::-;4808:6;4816;4824;4832;4885:3;4873:9;4864:7;4860:23;4856:33;4853:53;;;4902:1;4899;4892:12;4853:53;-1:-1:-1;;4925:23:1;;;4995:2;4980:18;;4967:32;;-1:-1:-1;5046:2:1;5031:18;;5018:32;;5097:2;5082:18;5069:32;;-1:-1:-1;4722:385:1;-1:-1:-1;4722:385:1:o;5112:689::-;5204:6;5212;5220;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5329:9;5316:23;5358:18;5399:2;5391:6;5388:14;5385:34;;;5415:1;5412;5405:12;5385:34;5453:6;5442:9;5438:22;5428:32;;5498:7;5491:4;5487:2;5483:13;5479:27;5469:55;;5520:1;5517;5510:12;5469:55;5560:2;5547:16;5586:2;5578:6;5575:14;5572:34;;;5602:1;5599;5592:12;5572:34;5657:7;5650:4;5640:6;5637:1;5633:14;5629:2;5625:23;5621:34;5618:47;5615:67;;;5678:1;5675;5668:12;5615:67;5709:4;5701:13;;;;-1:-1:-1;5733:6:1;-1:-1:-1;5758:37:1;;5774:20;;;-1:-1:-1;5758:37:1;:::i;:::-;5748:47;;5112:689;;;;;:::o;5806:388::-;5874:6;5882;5935:2;5923:9;5914:7;5910:23;5906:32;5903:52;;;5951:1;5948;5941:12;5903:52;5990:9;5977:23;6009:31;6034:5;6009:31;:::i;:::-;6059:5;-1:-1:-1;6116:2:1;6101:18;;6088:32;6129:33;6088:32;6129:33;:::i;:::-;6181:7;6171:17;;;5806:388;;;;;:::o;6199:356::-;6401:2;6383:21;;;6420:18;;;6413:30;6479:34;6474:2;6459:18;;6452:62;6546:2;6531:18;;6199:356::o;6560:127::-;6621:10;6616:3;6612:20;6609:1;6602:31;6652:4;6649:1;6642:15;6676:4;6673:1;6666:15;6692:127;6753:10;6748:3;6744:20;6741:1;6734:31;6784:4;6781:1;6774:15;6808:4;6805:1;6798:15;6824:135;6863:3;-1:-1:-1;;6884:17:1;;6881:43;;;6904:18;;:::i;:::-;-1:-1:-1;6951:1:1;6940:13;;6824:135::o;6964:217::-;7004:1;7030;7020:132;;7074:10;7069:3;7065:20;7062:1;7055:31;7109:4;7106:1;7099:15;7137:4;7134:1;7127:15;7020:132;-1:-1:-1;7166:9:1;;6964:217::o;7186:128::-;7226:3;7257:1;7253:6;7250:1;7247:13;7244:39;;;7263:18;;:::i;:::-;-1:-1:-1;7299:9:1;;7186:128::o;11351:168::-;11391:7;11457:1;11453;11449:6;11445:14;11442:1;11439:21;11434:1;11427:9;11420:17;11416:45;11413:71;;;11464:18;;:::i;:::-;-1:-1:-1;11504:9:1;;11351:168::o;11524:125::-;11564:4;11592:1;11589;11586:8;11583:34;;;11597:18;;:::i;:::-;-1:-1:-1;11634:9:1;;11524:125::o;12065:251::-;12135:6;12188:2;12176:9;12167:7;12163:23;12159:32;12156:52;;;12204:1;12201;12194:12;12156:52;12236:9;12230:16;12255:31;12280:5;12255:31;:::i;12321:980::-;12583:4;12631:3;12620:9;12616:19;12662:6;12651:9;12644:25;12688:2;12726:6;12721:2;12710:9;12706:18;12699:34;12769:3;12764:2;12753:9;12749:18;12742:31;12793:6;12828;12822:13;12859:6;12851;12844:22;12897:3;12886:9;12882:19;12875:26;;12936:2;12928:6;12924:15;12910:29;;12957:1;12967:195;12981:6;12978:1;12975:13;12967:195;;;13046:13;;-1:-1:-1;;;;;13042:39:1;13030:52;;13137:15;;;;13102:12;;;;13078:1;12996:9;12967:195;;;-1:-1:-1;;;;;;;13218:32:1;;;;13213:2;13198:18;;13191:60;-1:-1:-1;;;13282:3:1;13267:19;13260:35;13179:3;12321:980;-1:-1:-1;;;12321:980:1:o

Swarm Source

ipfs://b7bd480d5e685209efaeee4a2901009a48d27cb4e262153e52548b9f000d0508

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.