ETH Price: $3,006.23 (+1.19%)
Gas: 6 Gwei

Contract

0x240e06D331A591f172B210d8191439e42bEFcFAA
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve200119062024-06-03 14:31:3535 days ago1717425095IN
0x240e06D3...42bEFcFAA
0 ETH0.0009619220.38493701
Transfer199067832024-05-19 21:51:4749 days ago1716155507IN
0x240e06D3...42bEFcFAA
0 ETH0.000165692.86281129
Change Buy Taxes199067332024-05-19 21:41:3549 days ago1716154895IN
0x240e06D3...42bEFcFAA
0 ETH0.000227047.84336235
Change Sell Taxe...199066922024-05-19 21:33:2349 days ago1716154403IN
0x240e06D3...42bEFcFAA
0 ETH0.000245578.4643868
Change Buy Taxes199066822024-05-19 21:31:2349 days ago1716154283IN
0x240e06D3...42bEFcFAA
0 ETH0.000136654.7208757
Change Buy Taxes199066742024-05-19 21:29:4749 days ago1716154187IN
0x240e06D3...42bEFcFAA
0 ETH0.00014545.02330832
Change Buy Taxes199066692024-05-19 21:28:4749 days ago1716154127IN
0x240e06D3...42bEFcFAA
0 ETH0.000152415.26522086
Approve199066142024-05-19 21:17:4749 days ago1716153467IN
0x240e06D3...42bEFcFAA
0 ETH0.000279515.92333213
Approve199066142024-05-19 21:17:4749 days ago1716153467IN
0x240e06D3...42bEFcFAA
0 ETH0.0008457617.92333213
Approve199066142024-05-19 21:17:4749 days ago1716153467IN
0x240e06D3...42bEFcFAA
0 ETH0.0008457617.92333213
Approve199066142024-05-19 21:17:4749 days ago1716153467IN
0x240e06D3...42bEFcFAA
0 ETH0.0008457617.92333213
Approve199066142024-05-19 21:17:4749 days ago1716153467IN
0x240e06D3...42bEFcFAA
0 ETH0.0008457617.92333213
Approve199066142024-05-19 21:17:4749 days ago1716153467IN
0x240e06D3...42bEFcFAA
0 ETH0.0008457617.92333213
Remove From Blac...199065722024-05-19 21:09:2349 days ago1716152963IN
0x240e06D3...42bEFcFAA
0 ETH0.000128532.68084165
Add To Blacklist199065502024-05-19 21:04:5949 days ago1716152699IN
0x240e06D3...42bEFcFAA
0 ETH0.000456332.80648116
Approve199064052024-05-19 20:35:5949 days ago1716150959IN
0x240e06D3...42bEFcFAA
0 ETH0.00021284.50977057
Change Sell Taxe...199063252024-05-19 20:19:4749 days ago1716149987IN
0x240e06D3...42bEFcFAA
0 ETH0.000129782.81450727
Change Buy Taxes199063152024-05-19 20:17:4749 days ago1716149867IN
0x240e06D3...42bEFcFAA
0 ETH0.000133492.89910461
Approve199054722024-05-19 17:28:4749 days ago1716139727IN
0x240e06D3...42bEFcFAA
0 ETH0.0002625.55235617
Approve199053602024-05-19 17:05:4749 days ago1716138347IN
0x240e06D3...42bEFcFAA
0 ETH0.000237865.04070861
Approve199053202024-05-19 16:57:4749 days ago1716137867IN
0x240e06D3...42bEFcFAA
0 ETH0.00019764.21003084
Transfer199052512024-05-19 16:43:4749 days ago1716137027IN
0x240e06D3...42bEFcFAA
0 ETH0.00024764.09609554
Transfer199052482024-05-19 16:43:1149 days ago1716136991IN
0x240e06D3...42bEFcFAA
0 ETH0.000234293.87592292
Transfer199052452024-05-19 16:42:3549 days ago1716136955IN
0x240e06D3...42bEFcFAA
0 ETH0.000255354.23859746
0x60806040199052192024-05-19 16:37:2349 days ago1716136643IN
 Create: Gigafactory4
0 ETH0.024977894.70635448

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
199067432024-05-19 21:43:3549 days ago1716155015
0x240e06D3...42bEFcFAA
0.00047357 ETH
199067432024-05-19 21:43:3549 days ago1716155015
0x240e06D3...42bEFcFAA
0.00047357 ETH
199066772024-05-19 21:30:2349 days ago1716154223
0x240e06D3...42bEFcFAA
0.00111804 ETH
199066772024-05-19 21:30:2349 days ago1716154223
0x240e06D3...42bEFcFAA
0.00111804 ETH
199064092024-05-19 20:36:4749 days ago1716151007
0x240e06D3...42bEFcFAA
0.00017163 ETH
199064092024-05-19 20:36:4749 days ago1716151007
0x240e06D3...42bEFcFAA
0.00017163 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Gigafactory4

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-19
*/

/**
 *Submitted for verification at Etherscan.io on 2024-05-18
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

/*

                                                                                                        

Website: 
Telegram: 
X/Twitter: 
*/

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

}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }


    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }


    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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 Gigafactory4 is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public blackListed;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 420690000000000 * 10**_decimals; 
    string private constant _name = unicode"Giga4 Wallet";  
    string private constant _symbol = unicode"GIGA4"; 
    uint256 public _taxSwapThreshold= 4206900000000 * 10**_decimals;
    uint256 public antiWhaleLimit = 4206900000000 * 10 ** decimals();

    uint256 public _buyFee = 0; //Buy tax
    uint256 public _sellFee = 0; // Sell tax

    address payable public feeCollectorWallet = payable(0x0f649539Aee57e88D9A2a8298FfE3Fce3E8fdf90);

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

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

    constructor () {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // mainnet router address
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;

        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeCollectorWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[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");
        require(!blackListed[from] && !blackListed[to],"Sender or Recipient Blacklisted");
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {

            if(to != uniswapV2Pair){
               require(balanceOf(to) + amount <= antiWhaleLimit, "Exceeds the antiWhaleLimit.");
            }

            if(_buyFee > 0) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                taxAmount = amount.mul(_buyFee).div(100);
            }
            }

            if(_sellFee > 0) {
            if(to == uniswapV2Pair){
                taxAmount = amount.mul(_sellFee).div(100);
            }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        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 sendETHToFee(uint256 amount) private {
       (bool callSuccess, ) = payable(feeCollectorWallet).call{value: amount}("");
        require(callSuccess, "Call failed");
    }


    receive() external payable {}


    function changeAntiWhaleLimit(uint256 _maxLimit) public onlyOwner{
        require(_maxLimit > totalSupply().div(200),"Limit too less");
        antiWhaleLimit = _maxLimit;
    }

    function changeBuyTaxes(uint256 _fee) public onlyOwner {
        _buyFee = _fee;
    }

    function changeSellTaxes(uint256 _fee) public onlyOwner {
        _sellFee = _fee;
    }

    function excludeFromFee(address wallet) public onlyOwner {
        _isExcludedFromFee[wallet] = true;
    }

    function subjectToFee(address wallet) public onlyOwner {
        _isExcludedFromFee[wallet] = false;
    }

    function addToBlacklist(address[] memory _address) public onlyOwner{
        for(uint i = 0; i < _address.length; i++){
            blackListed[_address[i]] = true;
        }
    }

    function removeFromBlacklist(address[] memory _address) public onlyOwner{
        for(uint i = 0; i < _address.length; i++){
            blackListed[_address[i]] = false;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_address","type":"address[]"}],"name":"addToBlacklist","outputs":[],"stateMutability":"nonpayable","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":[],"name":"antiWhaleLimit","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":"","type":"address"}],"name":"blackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxLimit","type":"uint256"}],"name":"changeAntiWhaleLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"changeSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeCollectorWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"address[]","name":"_address","type":"address[]"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"subjectToFee","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a620000149190620007dd565b6503d37ec7b5006200002791906200082d565b6005556200003a6200055460201b60201c565b600a620000489190620007dd565b6503d37ec7b5006200005b91906200082d565b6006555f6007555f600855730f649539aee57e88d9a2a8298ffe3fce3e8fdf9060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600b60146101000a81548160ff0219169083151502179055506001600b60156101000a81548160ff021916908315150217905550348015620000fb575f80fd5b506200011c620001106200055c60201b60201c565b6200056360201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a49190620008dc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002309190620008dc565b6040518363ffffffff1660e01b81526004016200024f9291906200091d565b6020604051808303815f875af11580156200026c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002929190620008dc565b600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620003219190620007dd565b66017e9d8602b4006200033591906200082d565b60015f620003486200055c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200039a6200062460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004c46200055c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005229190620007dd565b66017e9d8602b4006200053691906200082d565b60405162000545919062000959565b60405180910390a35062000974565b5f6012905090565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620006d557808604811115620006ad57620006ac6200064b565b5b6001851615620006bd5780820291505b8081029050620006cd8562000678565b94506200068d565b94509492505050565b5f82620006ef5760019050620007c1565b81620006fe575f9050620007c1565b8160018114620007175760028114620007225762000758565b6001915050620007c1565b60ff8411156200073757620007366200064b565b5b8360020a9150848211156200075157620007506200064b565b5b50620007c1565b5060208310610133831016604e8410600b8410161715620007925782820a9050838111156200078c576200078b6200064b565b5b620007c1565b620007a1848484600162000684565b92509050818404811115620007bb57620007ba6200064b565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007e982620007c8565b9150620007f683620007d1565b9250620008257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006de565b905092915050565b5f6200083982620007c8565b91506200084683620007c8565b92508282026200085681620007c8565b9150828204841483151762000870576200086f6200064b565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008a6826200087b565b9050919050565b620008b8816200089a565b8114620008c3575f80fd5b50565b5f81519050620008d681620008ad565b92915050565b5f60208284031215620008f457620008f362000877565b5b5f6200090384828501620008c6565b91505092915050565b62000917816200089a565b82525050565b5f604082019050620009325f8301856200090c565b6200094160208301846200090c565b9392505050565b6200095381620007c8565b82525050565b5f6020820190506200096e5f83018462000948565b92915050565b612d2c80620009825f395ff3fe608060405260043610610184575f3560e01c8063768dc710116100d057806395d89b4111610089578063bbde5b2511610063578063bbde5b2514610563578063bf474bed1461059f578063dd62ed3e146105c9578063f2fde38b146106055761018b565b806395d89b41146104d5578063a3cdf023146104ff578063a9059cbb146105275761018b565b8063768dc710146103cf57806389daf7991461040b5780638da5cb5b1461043357806393114b1d1461045d578063935eb35f1461048557806393d89a0c146104ad5761018b565b806323b872dd1161013d578063437823ec11610117578063437823ec1461032b578063590f897e1461035357806370a082311461037d578063715018a6146103b95761018b565b806323b872dd1461029b578063313ce567146102d757806340b9a54b146103015761018b565b806306fdde031461018f578063095ea7b3146101b95780631234f868146101f557806318160ddd1461021f5780631e0117bd146102495780631fafa8bc146102715761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a361062d565b6040516101b09190611d7d565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190611e3b565b61066a565b6040516101ec9190611e93565b60405180910390f35b348015610200575f80fd5b50610209610687565b6040516102169190611ebb565b60405180910390f35b34801561022a575f80fd5b5061023361068d565b6040516102409190611ebb565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a9190611ed4565b6106b3565b005b34801561027c575f80fd5b50610285610712565b6040516102929190611f1f565b60405180910390f35b3480156102a6575f80fd5b506102c160048036038101906102bc9190611f38565b610737565b6040516102ce9190611e93565b60405180910390f35b3480156102e2575f80fd5b506102eb61080b565b6040516102f89190611fa3565b60405180910390f35b34801561030c575f80fd5b50610315610813565b6040516103229190611ebb565b60405180910390f35b348015610336575f80fd5b50610351600480360381019061034c9190611ed4565b610819565b005b34801561035e575f80fd5b50610367610879565b6040516103749190611ebb565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e9190611ed4565b61087f565b6040516103b09190611ebb565b60405180910390f35b3480156103c4575f80fd5b506103cd6108c5565b005b3480156103da575f80fd5b506103f560048036038101906103f09190611ed4565b6108d8565b6040516104029190611e93565b60405180910390f35b348015610416575f80fd5b50610431600480360381019061042c91906120fc565b6108f5565b005b34801561043e575f80fd5b50610447610987565b6040516104549190612152565b60405180910390f35b348015610468575f80fd5b50610483600480360381019061047e919061216b565b6109ae565b005b348015610490575f80fd5b506104ab60048036038101906104a691906120fc565b610a1c565b005b3480156104b8575f80fd5b506104d360048036038101906104ce919061216b565b610aaf565b005b3480156104e0575f80fd5b506104e9610ac1565b6040516104f69190611d7d565b60405180910390f35b34801561050a575f80fd5b506105256004803603810190610520919061216b565b610afe565b005b348015610532575f80fd5b5061054d60048036038101906105489190611e3b565b610b10565b60405161055a9190611e93565b60405180910390f35b34801561056e575f80fd5b5061058960048036038101906105849190611ed4565b610b2d565b6040516105969190611e93565b60405180910390f35b3480156105aa575f80fd5b506105b3610b4a565b6040516105c09190611ebb565b60405180910390f35b3480156105d4575f80fd5b506105ef60048036038101906105ea9190612196565b610b50565b6040516105fc9190611ebb565b60405180910390f35b348015610610575f80fd5b5061062b60048036038101906106269190611ed4565b610bd2565b005b60606040518060400160405280600c81526020017f47696761342057616c6c65740000000000000000000000000000000000000000815250905090565b5f61067d610676610c54565b8484610c5b565b6001905092915050565b60065481565b5f6012600a61069c9190612330565b66017e9d8602b4006106ae919061237a565b905090565b6106bb610e1e565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610743848484610e9c565b6108008461074f610c54565b6107fb85604051806060016040528060288152602001612ccf6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107b2610c54565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116c89092919063ffffffff16565b610c5b565b600190509392505050565b5f6012905090565b60075481565b610821610e1e565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60085481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108cd610e1e565b6108d65f61172a565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b6108fd610e1e565b5f5b8151811015610983575f60045f84848151811061091f5761091e6123bb565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108ff565b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6109b6610e1e565b6109d160c86109c361068d565b6117eb90919063ffffffff16565b8111610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990612432565b60405180910390fd5b8060068190555050565b610a24610e1e565b5f5b8151811015610aab57600160045f848481518110610a4757610a466123bb565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610a26565b5050565b610ab7610e1e565b8060088190555050565b60606040518060400160405280600581526020017f4749474134000000000000000000000000000000000000000000000000000000815250905090565b610b06610e1e565b8060078190555050565b5f610b23610b1c610c54565b8484610e9c565b6001905092915050565b6004602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bda610e1e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f906124c0565b60405180910390fd5b610c518161172a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc09061254e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2e906125dc565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e119190611ebb565b60405180910390a3505050565b610e26610c54565b73ffffffffffffffffffffffffffffffffffffffff16610e44610987565b73ffffffffffffffffffffffffffffffffffffffff1614610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9190612644565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f01906126d2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6f90612760565b60405180910390fd5b5f8111610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb1906127ee565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611058575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90612856565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611136575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561141857600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111e8576006548261119c8561087f565b6111a69190612874565b11156111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de906128f1565b60405180910390fd5b5b5f60075411156112cc57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561129b5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112cb576112c860646112ba6007548561183490919063ffffffff16565b6117eb90919063ffffffff16565b90505b5b5f600854111561135657600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113555761135260646113446008548561183490919063ffffffff16565b6117eb90919063ffffffff16565b90505b5b5f6113603061087f565b9050600b60149054906101000a900460ff161580156113cb5750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113e35750600b60159054906101000a900460ff165b80156113f0575060055481115b15611416576113fe816118ab565b5f4790505f8111156114145761141347611b1f565b5b505b505b5f811115611517576114708160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bec90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161150e9190611ebb565b60405180910390a35b6115678260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c4990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061160a6115be8284611c4990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bec90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116ad8486611c4990919063ffffffff16565b6040516116ba9190611ebb565b60405180910390a350505050565b5f83831115829061170f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117069190611d7d565b60405180910390fd5b505f838561171d919061290f565b9050809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f61182c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c92565b905092915050565b5f808303611844575f90506118a5565b5f8284611851919061237a565b9050828482611860919061296f565b146118a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189790612a0f565b60405180910390fd5b809150505b92915050565b6001600b60146101000a81548160ff0219169083151502179055505f810315611b02575f600267ffffffffffffffff8111156118ea576118e9611fc0565b5b6040519080825280602002602001820160405280156119185781602001602082028036833780820191505090505b50905030815f8151811061192f5761192e6123bb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f79190612a41565b81600181518110611a0b57611a0a6123bb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a7130600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c5b565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ad3959493929190612b65565b5f604051808303815f87803b158015611aea575f80fd5b505af1158015611afc573d5f803e3d5ffd5b50505050505b5f600b60146101000a81548160ff02191690831515021790555050565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611b6590612bea565b5f6040518083038185875af1925050503d805f8114611b9f576040519150601f19603f3d011682016040523d82523d5f602084013e611ba4565b606091505b5050905080611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf90612c48565b60405180910390fd5b5050565b5f808284611bfa9190612874565b905083811015611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3690612cb0565b60405180910390fd5b8091505092915050565b5f611c8a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c8565b905092915050565b5f8083118290611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf9190611d7d565b60405180910390fd5b505f8385611ce6919061296f565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611d2a578082015181840152602081019050611d0f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611d4f82611cf3565b611d598185611cfd565b9350611d69818560208601611d0d565b611d7281611d35565b840191505092915050565b5f6020820190508181035f830152611d958184611d45565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dd782611dae565b9050919050565b611de781611dcd565b8114611df1575f80fd5b50565b5f81359050611e0281611dde565b92915050565b5f819050919050565b611e1a81611e08565b8114611e24575f80fd5b50565b5f81359050611e3581611e11565b92915050565b5f8060408385031215611e5157611e50611da6565b5b5f611e5e85828601611df4565b9250506020611e6f85828601611e27565b9150509250929050565b5f8115159050919050565b611e8d81611e79565b82525050565b5f602082019050611ea65f830184611e84565b92915050565b611eb581611e08565b82525050565b5f602082019050611ece5f830184611eac565b92915050565b5f60208284031215611ee957611ee8611da6565b5b5f611ef684828501611df4565b91505092915050565b5f611f0982611dae565b9050919050565b611f1981611eff565b82525050565b5f602082019050611f325f830184611f10565b92915050565b5f805f60608486031215611f4f57611f4e611da6565b5b5f611f5c86828701611df4565b9350506020611f6d86828701611df4565b9250506040611f7e86828701611e27565b9150509250925092565b5f60ff82169050919050565b611f9d81611f88565b82525050565b5f602082019050611fb65f830184611f94565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ff682611d35565b810181811067ffffffffffffffff8211171561201557612014611fc0565b5b80604052505050565b5f612027611d9d565b90506120338282611fed565b919050565b5f67ffffffffffffffff82111561205257612051611fc0565b5b602082029050602081019050919050565b5f80fd5b5f61207961207484612038565b61201e565b9050808382526020820190506020840283018581111561209c5761209b612063565b5b835b818110156120c557806120b18882611df4565b84526020840193505060208101905061209e565b5050509392505050565b5f82601f8301126120e3576120e2611fbc565b5b81356120f3848260208601612067565b91505092915050565b5f6020828403121561211157612110611da6565b5b5f82013567ffffffffffffffff81111561212e5761212d611daa565b5b61213a848285016120cf565b91505092915050565b61214c81611dcd565b82525050565b5f6020820190506121655f830184612143565b92915050565b5f602082840312156121805761217f611da6565b5b5f61218d84828501611e27565b91505092915050565b5f80604083850312156121ac576121ab611da6565b5b5f6121b985828601611df4565b92505060206121ca85828601611df4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561225657808604811115612232576122316121d4565b5b60018516156122415780820291505b808102905061224f85612201565b9450612216565b94509492505050565b5f8261226e5760019050612329565b8161227b575f9050612329565b8160018114612291576002811461229b576122ca565b6001915050612329565b60ff8411156122ad576122ac6121d4565b5b8360020a9150848211156122c4576122c36121d4565b5b50612329565b5060208310610133831016604e8410600b84101617156122ff5782820a9050838111156122fa576122f96121d4565b5b612329565b61230c848484600161220d565b92509050818404811115612323576123226121d4565b5b81810290505b9392505050565b5f61233a82611e08565b915061234583611f88565b92506123727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461225f565b905092915050565b5f61238482611e08565b915061238f83611e08565b925082820261239d81611e08565b915082820484148315176123b4576123b36121d4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4c696d697420746f6f206c6573730000000000000000000000000000000000005f82015250565b5f61241c600e83611cfd565b9150612427826123e8565b602082019050919050565b5f6020820190508181035f83015261244981612410565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6124aa602683611cfd565b91506124b582612450565b604082019050919050565b5f6020820190508181035f8301526124d78161249e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612538602483611cfd565b9150612543826124de565b604082019050919050565b5f6020820190508181035f8301526125658161252c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125c6602283611cfd565b91506125d18261256c565b604082019050919050565b5f6020820190508181035f8301526125f3816125ba565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61262e602083611cfd565b9150612639826125fa565b602082019050919050565b5f6020820190508181035f83015261265b81612622565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126bc602583611cfd565b91506126c782612662565b604082019050919050565b5f6020820190508181035f8301526126e9816126b0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61274a602383611cfd565b9150612755826126f0565b604082019050919050565b5f6020820190508181035f8301526127778161273e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127d8602983611cfd565b91506127e38261277e565b604082019050919050565b5f6020820190508181035f830152612805816127cc565b9050919050565b7f53656e646572206f7220526563697069656e7420426c61636b6c6973746564005f82015250565b5f612840601f83611cfd565b915061284b8261280c565b602082019050919050565b5f6020820190508181035f83015261286d81612834565b9050919050565b5f61287e82611e08565b915061288983611e08565b92508282019050808211156128a1576128a06121d4565b5b92915050565b7f457863656564732074686520616e74695768616c654c696d69742e00000000005f82015250565b5f6128db601b83611cfd565b91506128e6826128a7565b602082019050919050565b5f6020820190508181035f830152612908816128cf565b9050919050565b5f61291982611e08565b915061292483611e08565b925082820390508181111561293c5761293b6121d4565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61297982611e08565b915061298483611e08565b92508261299457612993612942565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129f9602183611cfd565b9150612a048261299f565b604082019050919050565b5f6020820190508181035f830152612a26816129ed565b9050919050565b5f81519050612a3b81611dde565b92915050565b5f60208284031215612a5657612a55611da6565b5b5f612a6384828501612a2d565b91505092915050565b5f819050919050565b5f819050919050565b5f612a98612a93612a8e84612a6c565b612a75565b611e08565b9050919050565b612aa881612a7e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ae081611dcd565b82525050565b5f612af18383612ad7565b60208301905092915050565b5f602082019050919050565b5f612b1382612aae565b612b1d8185612ab8565b9350612b2883612ac8565b805f5b83811015612b58578151612b3f8882612ae6565b9750612b4a83612afd565b925050600181019050612b2b565b5085935050505092915050565b5f60a082019050612b785f830188611eac565b612b856020830187612a9f565b8181036040830152612b978186612b09565b9050612ba66060830185612143565b612bb36080830184611eac565b9695505050505050565b5f81905092915050565b50565b5f612bd55f83612bbd565b9150612be082612bc7565b5f82019050919050565b5f612bf482612bca565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f612c32600b83611cfd565b9150612c3d82612bfe565b602082019050919050565b5f6020820190508181035f830152612c5f81612c26565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c9a601b83611cfd565b9150612ca582612c66565b602082019050919050565b5f6020820190508181035f830152612cc781612c8e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220550c88e2b0c9232af3af8a0afcac36e73506cc423146698c9baaef95dbdd36f064736f6c63430008180033

Deployed Bytecode

0x608060405260043610610184575f3560e01c8063768dc710116100d057806395d89b4111610089578063bbde5b2511610063578063bbde5b2514610563578063bf474bed1461059f578063dd62ed3e146105c9578063f2fde38b146106055761018b565b806395d89b41146104d5578063a3cdf023146104ff578063a9059cbb146105275761018b565b8063768dc710146103cf57806389daf7991461040b5780638da5cb5b1461043357806393114b1d1461045d578063935eb35f1461048557806393d89a0c146104ad5761018b565b806323b872dd1161013d578063437823ec11610117578063437823ec1461032b578063590f897e1461035357806370a082311461037d578063715018a6146103b95761018b565b806323b872dd1461029b578063313ce567146102d757806340b9a54b146103015761018b565b806306fdde031461018f578063095ea7b3146101b95780631234f868146101f557806318160ddd1461021f5780631e0117bd146102495780631fafa8bc146102715761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a361062d565b6040516101b09190611d7d565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190611e3b565b61066a565b6040516101ec9190611e93565b60405180910390f35b348015610200575f80fd5b50610209610687565b6040516102169190611ebb565b60405180910390f35b34801561022a575f80fd5b5061023361068d565b6040516102409190611ebb565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a9190611ed4565b6106b3565b005b34801561027c575f80fd5b50610285610712565b6040516102929190611f1f565b60405180910390f35b3480156102a6575f80fd5b506102c160048036038101906102bc9190611f38565b610737565b6040516102ce9190611e93565b60405180910390f35b3480156102e2575f80fd5b506102eb61080b565b6040516102f89190611fa3565b60405180910390f35b34801561030c575f80fd5b50610315610813565b6040516103229190611ebb565b60405180910390f35b348015610336575f80fd5b50610351600480360381019061034c9190611ed4565b610819565b005b34801561035e575f80fd5b50610367610879565b6040516103749190611ebb565b60405180910390f35b348015610388575f80fd5b506103a3600480360381019061039e9190611ed4565b61087f565b6040516103b09190611ebb565b60405180910390f35b3480156103c4575f80fd5b506103cd6108c5565b005b3480156103da575f80fd5b506103f560048036038101906103f09190611ed4565b6108d8565b6040516104029190611e93565b60405180910390f35b348015610416575f80fd5b50610431600480360381019061042c91906120fc565b6108f5565b005b34801561043e575f80fd5b50610447610987565b6040516104549190612152565b60405180910390f35b348015610468575f80fd5b50610483600480360381019061047e919061216b565b6109ae565b005b348015610490575f80fd5b506104ab60048036038101906104a691906120fc565b610a1c565b005b3480156104b8575f80fd5b506104d360048036038101906104ce919061216b565b610aaf565b005b3480156104e0575f80fd5b506104e9610ac1565b6040516104f69190611d7d565b60405180910390f35b34801561050a575f80fd5b506105256004803603810190610520919061216b565b610afe565b005b348015610532575f80fd5b5061054d60048036038101906105489190611e3b565b610b10565b60405161055a9190611e93565b60405180910390f35b34801561056e575f80fd5b5061058960048036038101906105849190611ed4565b610b2d565b6040516105969190611e93565b60405180910390f35b3480156105aa575f80fd5b506105b3610b4a565b6040516105c09190611ebb565b60405180910390f35b3480156105d4575f80fd5b506105ef60048036038101906105ea9190612196565b610b50565b6040516105fc9190611ebb565b60405180910390f35b348015610610575f80fd5b5061062b60048036038101906106269190611ed4565b610bd2565b005b60606040518060400160405280600c81526020017f47696761342057616c6c65740000000000000000000000000000000000000000815250905090565b5f61067d610676610c54565b8484610c5b565b6001905092915050565b60065481565b5f6012600a61069c9190612330565b66017e9d8602b4006106ae919061237a565b905090565b6106bb610e1e565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610743848484610e9c565b6108008461074f610c54565b6107fb85604051806060016040528060288152602001612ccf6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107b2610c54565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116c89092919063ffffffff16565b610c5b565b600190509392505050565b5f6012905090565b60075481565b610821610e1e565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60085481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108cd610e1e565b6108d65f61172a565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b6108fd610e1e565b5f5b8151811015610983575f60045f84848151811061091f5761091e6123bb565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108ff565b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6109b6610e1e565b6109d160c86109c361068d565b6117eb90919063ffffffff16565b8111610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990612432565b60405180910390fd5b8060068190555050565b610a24610e1e565b5f5b8151811015610aab57600160045f848481518110610a4757610a466123bb565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610a26565b5050565b610ab7610e1e565b8060088190555050565b60606040518060400160405280600581526020017f4749474134000000000000000000000000000000000000000000000000000000815250905090565b610b06610e1e565b8060078190555050565b5f610b23610b1c610c54565b8484610e9c565b6001905092915050565b6004602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bda610e1e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f906124c0565b60405180910390fd5b610c518161172a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc09061254e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2e906125dc565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e119190611ebb565b60405180910390a3505050565b610e26610c54565b73ffffffffffffffffffffffffffffffffffffffff16610e44610987565b73ffffffffffffffffffffffffffffffffffffffff1614610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9190612644565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f01906126d2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6f90612760565b60405180910390fd5b5f8111610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb1906127ee565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611058575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90612856565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611136575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561141857600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111e8576006548261119c8561087f565b6111a69190612874565b11156111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de906128f1565b60405180910390fd5b5b5f60075411156112cc57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561129b5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112cb576112c860646112ba6007548561183490919063ffffffff16565b6117eb90919063ffffffff16565b90505b5b5f600854111561135657600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113555761135260646113446008548561183490919063ffffffff16565b6117eb90919063ffffffff16565b90505b5b5f6113603061087f565b9050600b60149054906101000a900460ff161580156113cb5750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113e35750600b60159054906101000a900460ff165b80156113f0575060055481115b15611416576113fe816118ab565b5f4790505f8111156114145761141347611b1f565b5b505b505b5f811115611517576114708160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bec90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161150e9190611ebb565b60405180910390a35b6115678260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c4990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061160a6115be8284611c4990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bec90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116ad8486611c4990919063ffffffff16565b6040516116ba9190611ebb565b60405180910390a350505050565b5f83831115829061170f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117069190611d7d565b60405180910390fd5b505f838561171d919061290f565b9050809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f61182c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c92565b905092915050565b5f808303611844575f90506118a5565b5f8284611851919061237a565b9050828482611860919061296f565b146118a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189790612a0f565b60405180910390fd5b809150505b92915050565b6001600b60146101000a81548160ff0219169083151502179055505f810315611b02575f600267ffffffffffffffff8111156118ea576118e9611fc0565b5b6040519080825280602002602001820160405280156119185781602001602082028036833780820191505090505b50905030815f8151811061192f5761192e6123bb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f79190612a41565b81600181518110611a0b57611a0a6123bb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a7130600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c5b565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ad3959493929190612b65565b5f604051808303815f87803b158015611aea575f80fd5b505af1158015611afc573d5f803e3d5ffd5b50505050505b5f600b60146101000a81548160ff02191690831515021790555050565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611b6590612bea565b5f6040518083038185875af1925050503d805f8114611b9f576040519150601f19603f3d011682016040523d82523d5f602084013e611ba4565b606091505b5050905080611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf90612c48565b60405180910390fd5b5050565b5f808284611bfa9190612874565b905083811015611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3690612cb0565b60405180910390fd5b8091505092915050565b5f611c8a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c8565b905092915050565b5f8083118290611cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccf9190611d7d565b60405180910390fd5b505f8385611ce6919061296f565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611d2a578082015181840152602081019050611d0f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611d4f82611cf3565b611d598185611cfd565b9350611d69818560208601611d0d565b611d7281611d35565b840191505092915050565b5f6020820190508181035f830152611d958184611d45565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dd782611dae565b9050919050565b611de781611dcd565b8114611df1575f80fd5b50565b5f81359050611e0281611dde565b92915050565b5f819050919050565b611e1a81611e08565b8114611e24575f80fd5b50565b5f81359050611e3581611e11565b92915050565b5f8060408385031215611e5157611e50611da6565b5b5f611e5e85828601611df4565b9250506020611e6f85828601611e27565b9150509250929050565b5f8115159050919050565b611e8d81611e79565b82525050565b5f602082019050611ea65f830184611e84565b92915050565b611eb581611e08565b82525050565b5f602082019050611ece5f830184611eac565b92915050565b5f60208284031215611ee957611ee8611da6565b5b5f611ef684828501611df4565b91505092915050565b5f611f0982611dae565b9050919050565b611f1981611eff565b82525050565b5f602082019050611f325f830184611f10565b92915050565b5f805f60608486031215611f4f57611f4e611da6565b5b5f611f5c86828701611df4565b9350506020611f6d86828701611df4565b9250506040611f7e86828701611e27565b9150509250925092565b5f60ff82169050919050565b611f9d81611f88565b82525050565b5f602082019050611fb65f830184611f94565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ff682611d35565b810181811067ffffffffffffffff8211171561201557612014611fc0565b5b80604052505050565b5f612027611d9d565b90506120338282611fed565b919050565b5f67ffffffffffffffff82111561205257612051611fc0565b5b602082029050602081019050919050565b5f80fd5b5f61207961207484612038565b61201e565b9050808382526020820190506020840283018581111561209c5761209b612063565b5b835b818110156120c557806120b18882611df4565b84526020840193505060208101905061209e565b5050509392505050565b5f82601f8301126120e3576120e2611fbc565b5b81356120f3848260208601612067565b91505092915050565b5f6020828403121561211157612110611da6565b5b5f82013567ffffffffffffffff81111561212e5761212d611daa565b5b61213a848285016120cf565b91505092915050565b61214c81611dcd565b82525050565b5f6020820190506121655f830184612143565b92915050565b5f602082840312156121805761217f611da6565b5b5f61218d84828501611e27565b91505092915050565b5f80604083850312156121ac576121ab611da6565b5b5f6121b985828601611df4565b92505060206121ca85828601611df4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561225657808604811115612232576122316121d4565b5b60018516156122415780820291505b808102905061224f85612201565b9450612216565b94509492505050565b5f8261226e5760019050612329565b8161227b575f9050612329565b8160018114612291576002811461229b576122ca565b6001915050612329565b60ff8411156122ad576122ac6121d4565b5b8360020a9150848211156122c4576122c36121d4565b5b50612329565b5060208310610133831016604e8410600b84101617156122ff5782820a9050838111156122fa576122f96121d4565b5b612329565b61230c848484600161220d565b92509050818404811115612323576123226121d4565b5b81810290505b9392505050565b5f61233a82611e08565b915061234583611f88565b92506123727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461225f565b905092915050565b5f61238482611e08565b915061238f83611e08565b925082820261239d81611e08565b915082820484148315176123b4576123b36121d4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4c696d697420746f6f206c6573730000000000000000000000000000000000005f82015250565b5f61241c600e83611cfd565b9150612427826123e8565b602082019050919050565b5f6020820190508181035f83015261244981612410565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6124aa602683611cfd565b91506124b582612450565b604082019050919050565b5f6020820190508181035f8301526124d78161249e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612538602483611cfd565b9150612543826124de565b604082019050919050565b5f6020820190508181035f8301526125658161252c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125c6602283611cfd565b91506125d18261256c565b604082019050919050565b5f6020820190508181035f8301526125f3816125ba565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61262e602083611cfd565b9150612639826125fa565b602082019050919050565b5f6020820190508181035f83015261265b81612622565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6126bc602583611cfd565b91506126c782612662565b604082019050919050565b5f6020820190508181035f8301526126e9816126b0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61274a602383611cfd565b9150612755826126f0565b604082019050919050565b5f6020820190508181035f8301526127778161273e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127d8602983611cfd565b91506127e38261277e565b604082019050919050565b5f6020820190508181035f830152612805816127cc565b9050919050565b7f53656e646572206f7220526563697069656e7420426c61636b6c6973746564005f82015250565b5f612840601f83611cfd565b915061284b8261280c565b602082019050919050565b5f6020820190508181035f83015261286d81612834565b9050919050565b5f61287e82611e08565b915061288983611e08565b92508282019050808211156128a1576128a06121d4565b5b92915050565b7f457863656564732074686520616e74695768616c654c696d69742e00000000005f82015250565b5f6128db601b83611cfd565b91506128e6826128a7565b602082019050919050565b5f6020820190508181035f830152612908816128cf565b9050919050565b5f61291982611e08565b915061292483611e08565b925082820390508181111561293c5761293b6121d4565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61297982611e08565b915061298483611e08565b92508261299457612993612942565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129f9602183611cfd565b9150612a048261299f565b604082019050919050565b5f6020820190508181035f830152612a26816129ed565b9050919050565b5f81519050612a3b81611dde565b92915050565b5f60208284031215612a5657612a55611da6565b5b5f612a6384828501612a2d565b91505092915050565b5f819050919050565b5f819050919050565b5f612a98612a93612a8e84612a6c565b612a75565b611e08565b9050919050565b612aa881612a7e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ae081611dcd565b82525050565b5f612af18383612ad7565b60208301905092915050565b5f602082019050919050565b5f612b1382612aae565b612b1d8185612ab8565b9350612b2883612ac8565b805f5b83811015612b58578151612b3f8882612ae6565b9750612b4a83612afd565b925050600181019050612b2b565b5085935050505092915050565b5f60a082019050612b785f830188611eac565b612b856020830187612a9f565b8181036040830152612b978186612b09565b9050612ba66060830185612143565b612bb36080830184611eac565b9695505050505050565b5f81905092915050565b50565b5f612bd55f83612bbd565b9150612be082612bc7565b5f82019050919050565b5f612bf482612bca565b9150819050919050565b7f43616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f612c32600b83611cfd565b9150612c3d82612bfe565b602082019050919050565b5f6020820190508181035f830152612c5f81612c26565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c9a601b83611cfd565b9150612ca582612c66565b602082019050919050565b5f6020820190508181035f830152612cc781612c8e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220550c88e2b0c9232af3af8a0afcac36e73506cc423146698c9baaef95dbdd36f064736f6c63430008180033

Deployed Bytecode Sourcemap

4079:7183:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5904:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6737:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4717:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6181:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10761:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4881:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6906:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6090:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4790:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10644:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4833:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6284:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2797:103;;;;;;;;;;;;;:::i;:::-;;4300:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11069:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2560:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10261:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10877:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10546:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5995:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10450:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6411:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4358:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4647:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6586:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2910:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5904:83;5941:13;5974:5;;;;;;;;;;;;;;;;;5967:12;;5904:83;:::o;6737:161::-;6812:4;6829:39;6838:12;:10;:12::i;:::-;6852:7;6861:6;6829:8;:39::i;:::-;6886:4;6879:11;;6737:161;;;;:::o;4717:64::-;;;;:::o;6181:95::-;6234:7;4446:2;4508;:13;;;;:::i;:::-;4490:15;:31;;;;:::i;:::-;6254:14;;6181:95;:::o;10761:108::-;2519:13;:11;:13::i;:::-;10856:5:::1;10827:18;:26;10846:6;10827:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;10761:108:::0;:::o;4881:95::-;;;;;;;;;;;;;:::o;6906:313::-;7004:4;7021:36;7031:6;7039:9;7050:6;7021:9;:36::i;:::-;7068:121;7077:6;7085:12;:10;:12::i;:::-;7099:89;7137:6;7099:89;;;;;;;;;;;;;;;;;:11;:19;7111:6;7099:19;;;;;;;;;;;;;;;:33;7119:12;:10;:12::i;:::-;7099:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7068:8;:121::i;:::-;7207:4;7200:11;;6906:313;;;;;:::o;6090:83::-;6131:5;4446:2;6149:16;;6090:83;:::o;4790:26::-;;;;:::o;10644:109::-;2519:13;:11;:13::i;:::-;10741:4:::1;10712:18;:26;10731:6;10712:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;10644:109:::0;:::o;4833:27::-;;;;:::o;6284:119::-;6350:7;6377:9;:18;6387:7;6377:18;;;;;;;;;;;;;;;;6370:25;;6284:119;;;:::o;2797:103::-;2519:13;:11;:13::i;:::-;2862:30:::1;2889:1;2862:18;:30::i;:::-;2797:103::o:0;4300:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;11069:190::-;2519:13;:11;:13::i;:::-;11156:6:::1;11152:100;11172:8;:15;11168:1;:19;11152:100;;;11235:5;11208:11;:24;11220:8;11229:1;11220:11;;;;;;;;:::i;:::-;;;;;;;;11208:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;11189:3;;;;;;;11152:100;;;;11069:190:::0;:::o;2560:87::-;2606:7;2633:6;;;;;;;;;;;2626:13;;2560:87;:::o;10261:181::-;2519:13;:11;:13::i;:::-;10357:22:::1;10375:3;10357:13;:11;:13::i;:::-;:17;;:22;;;;:::i;:::-;10345:9;:34;10337:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10425:9;10408:14;:26;;;;10261:181:::0;:::o;10877:184::-;2519:13;:11;:13::i;:::-;10959:6:::1;10955:99;10975:8;:15;10971:1;:19;10955:99;;;11038:4;11011:11;:24;11023:8;11032:1;11023:11;;;;;;;;:::i;:::-;;;;;;;;11011:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;10992:3;;;;;;;10955:99;;;;10877:184:::0;:::o;10546:90::-;2519:13;:11;:13::i;:::-;10624:4:::1;10613:8;:15;;;;10546:90:::0;:::o;5995:87::-;6034:13;6067:7;;;;;;;;;;;;;;;;;6060:14;;5995:87;:::o;10450:88::-;2519:13;:11;:13::i;:::-;10526:4:::1;10516:7;:14;;;;10450:88:::0;:::o;6411:167::-;6489:4;6506:42;6516:12;:10;:12::i;:::-;6530:9;6541:6;6506:9;:42::i;:::-;6566:4;6559:11;;6411:167;;;;:::o;4358:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;4647:63::-;;;;:::o;6586:143::-;6667:7;6694:11;:18;6706:5;6694:18;;;;;;;;;;;;;;;:27;6713:7;6694:27;;;;;;;;;;;;;;;;6687:34;;6586:143;;;;:::o;2910:201::-;2519:13;:11;:13::i;:::-;3019:1:::1;2999:22;;:8;:22;;::::0;2991:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3075:28;3094:8;3075:18;:28::i;:::-;2910:201:::0;:::o;320:98::-;373:7;400:10;393:17;;320:98;:::o;7227:335::-;7337:1;7320:19;;:5;:19;;;7312:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7418:1;7399:21;;:7;:21;;;7391:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7500:6;7470:11;:18;7482:5;7470:18;;;;;;;;;;;;;;;:27;7489:7;7470:27;;;;;;;;;;;;;;;:36;;;;7538:7;7522:32;;7531:5;7522:32;;;7547:6;7522:32;;;;;;:::i;:::-;;;;;;;;7227:335;;;:::o;2655:132::-;2730:12;:10;:12::i;:::-;2719:23;;:7;:5;:7::i;:::-;:23;;;2711:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2655:132::o;7570:1814::-;7674:1;7658:18;;:4;:18;;;7650:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7751:1;7737:16;;:2;:16;;;7729:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7821:1;7812:6;:10;7804:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7888:11;:17;7900:4;7888:17;;;;;;;;;;;;;;;;;;;;;;;;;7887:18;:38;;;;;7910:11;:15;7922:2;7910:15;;;;;;;;;;;;;;;;;;;;;;;;;7909:16;7887:38;7879:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;7971:17;8006:18;:24;8025:4;8006:24;;;;;;;;;;;;;;;;;;;;;;;;;8005:25;:52;;;;;8035:18;:22;8054:2;8035:22;;;;;;;;;;;;;;;;;;;;;;;;;8034:23;8005:52;8001:1027;;;8085:13;;;;;;;;;;;8079:19;;:2;:19;;;8076:137;;8151:14;;8141:6;8125:13;8135:2;8125:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8117:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8076:137;8242:1;8232:7;;:11;8229:182;;;8272:13;;;;;;;;;;;8264:21;;:4;:21;;;:55;;;;;8303:15;;;;;;;;;;;8289:30;;:2;:30;;;;8264:55;8260:136;;;8352:28;8376:3;8352:19;8363:7;;8352:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;8340:40;;8260:136;8229:182;8441:1;8430:8;;:12;8427:146;;;8468:13;;;;;;;;;;;8462:19;;:2;:19;;;8459:99;;8513:29;8538:3;8513:20;8524:8;;8513:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8501:41;;8459:99;8427:146;8589:28;8620:24;8638:4;8620:9;:24::i;:::-;8589:55;;8664:6;;;;;;;;;;;8663:7;:30;;;;;8680:13;;;;;;;;;;;8674:19;;:2;:19;;;8663:30;:45;;;;;8697:11;;;;;;;;;;;8663:45;:87;;;;;8733:17;;8712:20;:38;8663:87;8659:358;;;8771:38;8788:20;8771:16;:38::i;:::-;8828:26;8857:21;8828:50;;8921:1;8900:18;:22;8897:105;;;8947:35;8960:21;8947:12;:35::i;:::-;8897:105;8752:265;8659:358;8059:969;8001:1027;9053:1;9043:9;:11;9040:161;;;9093:39;9122:9;9093;:24;9111:4;9093:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9068:9;:24;9086:4;9068:24;;;;;;;;;;;;;;;:64;;;;9173:4;9150:39;;9159:4;9150:39;;;9179:9;9150:39;;;;;;:::i;:::-;;;;;;;;9040:161;9227:27;9247:6;9227:9;:15;9237:4;9227:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9211:9;:15;9221:4;9211:15;;;;;;;;;;;;;;;:43;;;;9279:40;9297:21;9308:9;9297:6;:10;;:21;;;;:::i;:::-;9279:9;:13;9289:2;9279:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9265:9;:13;9275:2;9265:13;;;;;;;;;;;;;;;:54;;;;9350:2;9335:41;;9344:4;9335:41;;;9354:21;9365:9;9354:6;:10;;:21;;;;:::i;:::-;9335:41;;;;;;:::i;:::-;;;;;;;;7639:1745;7570:1814;;;:::o;1457:190::-;1543:7;1576:1;1571;:6;;1579:12;1563:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1603:9;1619:1;1615;:5;;;;:::i;:::-;1603:17;;1638:1;1631:8;;;1457:190;;;;;:::o;3119:191::-;3193:16;3212:6;;;;;;;;;;;3193:25;;3238:8;3229:6;;:17;;;;;;;;;;;;;;;;;;3293:8;3262:40;;3283:8;3262:40;;;;;;;;;;;;3182:128;3119:191;:::o;1909:132::-;1967:7;1994:39;1998:1;2001;1994:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1987:46;;1909:132;;;;:::o;1655:246::-;1713:7;1742:1;1737;:6;1733:47;;1767:1;1760:8;;;;1733:47;1790:9;1806:1;1802;:5;;;;:::i;:::-;1790:17;;1835:1;1830;1826;:5;;;;:::i;:::-;:10;1818:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1892:1;1885:8;;;1655:246;;;;;:::o;9500:520::-;5185:4;5176:6;;:13;;;;;;;;;;;;;;;;;;9594:1:::1;9581:11;:14:::0;9578:27;9597:7:::1;9578:27;9615:21;9653:1;9639:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9615:40;;9684:4;9666;9671:1;9666:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9710:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9700:4;9705:1;9700:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9743:62;9760:4;9775:15;;;;;;;;;;;9793:11;9743:8;:62::i;:::-;9816:15;;;;;;;;;;;:66;;;9897:11;9923:1;9939:4;9966;9986:15;9816:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9567:453;5200:1;5221:5:::0;5212:6;;:14;;;;;;;;;;;;;;;;;;9500:520;:::o;10028:184::-;10085:16;10115:18;;;;;;;;;;;10107:32;;10147:6;10107:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10084:74;;;10177:11;10169:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;10074:138;10028:184;:::o;1126:179::-;1184:7;1204:9;1220:1;1216;:5;;;;:::i;:::-;1204:17;;1245:1;1240;:6;;1232:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1296:1;1289:8;;;1126:179;;;;:::o;1313:136::-;1371:7;1398:43;1402:1;1405;1398:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1391:50;;1313:136;;;;:::o;2049:189::-;2135:7;2167:1;2163;:5;2170:12;2155:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2194:9;2210:1;2206;:5;;;;:::i;:::-;2194:17;;2229:1;2222:8;;;2049:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:104::-;4178:7;4207:24;4225:5;4207:24;:::i;:::-;4196:35;;4133:104;;;:::o;4243:142::-;4346:32;4372:5;4346:32;:::i;:::-;4341:3;4334:45;4243:142;;:::o;4391:254::-;4500:4;4538:2;4527:9;4523:18;4515:26;;4551:87;4635:1;4624:9;4620:17;4611:6;4551:87;:::i;:::-;4391:254;;;;:::o;4651:619::-;4728:6;4736;4744;4793:2;4781:9;4772:7;4768:23;4764:32;4761:119;;;4799:79;;:::i;:::-;4761:119;4919:1;4944:53;4989:7;4980:6;4969:9;4965:22;4944:53;:::i;:::-;4934:63;;4890:117;5046:2;5072:53;5117:7;5108:6;5097:9;5093:22;5072:53;:::i;:::-;5062:63;;5017:118;5174:2;5200:53;5245:7;5236:6;5225:9;5221:22;5200:53;:::i;:::-;5190:63;;5145:118;4651:619;;;;;:::o;5276:86::-;5311:7;5351:4;5344:5;5340:16;5329:27;;5276:86;;;:::o;5368:112::-;5451:22;5467:5;5451:22;:::i;:::-;5446:3;5439:35;5368:112;;:::o;5486:214::-;5575:4;5613:2;5602:9;5598:18;5590:26;;5626:67;5690:1;5679:9;5675:17;5666:6;5626:67;:::i;:::-;5486:214;;;;:::o;5706:117::-;5815:1;5812;5805:12;5829:180;5877:77;5874:1;5867:88;5974:4;5971:1;5964:15;5998:4;5995:1;5988:15;6015:281;6098:27;6120:4;6098:27;:::i;:::-;6090:6;6086:40;6228:6;6216:10;6213:22;6192:18;6180:10;6177:34;6174:62;6171:88;;;6239:18;;:::i;:::-;6171:88;6279:10;6275:2;6268:22;6058:238;6015:281;;:::o;6302:129::-;6336:6;6363:20;;:::i;:::-;6353:30;;6392:33;6420:4;6412:6;6392:33;:::i;:::-;6302:129;;;:::o;6437:311::-;6514:4;6604:18;6596:6;6593:30;6590:56;;;6626:18;;:::i;:::-;6590:56;6676:4;6668:6;6664:17;6656:25;;6736:4;6730;6726:15;6718:23;;6437:311;;;:::o;6754:117::-;6863:1;6860;6853:12;6894:710;6990:5;7015:81;7031:64;7088:6;7031:64;:::i;:::-;7015:81;:::i;:::-;7006:90;;7116:5;7145:6;7138:5;7131:21;7179:4;7172:5;7168:16;7161:23;;7232:4;7224:6;7220:17;7212:6;7208:30;7261:3;7253:6;7250:15;7247:122;;;7280:79;;:::i;:::-;7247:122;7395:6;7378:220;7412:6;7407:3;7404:15;7378:220;;;7487:3;7516:37;7549:3;7537:10;7516:37;:::i;:::-;7511:3;7504:50;7583:4;7578:3;7574:14;7567:21;;7454:144;7438:4;7433:3;7429:14;7422:21;;7378:220;;;7382:21;6996:608;;6894:710;;;;;:::o;7627:370::-;7698:5;7747:3;7740:4;7732:6;7728:17;7724:27;7714:122;;7755:79;;:::i;:::-;7714:122;7872:6;7859:20;7897:94;7987:3;7979:6;7972:4;7964:6;7960:17;7897:94;:::i;:::-;7888:103;;7704:293;7627:370;;;;:::o;8003:539::-;8087:6;8136:2;8124:9;8115:7;8111:23;8107:32;8104:119;;;8142:79;;:::i;:::-;8104:119;8290:1;8279:9;8275:17;8262:31;8320:18;8312:6;8309:30;8306:117;;;8342:79;;:::i;:::-;8306:117;8447:78;8517:7;8508:6;8497:9;8493:22;8447:78;:::i;:::-;8437:88;;8233:302;8003:539;;;;:::o;8548:118::-;8635:24;8653:5;8635:24;:::i;:::-;8630:3;8623:37;8548:118;;:::o;8672:222::-;8765:4;8803:2;8792:9;8788:18;8780:26;;8816:71;8884:1;8873:9;8869:17;8860:6;8816:71;:::i;:::-;8672:222;;;;:::o;8900:329::-;8959:6;9008:2;8996:9;8987:7;8983:23;8979:32;8976:119;;;9014:79;;:::i;:::-;8976:119;9134:1;9159:53;9204:7;9195:6;9184:9;9180:22;9159:53;:::i;:::-;9149:63;;9105:117;8900:329;;;;:::o;9235:474::-;9303:6;9311;9360:2;9348:9;9339:7;9335:23;9331:32;9328:119;;;9366:79;;:::i;:::-;9328:119;9486:1;9511:53;9556:7;9547:6;9536:9;9532:22;9511:53;:::i;:::-;9501:63;;9457:117;9613:2;9639:53;9684:7;9675:6;9664:9;9660:22;9639:53;:::i;:::-;9629:63;;9584:118;9235:474;;;;;:::o;9715:180::-;9763:77;9760:1;9753:88;9860:4;9857:1;9850:15;9884:4;9881:1;9874:15;9901:102;9943:8;9990:5;9987:1;9983:13;9962:34;;9901:102;;;:::o;10009:848::-;10070:5;10077:4;10101:6;10092:15;;10125:5;10116:14;;10139:712;10160:1;10150:8;10147:15;10139:712;;;10255:4;10250:3;10246:14;10240:4;10237:24;10234:50;;;10264:18;;:::i;:::-;10234:50;10314:1;10304:8;10300:16;10297:451;;;10729:4;10722:5;10718:16;10709:25;;10297:451;10779:4;10773;10769:15;10761:23;;10809:32;10832:8;10809:32;:::i;:::-;10797:44;;10139:712;;;10009:848;;;;;;;:::o;10863:1073::-;10917:5;11108:8;11098:40;;11129:1;11120:10;;11131:5;;11098:40;11157:4;11147:36;;11174:1;11165:10;;11176:5;;11147:36;11243:4;11291:1;11286:27;;;;11327:1;11322:191;;;;11236:277;;11286:27;11304:1;11295:10;;11306:5;;;11322:191;11367:3;11357:8;11354:17;11351:43;;;11374:18;;:::i;:::-;11351:43;11423:8;11420:1;11416:16;11407:25;;11458:3;11451:5;11448:14;11445:40;;;11465:18;;:::i;:::-;11445:40;11498:5;;;11236:277;;11622:2;11612:8;11609:16;11603:3;11597:4;11594:13;11590:36;11572:2;11562:8;11559:16;11554:2;11548:4;11545:12;11541:35;11525:111;11522:246;;;11678:8;11672:4;11668:19;11659:28;;11713:3;11706:5;11703:14;11700:40;;;11720:18;;:::i;:::-;11700:40;11753:5;;11522:246;11793:42;11831:3;11821:8;11815:4;11812:1;11793:42;:::i;:::-;11778:57;;;;11867:4;11862:3;11858:14;11851:5;11848:25;11845:51;;;11876:18;;:::i;:::-;11845:51;11925:4;11918:5;11914:16;11905:25;;10863:1073;;;;;;:::o;11942:281::-;12000:5;12024:23;12042:4;12024:23;:::i;:::-;12016:31;;12068:25;12084:8;12068:25;:::i;:::-;12056:37;;12112:104;12149:66;12139:8;12133:4;12112:104;:::i;:::-;12103:113;;11942:281;;;;:::o;12229:410::-;12269:7;12292:20;12310:1;12292:20;:::i;:::-;12287:25;;12326:20;12344:1;12326:20;:::i;:::-;12321:25;;12381:1;12378;12374:9;12403:30;12421:11;12403:30;:::i;:::-;12392:41;;12582:1;12573:7;12569:15;12566:1;12563:22;12543:1;12536:9;12516:83;12493:139;;12612:18;;:::i;:::-;12493:139;12277:362;12229:410;;;;:::o;12645:180::-;12693:77;12690:1;12683:88;12790:4;12787:1;12780:15;12814:4;12811:1;12804:15;12831:164;12971:16;12967:1;12959:6;12955:14;12948:40;12831:164;:::o;13001:366::-;13143:3;13164:67;13228:2;13223:3;13164:67;:::i;:::-;13157:74;;13240:93;13329:3;13240:93;:::i;:::-;13358:2;13353:3;13349:12;13342:19;;13001:366;;;:::o;13373:419::-;13539:4;13577:2;13566:9;13562:18;13554:26;;13626:9;13620:4;13616:20;13612:1;13601:9;13597:17;13590:47;13654:131;13780:4;13654:131;:::i;:::-;13646:139;;13373:419;;;:::o;13798:225::-;13938:34;13934:1;13926:6;13922:14;13915:58;14007:8;14002:2;13994:6;13990:15;13983:33;13798:225;:::o;14029:366::-;14171:3;14192:67;14256:2;14251:3;14192:67;:::i;:::-;14185:74;;14268:93;14357:3;14268:93;:::i;:::-;14386:2;14381:3;14377:12;14370:19;;14029:366;;;:::o;14401:419::-;14567:4;14605:2;14594:9;14590:18;14582:26;;14654:9;14648:4;14644:20;14640:1;14629:9;14625:17;14618:47;14682:131;14808:4;14682:131;:::i;:::-;14674:139;;14401:419;;;:::o;14826:223::-;14966:34;14962:1;14954:6;14950:14;14943:58;15035:6;15030:2;15022:6;15018:15;15011:31;14826:223;:::o;15055:366::-;15197:3;15218:67;15282:2;15277:3;15218:67;:::i;:::-;15211:74;;15294:93;15383:3;15294:93;:::i;:::-;15412:2;15407:3;15403:12;15396:19;;15055:366;;;:::o;15427:419::-;15593:4;15631:2;15620:9;15616:18;15608:26;;15680:9;15674:4;15670:20;15666:1;15655:9;15651:17;15644:47;15708:131;15834:4;15708:131;:::i;:::-;15700:139;;15427:419;;;:::o;15852:221::-;15992:34;15988:1;15980:6;15976:14;15969:58;16061:4;16056:2;16048:6;16044:15;16037:29;15852:221;:::o;16079:366::-;16221:3;16242:67;16306:2;16301:3;16242:67;:::i;:::-;16235:74;;16318:93;16407:3;16318:93;:::i;:::-;16436:2;16431:3;16427:12;16420:19;;16079:366;;;:::o;16451:419::-;16617:4;16655:2;16644:9;16640:18;16632:26;;16704:9;16698:4;16694:20;16690:1;16679:9;16675:17;16668:47;16732:131;16858:4;16732:131;:::i;:::-;16724:139;;16451:419;;;:::o;16876:182::-;17016:34;17012:1;17004:6;17000:14;16993:58;16876:182;:::o;17064:366::-;17206:3;17227:67;17291:2;17286:3;17227:67;:::i;:::-;17220:74;;17303:93;17392:3;17303:93;:::i;:::-;17421:2;17416:3;17412:12;17405:19;;17064:366;;;:::o;17436:419::-;17602:4;17640:2;17629:9;17625:18;17617:26;;17689:9;17683:4;17679:20;17675:1;17664:9;17660:17;17653:47;17717:131;17843:4;17717:131;:::i;:::-;17709:139;;17436:419;;;:::o;17861:224::-;18001:34;17997:1;17989:6;17985:14;17978:58;18070:7;18065:2;18057:6;18053:15;18046:32;17861:224;:::o;18091:366::-;18233:3;18254:67;18318:2;18313:3;18254:67;:::i;:::-;18247:74;;18330:93;18419:3;18330:93;:::i;:::-;18448:2;18443:3;18439:12;18432:19;;18091:366;;;:::o;18463:419::-;18629:4;18667:2;18656:9;18652:18;18644:26;;18716:9;18710:4;18706:20;18702:1;18691:9;18687:17;18680:47;18744:131;18870:4;18744:131;:::i;:::-;18736:139;;18463:419;;;:::o;18888:222::-;19028:34;19024:1;19016:6;19012:14;19005:58;19097:5;19092:2;19084:6;19080:15;19073:30;18888:222;:::o;19116:366::-;19258:3;19279:67;19343:2;19338:3;19279:67;:::i;:::-;19272:74;;19355:93;19444:3;19355:93;:::i;:::-;19473:2;19468:3;19464:12;19457:19;;19116:366;;;:::o;19488:419::-;19654:4;19692:2;19681:9;19677:18;19669:26;;19741:9;19735:4;19731:20;19727:1;19716:9;19712:17;19705:47;19769:131;19895:4;19769:131;:::i;:::-;19761:139;;19488:419;;;:::o;19913:228::-;20053:34;20049:1;20041:6;20037:14;20030:58;20122:11;20117:2;20109:6;20105:15;20098:36;19913:228;:::o;20147:366::-;20289:3;20310:67;20374:2;20369:3;20310:67;:::i;:::-;20303:74;;20386:93;20475:3;20386:93;:::i;:::-;20504:2;20499:3;20495:12;20488:19;;20147:366;;;:::o;20519:419::-;20685:4;20723:2;20712:9;20708:18;20700:26;;20772:9;20766:4;20762:20;20758:1;20747:9;20743:17;20736:47;20800:131;20926:4;20800:131;:::i;:::-;20792:139;;20519:419;;;:::o;20944:181::-;21084:33;21080:1;21072:6;21068:14;21061:57;20944:181;:::o;21131:366::-;21273:3;21294:67;21358:2;21353:3;21294:67;:::i;:::-;21287:74;;21370:93;21459:3;21370:93;:::i;:::-;21488:2;21483:3;21479:12;21472:19;;21131:366;;;:::o;21503:419::-;21669:4;21707:2;21696:9;21692:18;21684:26;;21756:9;21750:4;21746:20;21742:1;21731:9;21727:17;21720:47;21784:131;21910:4;21784:131;:::i;:::-;21776:139;;21503:419;;;:::o;21928:191::-;21968:3;21987:20;22005:1;21987:20;:::i;:::-;21982:25;;22021:20;22039:1;22021:20;:::i;:::-;22016:25;;22064:1;22061;22057:9;22050:16;;22085:3;22082:1;22079:10;22076:36;;;22092:18;;:::i;:::-;22076:36;21928:191;;;;:::o;22125:177::-;22265:29;22261:1;22253:6;22249:14;22242:53;22125:177;:::o;22308:366::-;22450:3;22471:67;22535:2;22530:3;22471:67;:::i;:::-;22464:74;;22547:93;22636:3;22547:93;:::i;:::-;22665:2;22660:3;22656:12;22649:19;;22308:366;;;:::o;22680:419::-;22846:4;22884:2;22873:9;22869:18;22861:26;;22933:9;22927:4;22923:20;22919:1;22908:9;22904:17;22897:47;22961:131;23087:4;22961:131;:::i;:::-;22953:139;;22680:419;;;:::o;23105:194::-;23145:4;23165:20;23183:1;23165:20;:::i;:::-;23160:25;;23199:20;23217:1;23199:20;:::i;:::-;23194:25;;23243:1;23240;23236:9;23228:17;;23267:1;23261:4;23258:11;23255:37;;;23272:18;;:::i;:::-;23255:37;23105:194;;;;:::o;23305:180::-;23353:77;23350:1;23343:88;23450:4;23447:1;23440:15;23474:4;23471:1;23464:15;23491:185;23531:1;23548:20;23566:1;23548:20;:::i;:::-;23543:25;;23582:20;23600:1;23582:20;:::i;:::-;23577:25;;23621:1;23611:35;;23626:18;;:::i;:::-;23611:35;23668:1;23665;23661:9;23656:14;;23491:185;;;;:::o;23682:220::-;23822:34;23818:1;23810:6;23806:14;23799:58;23891:3;23886:2;23878:6;23874:15;23867:28;23682:220;:::o;23908:366::-;24050:3;24071:67;24135:2;24130:3;24071:67;:::i;:::-;24064:74;;24147:93;24236:3;24147:93;:::i;:::-;24265:2;24260:3;24256:12;24249:19;;23908:366;;;:::o;24280:419::-;24446:4;24484:2;24473:9;24469:18;24461:26;;24533:9;24527:4;24523:20;24519:1;24508:9;24504:17;24497:47;24561:131;24687:4;24561:131;:::i;:::-;24553:139;;24280:419;;;:::o;24705:143::-;24762:5;24793:6;24787:13;24778:22;;24809:33;24836:5;24809:33;:::i;:::-;24705:143;;;;:::o;24854:351::-;24924:6;24973:2;24961:9;24952:7;24948:23;24944:32;24941:119;;;24979:79;;:::i;:::-;24941:119;25099:1;25124:64;25180:7;25171:6;25160:9;25156:22;25124:64;:::i;:::-;25114:74;;25070:128;24854:351;;;;:::o;25211:85::-;25256:7;25285:5;25274:16;;25211:85;;;:::o;25302:60::-;25330:3;25351:5;25344:12;;25302:60;;;:::o;25368:158::-;25426:9;25459:61;25477:42;25486:32;25512:5;25486:32;:::i;:::-;25477:42;:::i;:::-;25459:61;:::i;:::-;25446:74;;25368:158;;;:::o;25532:147::-;25627:45;25666:5;25627:45;:::i;:::-;25622:3;25615:58;25532:147;;:::o;25685:114::-;25752:6;25786:5;25780:12;25770:22;;25685:114;;;:::o;25805:184::-;25904:11;25938:6;25933:3;25926:19;25978:4;25973:3;25969:14;25954:29;;25805:184;;;;:::o;25995:132::-;26062:4;26085:3;26077:11;;26115:4;26110:3;26106:14;26098:22;;25995:132;;;:::o;26133:108::-;26210:24;26228:5;26210:24;:::i;:::-;26205:3;26198:37;26133:108;;:::o;26247:179::-;26316:10;26337:46;26379:3;26371:6;26337:46;:::i;:::-;26415:4;26410:3;26406:14;26392:28;;26247:179;;;;:::o;26432:113::-;26502:4;26534;26529:3;26525:14;26517:22;;26432:113;;;:::o;26581:732::-;26700:3;26729:54;26777:5;26729:54;:::i;:::-;26799:86;26878:6;26873:3;26799:86;:::i;:::-;26792:93;;26909:56;26959:5;26909:56;:::i;:::-;26988:7;27019:1;27004:284;27029:6;27026:1;27023:13;27004:284;;;27105:6;27099:13;27132:63;27191:3;27176:13;27132:63;:::i;:::-;27125:70;;27218:60;27271:6;27218:60;:::i;:::-;27208:70;;27064:224;27051:1;27048;27044:9;27039:14;;27004:284;;;27008:14;27304:3;27297:10;;26705:608;;;26581:732;;;;:::o;27319:831::-;27582:4;27620:3;27609:9;27605:19;27597:27;;27634:71;27702:1;27691:9;27687:17;27678:6;27634:71;:::i;:::-;27715:80;27791:2;27780:9;27776:18;27767:6;27715:80;:::i;:::-;27842:9;27836:4;27832:20;27827:2;27816:9;27812:18;27805:48;27870:108;27973:4;27964:6;27870:108;:::i;:::-;27862:116;;27988:72;28056:2;28045:9;28041:18;28032:6;27988:72;:::i;:::-;28070:73;28138:3;28127:9;28123:19;28114:6;28070:73;:::i;:::-;27319:831;;;;;;;;:::o;28156:147::-;28257:11;28294:3;28279:18;;28156:147;;;;:::o;28309:114::-;;:::o;28429:398::-;28588:3;28609:83;28690:1;28685:3;28609:83;:::i;:::-;28602:90;;28701:93;28790:3;28701:93;:::i;:::-;28819:1;28814:3;28810:11;28803:18;;28429:398;;;:::o;28833:379::-;29017:3;29039:147;29182:3;29039:147;:::i;:::-;29032:154;;29203:3;29196:10;;28833:379;;;:::o;29218:161::-;29358:13;29354:1;29346:6;29342:14;29335:37;29218:161;:::o;29385:366::-;29527:3;29548:67;29612:2;29607:3;29548:67;:::i;:::-;29541:74;;29624:93;29713:3;29624:93;:::i;:::-;29742:2;29737:3;29733:12;29726:19;;29385:366;;;:::o;29757:419::-;29923:4;29961:2;29950:9;29946:18;29938:26;;30010:9;30004:4;30000:20;29996:1;29985:9;29981:17;29974:47;30038:131;30164:4;30038:131;:::i;:::-;30030:139;;29757:419;;;:::o;30182:177::-;30322:29;30318:1;30310:6;30306:14;30299:53;30182:177;:::o;30365:366::-;30507:3;30528:67;30592:2;30587:3;30528:67;:::i;:::-;30521:74;;30604:93;30693:3;30604:93;:::i;:::-;30722:2;30717:3;30713:12;30706:19;;30365:366;;;:::o;30737:419::-;30903:4;30941:2;30930:9;30926:18;30918:26;;30990:9;30984:4;30980:20;30976:1;30965:9;30961:17;30954:47;31018:131;31144:4;31018:131;:::i;:::-;31010:139;;30737:419;;;:::o

Swarm Source

ipfs://550c88e2b0c9232af3af8a0afcac36e73506cc423146698c9baaef95dbdd36f0

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.