ETH Price: $2,948.30 (-3.68%)
Gas: 0.06 Gwei
 

Overview

ETH Balance

0.018 ETH

Eth Value

$53.07 (@ $2,948.30/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve236048522025-10-18 13:33:2366 days ago1760794403IN
0x0118DE47...3E8C74F2E
0 ETH0.000020310.81488106
Approve235294252025-10-08 0:21:2376 days ago1759882883IN
0x0118DE47...3E8C74F2E
0 ETH0.0000050.20094727
Approve232365432025-08-28 2:10:23117 days ago1756347023IN
0x0118DE47...3E8C74F2E
0 ETH0.000117662.49545907
Approve231450662025-08-15 7:53:35130 days ago1755244415IN
0x0118DE47...3E8C74F2E
0 ETH0.000035730.75746958
Approve230776512025-08-05 21:48:23139 days ago1754430503IN
0x0118DE47...3E8C74F2E
0 ETH0.000117782.49498197
Approve230124482025-07-27 19:02:47148 days ago1753642967IN
0x0118DE47...3E8C74F2E
0 ETH0.000249055.27686118
Transfer230124452025-07-27 19:02:11148 days ago1753642931IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124452025-07-27 19:02:11148 days ago1753642931IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124452025-07-27 19:02:11148 days ago1753642931IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124442025-07-27 19:01:59148 days ago1753642919IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124442025-07-27 19:01:59148 days ago1753642919IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124442025-07-27 19:01:59148 days ago1753642919IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124432025-07-27 19:01:47148 days ago1753642907IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124432025-07-27 19:01:47148 days ago1753642907IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124432025-07-27 19:01:47148 days ago1753642907IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124432025-07-27 19:01:47148 days ago1753642907IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124422025-07-27 19:01:35148 days ago1753642895IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124422025-07-27 19:01:35148 days ago1753642895IN
0x0118DE47...3E8C74F2E
0 ETH0.0014908830
Transfer230124422025-07-27 19:01:35148 days ago1753642895IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124412025-07-27 19:01:23148 days ago1753642883IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124412025-07-27 19:01:23148 days ago1753642883IN
0x0118DE47...3E8C74F2E
0 ETH0.0014908830
Transfer230124412025-07-27 19:01:23148 days ago1753642883IN
0x0118DE47...3E8C74F2E
0 ETH0.0014908830
Transfer230124412025-07-27 19:01:23148 days ago1753642883IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
Transfer230124402025-07-27 19:01:11148 days ago1753642871IN
0x0118DE47...3E8C74F2E
0 ETH0.0014919630
Transfer230124402025-07-27 19:01:11148 days ago1753642871IN
0x0118DE47...3E8C74F2E
0 ETH0.0014926830
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer229914132025-07-24 20:31:23151 days ago1753389083
0x0118DE47...3E8C74F2E
0.19376749 ETH
Transfer229914132025-07-24 20:31:23151 days ago1753389083
0x0118DE47...3E8C74F2E
0.19376749 ETH
Transfer229914122025-07-24 20:31:11151 days ago1753389071
0x0118DE47...3E8C74F2E
0.15686622 ETH
Transfer229914122025-07-24 20:31:11151 days ago1753389071
0x0118DE47...3E8C74F2E
0.15686622 ETH
Transfer229914122025-07-24 20:31:11151 days ago1753389071
0x0118DE47...3E8C74F2E
0.55896151 ETH
Transfer229914122025-07-24 20:31:11151 days ago1753389071
0x0118DE47...3E8C74F2E
0.55896151 ETH
Transfer229914102025-07-24 20:30:47151 days ago1753389047
0x0118DE47...3E8C74F2E
0.00198523 ETH
Transfer229914102025-07-24 20:30:47151 days ago1753389047
0x0118DE47...3E8C74F2E
0.00198523 ETH
Transfer229914092025-07-24 20:30:35151 days ago1753389035
0x0118DE47...3E8C74F2E
0.16111004 ETH
Transfer229914092025-07-24 20:30:35151 days ago1753389035
0x0118DE47...3E8C74F2E
0.16111004 ETH
Transfer229914082025-07-24 20:30:23151 days ago1753389023
0x0118DE47...3E8C74F2E
0.51733152 ETH
Transfer229914082025-07-24 20:30:23151 days ago1753389023
0x0118DE47...3E8C74F2E
0.51733152 ETH
Transfer229914072025-07-24 20:30:11151 days ago1753389011
0x0118DE47...3E8C74F2E
0.20332 ETH
Transfer229914072025-07-24 20:30:11151 days ago1753389011
0x0118DE47...3E8C74F2E
0.20332 ETH
Transfer229914002025-07-24 20:28:47151 days ago1753388927
0x0118DE47...3E8C74F2E
0.17580161 ETH
Transfer229914002025-07-24 20:28:47151 days ago1753388927
0x0118DE47...3E8C74F2E
0.17580161 ETH
Transfer229913982025-07-24 20:28:23151 days ago1753388903
0x0118DE47...3E8C74F2E
0.13054783 ETH
Transfer229913982025-07-24 20:28:23151 days ago1753388903
0x0118DE47...3E8C74F2E
0.13054783 ETH
Transfer229913942025-07-24 20:27:35151 days ago1753388855
0x0118DE47...3E8C74F2E
0.72505292 ETH
Transfer229913942025-07-24 20:27:35151 days ago1753388855
0x0118DE47...3E8C74F2E
0.72505292 ETH
Transfer229913932025-07-24 20:27:23151 days ago1753388843
0x0118DE47...3E8C74F2E
0.20912006 ETH
Transfer229913932025-07-24 20:27:23151 days ago1753388843
0x0118DE47...3E8C74F2E
0.20912006 ETH
Transfer229913912025-07-24 20:26:59151 days ago1753388819
0x0118DE47...3E8C74F2E
0.28081621 ETH
Transfer229913912025-07-24 20:26:59151 days ago1753388819
0x0118DE47...3E8C74F2E
0.28081621 ETH
Transfer229913882025-07-24 20:26:23151 days ago1753388783
0x0118DE47...3E8C74F2E
0.08411572 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
BAKU

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-07-24
*/

/**
Socials:
https://t.me/bakueth
www.bakuoneth.com
x.com/bakuchioneth

TG Bot:
https://t.me/BakuStableBot

Not a casino. A confession booth with seven tables.
$BAKU First interactive baccarat game on telegram.
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.24;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

}

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

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

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = 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 BAKU is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = unicode"Bakuchi-Ba";
    string private constant _symbol = unicode"BAKU";

    uint256 private _buyTax = 0;
    uint256 private _sellTax = 0;

    address payable private _devWallet;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 12000000 * 10**_decimals;
    uint256 public _maxWalletSize = 12000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 1000000 * 10**_decimals;

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


    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(){
        _devWallet = payable(0xa8692c059485d568a369F73E96992eae29160eA3);
        _balances[_msgSender()] = _tTotal;
         _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devWallet] = true;
        _isExcludedFromFee[owner()] = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && from != _devWallet && to != _devWallet) {
            if (!tradingOpen) {
                require(_isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not active.");
            }

            taxAmount = amount.mul(_buyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellTax).div(100);
            }

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

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            taxAmount = 0;
        }

        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 enableTrading() external onlyOwner() {
        tradingOpen = true;
        swapEnabled = true;
    }

    function addLPUni() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,0xa8692c059485d568a369F73E96992eae29160eA3,block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function setFee(uint256 feeOnBuy, uint256 feeOnSell) public onlyOwner {
        _buyTax = feeOnBuy;
        _sellTax = feeOnSell;
    }

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

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

    function removeLimits() external onlyOwner{
        _maxWalletSize=_tTotal;
        _maxTxAmount = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
    
    function sendETHToMw(uint256 amount) private {
        _devWallet.transfer(amount);
    }

    receive() external payable {}

    function takeOutTokens() external {
        require(_msgSender() == _devWallet);
        uint256 amount = balanceOf(address(this));
        _transfer(address(this), _devWallet, amount);
    }

    function manualSendEth() external {
        require(_msgSender()==_devWallet);
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToMw(ethBalance);
        }
    }

    function removeTokensStucked(address _address) public {
        require(_msgSender() == _devWallet);
        require(IERC20(_address).balanceOf(address(this)) > 0, "Can't withdraw 0");

        IERC20(_address).transfer(msg.sender, IERC20(_address).balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

API
[{"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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLPUni","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeTokensStucked","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeOnBuy","type":"uint256"},{"internalType":"uint256","name":"feeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"takeOutTokens","outputs":[],"stateMutability":"nonpayable","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"}]

6080604052600060045560006005556009600a6200001e919062000850565b62b71b006200002e9190620008a1565b6007556009600a62000041919062000850565b62b71b00620000519190620008a1565b6008556009600a62000064919062000850565b62989680620000749190620008a1565b6009556009600a62000087919062000850565b620f4240620000979190620008a1565b600a556000600c60146101000a81548160ff0219169083151502179055506000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff021916908315150217905550348015620000f857600080fd5b5060006200010b6200068560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073a8692c059485d568a369f73e96992eae29160ea3600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200020e919062000850565b633b9aca006200021f9190620008a1565b60016000620002336200068560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000620003596200068d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200046d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000493919062000956565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200051d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000543919062000956565b6040518363ffffffff1660e01b81526004016200056292919062000999565b6020604051808303816000875af115801562000582573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a8919062000956565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005f86200068560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000657919062000850565b633b9aca00620006689190620008a1565b604051620006779190620009d7565b60405180910390a3620009f4565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000744578086048111156200071c576200071b620006b6565b5b60018516156200072c5780820291505b80810290506200073c85620006e5565b9450620006fc565b94509492505050565b6000826200075f576001905062000832565b816200076f576000905062000832565b81600181146200078857600281146200079357620007c9565b600191505062000832565b60ff841115620007a857620007a7620006b6565b5b8360020a915084821115620007c257620007c1620006b6565b5b5062000832565b5060208310610133831016604e8410600b8410161715620008035782820a905083811115620007fd57620007fc620006b6565b5b62000832565b620008128484846001620006f2565b925090508184048111156200082c576200082b620006b6565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200085d8262000839565b91506200086a8362000843565b9250620008997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200074d565b905092915050565b6000620008ae8262000839565b9150620008bb8362000839565b9250828202620008cb8162000839565b91508282048414831517620008e557620008e4620006b6565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200091e82620008f1565b9050919050565b620009308162000911565b81146200093c57600080fd5b50565b600081519050620009508162000925565b92915050565b6000602082840312156200096f576200096e620008ec565b5b60006200097f848285016200093f565b91505092915050565b620009938162000911565b82525050565b6000604082019050620009b0600083018562000988565b620009bf602083018462000988565b9392505050565b620009d18162000839565b82525050565b6000602082019050620009ee6000830184620009c6565b92915050565b6135288062000a046000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b6578063a4f23b551161006f578063a4f23b55146103fb578063a9059cbb14610424578063b169f03514610461578063bf474bed14610478578063dd62ed3e146104a3578063f2fde38b146104e05761014b565b8063751039fc146103215780637d1db4a5146103385780638a8c523c146103635780638da5cb5b1461037a5780638f9a55c0146103a557806395d89b41146103d05761014b565b806323b872dd1161010857806323b872dd14610225578063313ce5671461026257806337738cfc1461028d57806352f7c988146102a457806370a08231146102cd578063715018a61461030a5761014b565b806306fdde0314610150578063095ea7b31461017b5780630faee56f146101b857806318160ddd146101e35780631deff2161461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610509565b6040516101729190612582565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d919061263d565b610546565b6040516101af9190612698565b60405180910390f35b3480156101c457600080fd5b506101cd610564565b6040516101da91906126c2565b60405180910390f35b3480156101ef57600080fd5b506101f861056a565b60405161020591906126c2565b60405180910390f35b34801561021a57600080fd5b5061022361058e565b005b34801561023157600080fd5b5061024c600480360381019061024791906126dd565b61060a565b6040516102599190612698565b60405180910390f35b34801561026e57600080fd5b506102776106e3565b604051610284919061274c565b60405180910390f35b34801561029957600080fd5b506102a26106ec565b005b3480156102b057600080fd5b506102cb60048036038101906102c69190612767565b6109c8565b005b3480156102d957600080fd5b506102f460048036038101906102ef91906127a7565b610a6f565b60405161030191906126c2565b60405180910390f35b34801561031657600080fd5b5061031f610ab8565b005b34801561032d57600080fd5b50610336610c0b565b005b34801561034457600080fd5b5061034d610d3b565b60405161035a91906126c2565b60405180910390f35b34801561036f57600080fd5b50610378610d41565b005b34801561038657600080fd5b5061038f610e0e565b60405161039c91906127e3565b60405180910390f35b3480156103b157600080fd5b506103ba610e37565b6040516103c791906126c2565b60405180910390f35b3480156103dc57600080fd5b506103e5610e3d565b6040516103f29190612582565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d91906127a7565b610e7a565b005b34801561043057600080fd5b5061044b6004803603810190610446919061263d565b611092565b6040516104589190612698565b60405180910390f35b34801561046d57600080fd5b506104766110b0565b005b34801561048457600080fd5b5061048d61114e565b60405161049a91906126c2565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906127fe565b611154565b6040516104d791906126c2565b60405180910390f35b3480156104ec57600080fd5b50610507600480360381019061050291906127a7565b6111db565b005b60606040518060400160405280600a81526020017f42616b756368692d426100000000000000000000000000000000000000000000815250905090565b600061055a61055361132d565b8484611335565b6001905092915050565b60095481565b60006009600a61057a91906129a0565b633b9aca0061058991906129eb565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105cf61132d565b73ffffffffffffffffffffffffffffffffffffffff16146105ef57600080fd5b6000479050600081111561060757610606816114fe565b5b50565b600061061784848461156a565b6106d88461062361132d565b6106d3856040518060600160405280602881526020016134cb60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068961132d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202d9092919063ffffffff16565b611335565b600190509392505050565b60006009905090565b6106f461132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077890612a79565b60405180910390fd5b600c60169054906101000a900460ff16156107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890612ae5565b60405180910390fd5b61081a30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61080691906129a0565b633b9aca0061081591906129eb565b611335565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061086330610a6f565b60008073a8692c059485d568a369f73e96992eae29160ea3426040518863ffffffff1660e01b815260040161089d96959493929190612b4a565b60606040518083038185885af11580156108bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108e09190612bc0565b505050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610982929190612c13565b6020604051808303816000875af11580156109a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c59190612c68565b50565b6109d061132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490612a79565b60405180910390fd5b81600481905550806005819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ac061132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4490612a79565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c1361132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9790612a79565b60405180910390fd5b6009600a610cae91906129a0565b633b9aca00610cbd91906129eb565b6008819055506009600a610cd191906129a0565b633b9aca00610ce091906129eb565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d1591906129a0565b633b9aca00610d2491906129eb565b604051610d3191906126c2565b60405180910390a1565b60075481565b610d4961132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd90612a79565b60405180910390fd5b6001600c60166101000a81548160ff0219169083151502179055506001600c60156101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085481565b60606040518060400160405280600481526020017f42414b5500000000000000000000000000000000000000000000000000000000815250905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ebb61132d565b73ffffffffffffffffffffffffffffffffffffffff1614610edb57600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f1691906127e3565b602060405180830381865afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f579190612c95565b11610f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8e90612d0e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fed91906127e3565b602060405180830381865afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190612c95565b6040518363ffffffff1660e01b815260040161104b929190612c13565b6020604051808303816000875af115801561106a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108e9190612c68565b5050565b60006110a661109f61132d565b848461156a565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110f161132d565b73ffffffffffffffffffffffffffffffffffffffff161461111157600080fd5b600061111c30610a6f565b905061114b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361156a565b50565b600a5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111e361132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126790612a79565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612da0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a90612e32565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114f191906126c2565b60405180910390a3505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611566573d6000803e3d6000fd5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612ec4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163f90612f56565b60405180910390fd5b6000811161168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168290612fe8565b60405180910390fd5b6000611695610e0e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561170357506116d3610e0e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561175d5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117b75750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c1257600c60169054906101000a900460ff166118b157600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118715750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6118b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a790613054565b60405180910390fd5b5b6118d960646118cb6004548561209190919063ffffffff16565b61210b90919063ffffffff16565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119865750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119dc5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7f57600754821115611a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1d906130c0565b60405180910390fd5b60085482611a3385610a6f565b611a3d91906130e0565b1115611a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7590613160565b60405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b0857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b3857611b356064611b276005548561209190919063ffffffff16565b61210b90919063ffffffff16565b90505b6000611b4330610a6f565b9050600c60149054906101000a900460ff16158015611baf5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bc75750600c60159054906101000a900460ff165b8015611bd45750600a5481115b15611c1057611bf6611bf184611bec84600954612155565b612155565b61216e565b60004790506000811115611c0e57611c0d476114fe565b5b505b505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cb35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611d665750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d655750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611d7057600090505b6000811115611e7457611dcb81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e790919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e6b91906126c2565b60405180910390a35b611ec682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461244590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f6d611f1f828461244590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612012848661244590919063ffffffff16565b60405161201f91906126c2565b60405180910390a350505050565b6000838311158290612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c9190612582565b60405180910390fd5b50600083856120849190613180565b9050809150509392505050565b60008083036120a35760009050612105565b600082846120b191906129eb565b90508284826120c091906131e3565b14612100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f790613286565b60405180910390fd5b809150505b92915050565b600061214d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061248f565b905092915050565b60008183116121645782612166565b815b905092915050565b6001600c60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121a6576121a56132a6565b5b6040519080825280602002602001820160405280156121d45781602001602082028036833780820191505090505b50905030816000815181106121ec576121eb6132d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b79190613319565b816001815181106122cb576122ca6132d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061233230600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611335565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612396959493929190613404565b600060405180830381600087803b1580156123b057600080fd5b505af11580156123c4573d6000803e3d6000fd5b50505050506000600c60146101000a81548160ff02191690831515021790555050565b60008082846123f691906130e0565b90508381101561243b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612432906134aa565b60405180910390fd5b8091505092915050565b600061248783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061202d565b905092915050565b600080831182906124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd9190612582565b60405180910390fd5b50600083856124e591906131e3565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561252c578082015181840152602081019050612511565b60008484015250505050565b6000601f19601f8301169050919050565b6000612554826124f2565b61255e81856124fd565b935061256e81856020860161250e565b61257781612538565b840191505092915050565b6000602082019050818103600083015261259c8184612549565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125d4826125a9565b9050919050565b6125e4816125c9565b81146125ef57600080fd5b50565b600081359050612601816125db565b92915050565b6000819050919050565b61261a81612607565b811461262557600080fd5b50565b60008135905061263781612611565b92915050565b60008060408385031215612654576126536125a4565b5b6000612662858286016125f2565b925050602061267385828601612628565b9150509250929050565b60008115159050919050565b6126928161267d565b82525050565b60006020820190506126ad6000830184612689565b92915050565b6126bc81612607565b82525050565b60006020820190506126d760008301846126b3565b92915050565b6000806000606084860312156126f6576126f56125a4565b5b6000612704868287016125f2565b9350506020612715868287016125f2565b925050604061272686828701612628565b9150509250925092565b600060ff82169050919050565b61274681612730565b82525050565b6000602082019050612761600083018461273d565b92915050565b6000806040838503121561277e5761277d6125a4565b5b600061278c85828601612628565b925050602061279d85828601612628565b9150509250929050565b6000602082840312156127bd576127bc6125a4565b5b60006127cb848285016125f2565b91505092915050565b6127dd816125c9565b82525050565b60006020820190506127f860008301846127d4565b92915050565b60008060408385031215612815576128146125a4565b5b6000612823858286016125f2565b9250506020612834858286016125f2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156128c4578086048111156128a05761289f61283e565b5b60018516156128af5780820291505b80810290506128bd8561286d565b9450612884565b94509492505050565b6000826128dd5760019050612999565b816128eb5760009050612999565b8160018114612901576002811461290b5761293a565b6001915050612999565b60ff84111561291d5761291c61283e565b5b8360020a9150848211156129345761293361283e565b5b50612999565b5060208310610133831016604e8410600b841016171561296f5782820a90508381111561296a5761296961283e565b5b612999565b61297c848484600161287a565b925090508184048111156129935761299261283e565b5b81810290505b9392505050565b60006129ab82612607565b91506129b683612730565b92506129e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128cd565b905092915050565b60006129f682612607565b9150612a0183612607565b9250828202612a0f81612607565b91508282048414831517612a2657612a2561283e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612a636020836124fd565b9150612a6e82612a2d565b602082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612acf6017836124fd565b9150612ada82612a99565b602082019050919050565b60006020820190508181036000830152612afe81612ac2565b9050919050565b6000819050919050565b6000819050919050565b6000612b34612b2f612b2a84612b05565b612b0f565b612607565b9050919050565b612b4481612b19565b82525050565b600060c082019050612b5f60008301896127d4565b612b6c60208301886126b3565b612b796040830187612b3b565b612b866060830186612b3b565b612b9360808301856127d4565b612ba060a08301846126b3565b979650505050505050565b600081519050612bba81612611565b92915050565b600080600060608486031215612bd957612bd86125a4565b5b6000612be786828701612bab565b9350506020612bf886828701612bab565b9250506040612c0986828701612bab565b9150509250925092565b6000604082019050612c2860008301856127d4565b612c3560208301846126b3565b9392505050565b612c458161267d565b8114612c5057600080fd5b50565b600081519050612c6281612c3c565b92915050565b600060208284031215612c7e57612c7d6125a4565b5b6000612c8c84828501612c53565b91505092915050565b600060208284031215612cab57612caa6125a4565b5b6000612cb984828501612bab565b91505092915050565b7f43616e2774207769746864726177203000000000000000000000000000000000600082015250565b6000612cf86010836124fd565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d8a6024836124fd565b9150612d9582612d2e565b604082019050919050565b60006020820190508181036000830152612db981612d7d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e1c6022836124fd565b9150612e2782612dc0565b604082019050919050565b60006020820190508181036000830152612e4b81612e0f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eae6025836124fd565b9150612eb982612e52565b604082019050919050565b60006020820190508181036000830152612edd81612ea1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f406023836124fd565b9150612f4b82612ee4565b604082019050919050565b60006020820190508181036000830152612f6f81612f33565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fd26029836124fd565b9150612fdd82612f76565b604082019050919050565b6000602082019050818103600083015261300181612fc5565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061303e6016836124fd565b915061304982613008565b602082019050919050565b6000602082019050818103600083015261306d81613031565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006130aa6019836124fd565b91506130b582613074565b602082019050919050565b600060208201905081810360008301526130d98161309d565b9050919050565b60006130eb82612607565b91506130f683612607565b925082820190508082111561310e5761310d61283e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061314a601a836124fd565b915061315582613114565b602082019050919050565b600060208201905081810360008301526131798161313d565b9050919050565b600061318b82612607565b915061319683612607565b92508282039050818111156131ae576131ad61283e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131ee82612607565b91506131f983612607565b925082613209576132086131b4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132706021836124fd565b915061327b82613214565b604082019050919050565b6000602082019050818103600083015261329f81613263565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613313816125db565b92915050565b60006020828403121561332f5761332e6125a4565b5b600061333d84828501613304565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61337b816125c9565b82525050565b600061338d8383613372565b60208301905092915050565b6000602082019050919050565b60006133b182613346565b6133bb8185613351565b93506133c683613362565b8060005b838110156133f75781516133de8882613381565b97506133e983613399565b9250506001810190506133ca565b5085935050505092915050565b600060a08201905061341960008301886126b3565b6134266020830187612b3b565b818103604083015261343881866133a6565b905061344760608301856127d4565b61345460808301846126b3565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613494601b836124fd565b915061349f8261345e565b602082019050919050565b600060208201905081810360008301526134c381613487565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d3ec75a3c107a121c4f68d62839ba65d18ffeb645c6e1d4a62d8aadcaa7e4cb464736f6c63430008180033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063751039fc116100b6578063a4f23b551161006f578063a4f23b55146103fb578063a9059cbb14610424578063b169f03514610461578063bf474bed14610478578063dd62ed3e146104a3578063f2fde38b146104e05761014b565b8063751039fc146103215780637d1db4a5146103385780638a8c523c146103635780638da5cb5b1461037a5780638f9a55c0146103a557806395d89b41146103d05761014b565b806323b872dd1161010857806323b872dd14610225578063313ce5671461026257806337738cfc1461028d57806352f7c988146102a457806370a08231146102cd578063715018a61461030a5761014b565b806306fdde0314610150578063095ea7b31461017b5780630faee56f146101b857806318160ddd146101e35780631deff2161461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610509565b6040516101729190612582565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d919061263d565b610546565b6040516101af9190612698565b60405180910390f35b3480156101c457600080fd5b506101cd610564565b6040516101da91906126c2565b60405180910390f35b3480156101ef57600080fd5b506101f861056a565b60405161020591906126c2565b60405180910390f35b34801561021a57600080fd5b5061022361058e565b005b34801561023157600080fd5b5061024c600480360381019061024791906126dd565b61060a565b6040516102599190612698565b60405180910390f35b34801561026e57600080fd5b506102776106e3565b604051610284919061274c565b60405180910390f35b34801561029957600080fd5b506102a26106ec565b005b3480156102b057600080fd5b506102cb60048036038101906102c69190612767565b6109c8565b005b3480156102d957600080fd5b506102f460048036038101906102ef91906127a7565b610a6f565b60405161030191906126c2565b60405180910390f35b34801561031657600080fd5b5061031f610ab8565b005b34801561032d57600080fd5b50610336610c0b565b005b34801561034457600080fd5b5061034d610d3b565b60405161035a91906126c2565b60405180910390f35b34801561036f57600080fd5b50610378610d41565b005b34801561038657600080fd5b5061038f610e0e565b60405161039c91906127e3565b60405180910390f35b3480156103b157600080fd5b506103ba610e37565b6040516103c791906126c2565b60405180910390f35b3480156103dc57600080fd5b506103e5610e3d565b6040516103f29190612582565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d91906127a7565b610e7a565b005b34801561043057600080fd5b5061044b6004803603810190610446919061263d565b611092565b6040516104589190612698565b60405180910390f35b34801561046d57600080fd5b506104766110b0565b005b34801561048457600080fd5b5061048d61114e565b60405161049a91906126c2565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906127fe565b611154565b6040516104d791906126c2565b60405180910390f35b3480156104ec57600080fd5b50610507600480360381019061050291906127a7565b6111db565b005b60606040518060400160405280600a81526020017f42616b756368692d426100000000000000000000000000000000000000000000815250905090565b600061055a61055361132d565b8484611335565b6001905092915050565b60095481565b60006009600a61057a91906129a0565b633b9aca0061058991906129eb565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105cf61132d565b73ffffffffffffffffffffffffffffffffffffffff16146105ef57600080fd5b6000479050600081111561060757610606816114fe565b5b50565b600061061784848461156a565b6106d88461062361132d565b6106d3856040518060600160405280602881526020016134cb60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068961132d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202d9092919063ffffffff16565b611335565b600190509392505050565b60006009905090565b6106f461132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077890612a79565b60405180910390fd5b600c60169054906101000a900460ff16156107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890612ae5565b60405180910390fd5b61081a30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61080691906129a0565b633b9aca0061081591906129eb565b611335565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061086330610a6f565b60008073a8692c059485d568a369f73e96992eae29160ea3426040518863ffffffff1660e01b815260040161089d96959493929190612b4a565b60606040518083038185885af11580156108bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108e09190612bc0565b505050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610982929190612c13565b6020604051808303816000875af11580156109a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c59190612c68565b50565b6109d061132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490612a79565b60405180910390fd5b81600481905550806005819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ac061132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4490612a79565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c1361132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9790612a79565b60405180910390fd5b6009600a610cae91906129a0565b633b9aca00610cbd91906129eb565b6008819055506009600a610cd191906129a0565b633b9aca00610ce091906129eb565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d1591906129a0565b633b9aca00610d2491906129eb565b604051610d3191906126c2565b60405180910390a1565b60075481565b610d4961132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcd90612a79565b60405180910390fd5b6001600c60166101000a81548160ff0219169083151502179055506001600c60156101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085481565b60606040518060400160405280600481526020017f42414b5500000000000000000000000000000000000000000000000000000000815250905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ebb61132d565b73ffffffffffffffffffffffffffffffffffffffff1614610edb57600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f1691906127e3565b602060405180830381865afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f579190612c95565b11610f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8e90612d0e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fed91906127e3565b602060405180830381865afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190612c95565b6040518363ffffffff1660e01b815260040161104b929190612c13565b6020604051808303816000875af115801561106a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108e9190612c68565b5050565b60006110a661109f61132d565b848461156a565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110f161132d565b73ffffffffffffffffffffffffffffffffffffffff161461111157600080fd5b600061111c30610a6f565b905061114b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361156a565b50565b600a5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111e361132d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126790612a79565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612da0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a90612e32565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114f191906126c2565b60405180910390a3505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611566573d6000803e3d6000fd5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612ec4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163f90612f56565b60405180910390fd5b6000811161168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168290612fe8565b60405180910390fd5b6000611695610e0e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561170357506116d3610e0e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561175d5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117b75750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c1257600c60169054906101000a900460ff166118b157600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118715750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6118b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a790613054565b60405180910390fd5b5b6118d960646118cb6004548561209190919063ffffffff16565b61210b90919063ffffffff16565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119865750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119dc5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7f57600754821115611a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1d906130c0565b60405180910390fd5b60085482611a3385610a6f565b611a3d91906130e0565b1115611a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7590613160565b60405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b0857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b3857611b356064611b276005548561209190919063ffffffff16565b61210b90919063ffffffff16565b90505b6000611b4330610a6f565b9050600c60149054906101000a900460ff16158015611baf5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bc75750600c60159054906101000a900460ff165b8015611bd45750600a5481115b15611c1057611bf6611bf184611bec84600954612155565b612155565b61216e565b60004790506000811115611c0e57611c0d476114fe565b5b505b505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cb35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611d665750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d655750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611d7057600090505b6000811115611e7457611dcb81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e790919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e6b91906126c2565b60405180910390a35b611ec682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461244590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f6d611f1f828461244590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612012848661244590919063ffffffff16565b60405161201f91906126c2565b60405180910390a350505050565b6000838311158290612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c9190612582565b60405180910390fd5b50600083856120849190613180565b9050809150509392505050565b60008083036120a35760009050612105565b600082846120b191906129eb565b90508284826120c091906131e3565b14612100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f790613286565b60405180910390fd5b809150505b92915050565b600061214d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061248f565b905092915050565b60008183116121645782612166565b815b905092915050565b6001600c60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121a6576121a56132a6565b5b6040519080825280602002602001820160405280156121d45781602001602082028036833780820191505090505b50905030816000815181106121ec576121eb6132d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b79190613319565b816001815181106122cb576122ca6132d5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061233230600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611335565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612396959493929190613404565b600060405180830381600087803b1580156123b057600080fd5b505af11580156123c4573d6000803e3d6000fd5b50505050506000600c60146101000a81548160ff02191690831515021790555050565b60008082846123f691906130e0565b90508381101561243b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612432906134aa565b60405180910390fd5b8091505092915050565b600061248783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061202d565b905092915050565b600080831182906124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd9190612582565b60405180910390fd5b50600083856124e591906131e3565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561252c578082015181840152602081019050612511565b60008484015250505050565b6000601f19601f8301169050919050565b6000612554826124f2565b61255e81856124fd565b935061256e81856020860161250e565b61257781612538565b840191505092915050565b6000602082019050818103600083015261259c8184612549565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125d4826125a9565b9050919050565b6125e4816125c9565b81146125ef57600080fd5b50565b600081359050612601816125db565b92915050565b6000819050919050565b61261a81612607565b811461262557600080fd5b50565b60008135905061263781612611565b92915050565b60008060408385031215612654576126536125a4565b5b6000612662858286016125f2565b925050602061267385828601612628565b9150509250929050565b60008115159050919050565b6126928161267d565b82525050565b60006020820190506126ad6000830184612689565b92915050565b6126bc81612607565b82525050565b60006020820190506126d760008301846126b3565b92915050565b6000806000606084860312156126f6576126f56125a4565b5b6000612704868287016125f2565b9350506020612715868287016125f2565b925050604061272686828701612628565b9150509250925092565b600060ff82169050919050565b61274681612730565b82525050565b6000602082019050612761600083018461273d565b92915050565b6000806040838503121561277e5761277d6125a4565b5b600061278c85828601612628565b925050602061279d85828601612628565b9150509250929050565b6000602082840312156127bd576127bc6125a4565b5b60006127cb848285016125f2565b91505092915050565b6127dd816125c9565b82525050565b60006020820190506127f860008301846127d4565b92915050565b60008060408385031215612815576128146125a4565b5b6000612823858286016125f2565b9250506020612834858286016125f2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156128c4578086048111156128a05761289f61283e565b5b60018516156128af5780820291505b80810290506128bd8561286d565b9450612884565b94509492505050565b6000826128dd5760019050612999565b816128eb5760009050612999565b8160018114612901576002811461290b5761293a565b6001915050612999565b60ff84111561291d5761291c61283e565b5b8360020a9150848211156129345761293361283e565b5b50612999565b5060208310610133831016604e8410600b841016171561296f5782820a90508381111561296a5761296961283e565b5b612999565b61297c848484600161287a565b925090508184048111156129935761299261283e565b5b81810290505b9392505050565b60006129ab82612607565b91506129b683612730565b92506129e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128cd565b905092915050565b60006129f682612607565b9150612a0183612607565b9250828202612a0f81612607565b91508282048414831517612a2657612a2561283e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612a636020836124fd565b9150612a6e82612a2d565b602082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612acf6017836124fd565b9150612ada82612a99565b602082019050919050565b60006020820190508181036000830152612afe81612ac2565b9050919050565b6000819050919050565b6000819050919050565b6000612b34612b2f612b2a84612b05565b612b0f565b612607565b9050919050565b612b4481612b19565b82525050565b600060c082019050612b5f60008301896127d4565b612b6c60208301886126b3565b612b796040830187612b3b565b612b866060830186612b3b565b612b9360808301856127d4565b612ba060a08301846126b3565b979650505050505050565b600081519050612bba81612611565b92915050565b600080600060608486031215612bd957612bd86125a4565b5b6000612be786828701612bab565b9350506020612bf886828701612bab565b9250506040612c0986828701612bab565b9150509250925092565b6000604082019050612c2860008301856127d4565b612c3560208301846126b3565b9392505050565b612c458161267d565b8114612c5057600080fd5b50565b600081519050612c6281612c3c565b92915050565b600060208284031215612c7e57612c7d6125a4565b5b6000612c8c84828501612c53565b91505092915050565b600060208284031215612cab57612caa6125a4565b5b6000612cb984828501612bab565b91505092915050565b7f43616e2774207769746864726177203000000000000000000000000000000000600082015250565b6000612cf86010836124fd565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d8a6024836124fd565b9150612d9582612d2e565b604082019050919050565b60006020820190508181036000830152612db981612d7d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e1c6022836124fd565b9150612e2782612dc0565b604082019050919050565b60006020820190508181036000830152612e4b81612e0f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eae6025836124fd565b9150612eb982612e52565b604082019050919050565b60006020820190508181036000830152612edd81612ea1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f406023836124fd565b9150612f4b82612ee4565b604082019050919050565b60006020820190508181036000830152612f6f81612f33565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612fd26029836124fd565b9150612fdd82612f76565b604082019050919050565b6000602082019050818103600083015261300181612fc5565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061303e6016836124fd565b915061304982613008565b602082019050919050565b6000602082019050818103600083015261306d81613031565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006130aa6019836124fd565b91506130b582613074565b602082019050919050565b600060208201905081810360008301526130d98161309d565b9050919050565b60006130eb82612607565b91506130f683612607565b925082820190508082111561310e5761310d61283e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061314a601a836124fd565b915061315582613114565b602082019050919050565b600060208201905081810360008301526131798161313d565b9050919050565b600061318b82612607565b915061319683612607565b92508282039050818111156131ae576131ad61283e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131ee82612607565b91506131f983612607565b925082613209576132086131b4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132706021836124fd565b915061327b82613214565b604082019050919050565b6000602082019050818103600083015261329f81613263565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613313816125db565b92915050565b60006020828403121561332f5761332e6125a4565b5b600061333d84828501613304565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61337b816125c9565b82525050565b600061338d8383613372565b60208301905092915050565b6000602082019050919050565b60006133b182613346565b6133bb8185613351565b93506133c683613362565b8060005b838110156133f75781516133de8882613381565b97506133e983613399565b9250506001810190506133ca565b5085935050505092915050565b600060a08201905061341960008301886126b3565b6134266020830187612b3b565b818103604083015261343881866133a6565b905061344760608301856127d4565b61345460808301846126b3565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613494601b836124fd565b915061349f8261345e565b602082019050919050565b600060208201905081810360008301526134c381613487565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d3ec75a3c107a121c4f68d62839ba65d18ffeb645c6e1d4a62d8aadcaa7e4cb464736f6c63430008180033

Deployed Bytecode Sourcemap

3867:7847:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5645:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6478:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4602:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5922:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11206:211;;;;;;;;;;;;;:::i;:::-;;6647:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5831:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9512:433;;;;;;;;;;;;;:::i;:::-;;9953:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6025:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2782:148;;;;;;;;;;;;;:::i;:::-;;10696:159;;;;;;;;;;;;;:::i;:::-;;4478:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9392:112;;;;;;;;;;;;;:::i;:::-;;2568:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4539:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5736:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11425:286;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6152:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11003:195;;;;;;;;;;;;;:::i;:::-;;4661:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6327:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2938:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5645:83;5682:13;5715:5;;;;;;;;;;;;;;;;;5708:12;;5645:83;:::o;6478:161::-;6553:4;6570:39;6579:12;:10;:12::i;:::-;6593:7;6602:6;6570:8;:39::i;:::-;6627:4;6620:11;;6478:161;;;;:::o;4602:52::-;;;;:::o;5922:95::-;5975:7;4402:1;4458:2;:13;;;;:::i;:::-;4445:10;:26;;;;:::i;:::-;5995:14;;5922:95;:::o;11206:211::-;11273:10;;;;;;;;;;;11259:24;;:12;:10;:12::i;:::-;:24;;;11251:33;;;;;;11295:18;11314:21;11295:40;;11360:1;11349:10;:12;11346:64;;;11375:23;11387:10;11375:11;:23::i;:::-;11346:64;11240:177;11206:211::o;6647:313::-;6745:4;6762:36;6772:6;6780:9;6791:6;6762:9;:36::i;:::-;6809:121;6818:6;6826:12;:10;:12::i;:::-;6840:89;6878:6;6840:89;;;;;;;;;;;;;;;;;:11;:19;6852:6;6840:19;;;;;;;;;;;;;;;:33;6860:12;:10;:12::i;:::-;6840:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6809:8;:121::i;:::-;6948:4;6941:11;;6647:313;;;;;:::o;5831:83::-;5872:5;4402:1;5890:16;;5831:83;:::o;9512:433::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9573:11:::1;;;;;;;;;;;9572:12;9564:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9622:58;9639:4;9654:15;;;;;;;;;;;4402:1;4458:2;:13;;;;:::i;:::-;4445:10;:26;;;;:::i;:::-;9622:8;:58::i;:::-;9691:15;;;;;;;;;;;:31;;;9730:21;9761:4;9767:24;9785:4;9767:9;:24::i;:::-;9792:1;9794::::0;9796:42:::1;9839:15;9691:164;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9873:13;;;;;;;;;;;9866:29;;;9904:15;;;;;;;;;;;9922:14;9866:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9512:433::o:0;9953:138::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10044:8:::1;10034:7;:18;;;;10074:9;10063:8;:20;;;;9953:138:::0;;:::o;6025:119::-;6091:7;6118:9;:18;6128:7;6118:18;;;;;;;;;;;;;;;;6111:25;;6025:119;;;:::o;2782:148::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2889:1:::1;2852:40;;2873:6;::::0;::::1;;;;;;;;2852:40;;;;;;;;;;;;2920:1;2903:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2782:148::o:0;10696:159::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4402:1:::1;4458:2;:13;;;;:::i;:::-;4445:10;:26;;;;:::i;:::-;10749:14;:22;;;;4402:1;4458:2;:13;;;;:::i;:::-;4445:10;:26;;;;:::i;:::-;10782:12;:22;;;;10820:27;4402:1;4458:2;:13;;;;:::i;:::-;4445:10;:26;;;;:::i;:::-;10820:27;;;;;;:::i;:::-;;;;;;;;10696:159::o:0;4478:54::-;;;;:::o;9392:112::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9463:4:::1;9449:11;;:18;;;;;;;;;;;;;;;;;;9492:4;9478:11;;:18;;;;;;;;;;;;;;;;;;9392:112::o:0;2568:79::-;2606:7;2633:6;;;;;;;;;;;2626:13;;2568:79;:::o;4539:56::-;;;;:::o;5736:87::-;5775:13;5808:7;;;;;;;;;;;;;;;;;5801:14;;5736:87;:::o;11425:286::-;11514:10;;;;;;;;;;;11498:26;;:12;:10;:12::i;:::-;:26;;;11490:35;;;;;;11588:1;11551:8;11544:26;;;11579:4;11544:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;11536:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11630:8;11623:25;;;11649:10;11668:8;11661:26;;;11696:4;11661:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11623:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11425:286;:::o;6152:167::-;6230:4;6247:42;6257:12;:10;:12::i;:::-;6271:9;6282:6;6247:9;:42::i;:::-;6307:4;6300:11;;6152:167;;;;:::o;11003:195::-;11072:10;;;;;;;;;;;11056:26;;:12;:10;:12::i;:::-;:26;;;11048:35;;;;;;11094:14;11111:24;11129:4;11111:9;:24::i;:::-;11094:41;;11146:44;11164:4;11171:10;;;;;;;;;;;11183:6;11146:9;:44::i;:::-;11037:161;11003:195::o;4661:58::-;;;;:::o;6327:143::-;6408:7;6435:11;:18;6447:5;6435:18;;;;;;;;;;;;;;;:27;6454:7;6435:27;;;;;;;;;;;;;;;;6428:34;;6327:143;;;;:::o;2938:160::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3053:8:::1;3024:38;;3045:6;::::0;::::1;;;;;;;;3024:38;;;;;;;;;;;;3082:8;3073:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2938:160:::0;:::o;323:98::-;376:7;403:10;396:17;;323:98;:::o;6968:335::-;7078:1;7061:19;;:5;:19;;;7053:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7159:1;7140:21;;:7;:21;;;7132:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7241:6;7211:11;:18;7223:5;7211:18;;;;;;;;;;;;;;;:27;7230:7;7211:27;;;;;;;;;;;;;;;:36;;;;7279:7;7263:32;;7272:5;7263:32;;;7288:6;7263:32;;;;;;:::i;:::-;;;;;;;;6968:335;;;:::o;10867:91::-;10923:10;;;;;;;;;;;:19;;:27;10943:6;10923:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10867:91;:::o;7311:2073::-;7415:1;7399:18;;:4;:18;;;7391:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7492:1;7478:16;;:2;:16;;;7470:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7562:1;7553:6;:10;7545:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7620:17;7662:7;:5;:7::i;:::-;7654:15;;:4;:15;;;;:32;;;;;7679:7;:5;:7::i;:::-;7673:13;;:2;:13;;;;7654:32;:54;;;;;7698:10;;;;;;;;;;;7690:18;;:4;:18;;;;7654:54;:74;;;;;7718:10;;;;;;;;;;;7712:16;;:2;:16;;;;7654:74;7650:1214;;;7750:11;;;;;;;;;;;7745:138;;7790:18;:24;7809:4;7790:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7818:18;:22;7837:2;7818:22;;;;;;;;;;;;;;;;;;;;;;;;;7790:50;7782:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7745:138;7911:28;7935:3;7911:19;7922:7;;7911:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;7899:40;;7968:13;;;;;;;;;;;7960:21;;:4;:21;;;:55;;;;;7999:15;;;;;;;;;;;7985:30;;:2;:30;;;;7960:55;:83;;;;;8021:18;:22;8040:2;8021:22;;;;;;;;;;;;;;;;;;;;;;;;;8019:24;7960:83;7956:283;;;8083:12;;8073:6;:22;;8065:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8178:14;;8168:6;8152:13;8162:2;8152:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8144:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7956:283;8264:13;;;;;;;;;;;8258:19;;:2;:19;;;:43;;;;;8296:4;8281:20;;:4;:20;;;;8258:43;8255:124;;;8334:29;8359:3;8334:20;8345:8;;8334:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8322:41;;8255:124;8395:28;8426:24;8444:4;8426:9;:24::i;:::-;8395:55;;8470:6;;;;;;;;;;;8469:7;:32;;;;;8488:13;;;;;;;;;;;8480:21;;:2;:21;;;8469:32;:47;;;;;8505:11;;;;;;;;;;;8469:47;:89;;;;;8541:17;;8520:20;:38;8469:89;8465:388;;;8579:67;8596:49;8600:6;8607:37;8611:20;8632:11;;8607:3;:37::i;:::-;8596:3;:49::i;:::-;8579:16;:67::i;:::-;8665:26;8694:21;8665:50;;8758:1;8737:18;:22;8734:104;;;8784:34;8796:21;8784:11;:34::i;:::-;8734:104;8560:293;8465:388;7730:1134;7650:1214;8881:18;:24;8900:4;8881:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8909:18;:22;8928:2;8909:22;;;;;;;;;;;;;;;;;;;;;;;;;8881:50;8880:102;;;;8945:13;;;;;;;;;;;8937:21;;:4;:21;;;;:44;;;;;8968:13;;;;;;;;;;;8962:19;;:2;:19;;;;8937:44;8880:102;8876:148;;;9011:1;8999:13;;8876:148;9051:1;9039:9;:13;9036:163;;;9091:39;9120:9;9091;:24;9109:4;9091:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9066:9;:24;9084:4;9066:24;;;;;;;;;;;;;;;:64;;;;9171:4;9148:39;;9157:4;9148:39;;;9177:9;9148:39;;;;;;:::i;:::-;;;;;;;;9036:163;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;:::-;;;;;;;;7380:2004;7311:2073;;;:::o;1460:190::-;1546:7;1579:1;1574;:6;;1582:12;1566:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1606:9;1622:1;1618;:5;;;;:::i;:::-;1606:17;;1641:1;1634:8;;;1460:190;;;;;:::o;1658:246::-;1716:7;1745:1;1740;:6;1736:47;;1770:1;1763:8;;;;1736:47;1793:9;1809:1;1805;:5;;;;:::i;:::-;1793:17;;1838:1;1833;1829;:5;;;;:::i;:::-;:10;1821:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1895:1;1888:8;;;1658:246;;;;;:::o;1912:132::-;1970:7;1997:39;2001:1;2004;1997:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1990:46;;1912:132;;;;:::o;10099:98::-;10156:7;10183:1;10181;:3;10180:9;;10188:1;10180:9;;;10186:1;10180:9;10173:16;;10099:98;;;;:::o;10205:483::-;5020:4;5011:6;;:13;;;;;;;;;;;;;;;;;;10283:21:::1;10321:1;10307:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10283:40;;10352:4;10334;10339:1;10334:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10378:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10368:4;10373:1;10368:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10411:62;10428:4;10443:15;;;;;;;;;;;10461:11;10411:8;:62::i;:::-;10484:15;;;;;;;;;;;:66;;;10565:11;10591:1;10607:4;10634;10654:15;10484:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10272:416;5056:5:::0;5047:6;;:14;;;;;;;;;;;;;;;;;;10205:483;:::o;1129:179::-;1187:7;1207:9;1223:1;1219;:5;;;;:::i;:::-;1207:17;;1248:1;1243;:6;;1235:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1299:1;1292:8;;;1129:179;;;;:::o;1316:136::-;1374:7;1401:43;1405:1;1408;1401:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1394:50;;1316:136;;;;:::o;2052:189::-;2138:7;2170:1;2166;:5;2173:12;2158:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2197:9;2213:1;2209;:5;;;;:::i;:::-;2197:17;;2232:1;2225:8;;;2052: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;1430:117::-;1539:1;1536;1529: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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:474::-;4921:6;4929;4978:2;4966:9;4957:7;4953:23;4949:32;4946:119;;;4984:79;;:::i;:::-;4946:119;5104:1;5129:53;5174:7;5165:6;5154:9;5150:22;5129:53;:::i;:::-;5119:63;;5075:117;5231:2;5257:53;5302:7;5293:6;5282:9;5278:22;5257:53;:::i;:::-;5247:63;;5202:118;4853:474;;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:102;6728:8;6775:5;6772:1;6768:13;6747:34;;6686:102;;;:::o;6794:848::-;6855:5;6862:4;6886:6;6877:15;;6910:5;6901:14;;6924:712;6945:1;6935:8;6932:15;6924:712;;;7040:4;7035:3;7031:14;7025:4;7022:24;7019:50;;;7049:18;;:::i;:::-;7019:50;7099:1;7089:8;7085:16;7082:451;;;7514:4;7507:5;7503:16;7494:25;;7082:451;7564:4;7558;7554:15;7546:23;;7594:32;7617:8;7594:32;:::i;:::-;7582:44;;6924:712;;;6794:848;;;;;;;:::o;7648:1073::-;7702:5;7893:8;7883:40;;7914:1;7905:10;;7916:5;;7883:40;7942:4;7932:36;;7959:1;7950:10;;7961:5;;7932:36;8028:4;8076:1;8071:27;;;;8112:1;8107:191;;;;8021:277;;8071:27;8089:1;8080:10;;8091:5;;;8107:191;8152:3;8142:8;8139:17;8136:43;;;8159:18;;:::i;:::-;8136:43;8208:8;8205:1;8201:16;8192:25;;8243:3;8236:5;8233:14;8230:40;;;8250:18;;:::i;:::-;8230:40;8283:5;;;8021:277;;8407:2;8397:8;8394:16;8388:3;8382:4;8379:13;8375:36;8357:2;8347:8;8344:16;8339:2;8333:4;8330:12;8326:35;8310:111;8307:246;;;8463:8;8457:4;8453:19;8444:28;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;8307:246;8578:42;8616:3;8606:8;8600:4;8597:1;8578:42;:::i;:::-;8563:57;;;;8652:4;8647:3;8643:14;8636:5;8633:25;8630:51;;;8661:18;;:::i;:::-;8630:51;8710:4;8703:5;8699:16;8690:25;;7648:1073;;;;;;:::o;8727:281::-;8785:5;8809:23;8827:4;8809:23;:::i;:::-;8801:31;;8853:25;8869:8;8853:25;:::i;:::-;8841:37;;8897:104;8934:66;8924:8;8918:4;8897:104;:::i;:::-;8888:113;;8727:281;;;;:::o;9014:410::-;9054:7;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9166:1;9163;9159:9;9188:30;9206:11;9188:30;:::i;:::-;9177:41;;9367:1;9358:7;9354:15;9351:1;9348:22;9328:1;9321:9;9301:83;9278:139;;9397:18;;:::i;:::-;9278:139;9062:362;9014:410;;;;:::o;9430:182::-;9570:34;9566:1;9558:6;9554:14;9547:58;9430:182;:::o;9618:366::-;9760:3;9781:67;9845:2;9840:3;9781:67;:::i;:::-;9774:74;;9857:93;9946:3;9857:93;:::i;:::-;9975:2;9970:3;9966:12;9959:19;;9618:366;;;:::o;9990:419::-;10156:4;10194:2;10183:9;10179:18;10171:26;;10243:9;10237:4;10233:20;10229:1;10218:9;10214:17;10207:47;10271:131;10397:4;10271:131;:::i;:::-;10263:139;;9990:419;;;:::o;10415:173::-;10555:25;10551:1;10543:6;10539:14;10532:49;10415:173;:::o;10594:366::-;10736:3;10757:67;10821:2;10816:3;10757:67;:::i;:::-;10750:74;;10833:93;10922:3;10833:93;:::i;:::-;10951:2;10946:3;10942:12;10935:19;;10594:366;;;:::o;10966:419::-;11132:4;11170:2;11159:9;11155:18;11147:26;;11219:9;11213:4;11209:20;11205:1;11194:9;11190:17;11183:47;11247:131;11373:4;11247:131;:::i;:::-;11239:139;;10966:419;;;:::o;11391:85::-;11436:7;11465:5;11454:16;;11391:85;;;:::o;11482:60::-;11510:3;11531:5;11524:12;;11482:60;;;:::o;11548:158::-;11606:9;11639:61;11657:42;11666:32;11692:5;11666:32;:::i;:::-;11657:42;:::i;:::-;11639:61;:::i;:::-;11626:74;;11548:158;;;:::o;11712:147::-;11807:45;11846:5;11807:45;:::i;:::-;11802:3;11795:58;11712:147;;:::o;11865:807::-;12114:4;12152:3;12141:9;12137:19;12129:27;;12166:71;12234:1;12223:9;12219:17;12210:6;12166:71;:::i;:::-;12247:72;12315:2;12304:9;12300:18;12291:6;12247:72;:::i;:::-;12329:80;12405:2;12394:9;12390:18;12381:6;12329:80;:::i;:::-;12419;12495:2;12484:9;12480:18;12471:6;12419:80;:::i;:::-;12509:73;12577:3;12566:9;12562:19;12553:6;12509:73;:::i;:::-;12592;12660:3;12649:9;12645:19;12636:6;12592:73;:::i;:::-;11865:807;;;;;;;;;:::o;12678:143::-;12735:5;12766:6;12760:13;12751:22;;12782:33;12809:5;12782:33;:::i;:::-;12678:143;;;;:::o;12827:663::-;12915:6;12923;12931;12980:2;12968:9;12959:7;12955:23;12951:32;12948:119;;;12986:79;;:::i;:::-;12948:119;13106:1;13131:64;13187:7;13178:6;13167:9;13163:22;13131:64;:::i;:::-;13121:74;;13077:128;13244:2;13270:64;13326:7;13317:6;13306:9;13302:22;13270:64;:::i;:::-;13260:74;;13215:129;13383:2;13409:64;13465:7;13456:6;13445:9;13441:22;13409:64;:::i;:::-;13399:74;;13354:129;12827:663;;;;;:::o;13496:332::-;13617:4;13655:2;13644:9;13640:18;13632:26;;13668:71;13736:1;13725:9;13721:17;13712:6;13668:71;:::i;:::-;13749:72;13817:2;13806:9;13802:18;13793:6;13749:72;:::i;:::-;13496:332;;;;;:::o;13834:116::-;13904:21;13919:5;13904:21;:::i;:::-;13897:5;13894:32;13884:60;;13940:1;13937;13930:12;13884:60;13834:116;:::o;13956:137::-;14010:5;14041:6;14035:13;14026:22;;14057:30;14081:5;14057:30;:::i;:::-;13956:137;;;;:::o;14099:345::-;14166:6;14215:2;14203:9;14194:7;14190:23;14186:32;14183:119;;;14221:79;;:::i;:::-;14183:119;14341:1;14366:61;14419:7;14410:6;14399:9;14395:22;14366:61;:::i;:::-;14356:71;;14312:125;14099:345;;;;:::o;14450:351::-;14520:6;14569:2;14557:9;14548:7;14544:23;14540:32;14537:119;;;14575:79;;:::i;:::-;14537:119;14695:1;14720:64;14776:7;14767:6;14756:9;14752:22;14720:64;:::i;:::-;14710:74;;14666:128;14450:351;;;;:::o;14807:166::-;14947:18;14943:1;14935:6;14931:14;14924:42;14807:166;:::o;14979:366::-;15121:3;15142:67;15206:2;15201:3;15142:67;:::i;:::-;15135:74;;15218:93;15307:3;15218:93;:::i;:::-;15336:2;15331:3;15327:12;15320:19;;14979:366;;;:::o;15351:419::-;15517:4;15555:2;15544:9;15540:18;15532:26;;15604:9;15598:4;15594:20;15590:1;15579:9;15575:17;15568:47;15632:131;15758:4;15632:131;:::i;:::-;15624:139;;15351:419;;;:::o;15776:223::-;15916:34;15912:1;15904:6;15900:14;15893:58;15985:6;15980:2;15972:6;15968:15;15961:31;15776:223;:::o;16005:366::-;16147:3;16168:67;16232:2;16227:3;16168:67;:::i;:::-;16161:74;;16244:93;16333:3;16244:93;:::i;:::-;16362:2;16357:3;16353:12;16346:19;;16005:366;;;:::o;16377:419::-;16543:4;16581:2;16570:9;16566:18;16558:26;;16630:9;16624:4;16620:20;16616:1;16605:9;16601:17;16594:47;16658:131;16784:4;16658:131;:::i;:::-;16650:139;;16377:419;;;:::o;16802:221::-;16942:34;16938:1;16930:6;16926:14;16919:58;17011:4;17006:2;16998:6;16994:15;16987:29;16802:221;:::o;17029:366::-;17171:3;17192:67;17256:2;17251:3;17192:67;:::i;:::-;17185:74;;17268:93;17357:3;17268:93;:::i;:::-;17386:2;17381:3;17377:12;17370:19;;17029:366;;;:::o;17401:419::-;17567:4;17605:2;17594:9;17590:18;17582:26;;17654:9;17648:4;17644:20;17640:1;17629:9;17625:17;17618:47;17682:131;17808:4;17682:131;:::i;:::-;17674:139;;17401:419;;;:::o;17826:224::-;17966:34;17962:1;17954:6;17950:14;17943:58;18035:7;18030:2;18022:6;18018:15;18011:32;17826:224;:::o;18056:366::-;18198:3;18219:67;18283:2;18278:3;18219:67;:::i;:::-;18212:74;;18295:93;18384:3;18295:93;:::i;:::-;18413:2;18408:3;18404:12;18397:19;;18056:366;;;:::o;18428:419::-;18594:4;18632:2;18621:9;18617:18;18609:26;;18681:9;18675:4;18671:20;18667:1;18656:9;18652:17;18645:47;18709:131;18835:4;18709:131;:::i;:::-;18701:139;;18428:419;;;:::o;18853:222::-;18993:34;18989:1;18981:6;18977:14;18970:58;19062:5;19057:2;19049:6;19045:15;19038:30;18853:222;:::o;19081:366::-;19223:3;19244:67;19308:2;19303:3;19244:67;:::i;:::-;19237:74;;19320:93;19409:3;19320:93;:::i;:::-;19438:2;19433:3;19429:12;19422:19;;19081:366;;;:::o;19453:419::-;19619:4;19657:2;19646:9;19642:18;19634:26;;19706:9;19700:4;19696:20;19692:1;19681:9;19677:17;19670:47;19734:131;19860:4;19734:131;:::i;:::-;19726:139;;19453:419;;;:::o;19878:228::-;20018:34;20014:1;20006:6;20002:14;19995:58;20087:11;20082:2;20074:6;20070:15;20063:36;19878:228;:::o;20112:366::-;20254:3;20275:67;20339:2;20334:3;20275:67;:::i;:::-;20268:74;;20351:93;20440:3;20351:93;:::i;:::-;20469:2;20464:3;20460:12;20453:19;;20112:366;;;:::o;20484:419::-;20650:4;20688:2;20677:9;20673:18;20665:26;;20737:9;20731:4;20727:20;20723:1;20712:9;20708:17;20701:47;20765:131;20891:4;20765:131;:::i;:::-;20757:139;;20484:419;;;:::o;20909:172::-;21049:24;21045:1;21037:6;21033:14;21026:48;20909:172;:::o;21087:366::-;21229:3;21250:67;21314:2;21309:3;21250:67;:::i;:::-;21243:74;;21326:93;21415:3;21326:93;:::i;:::-;21444:2;21439:3;21435:12;21428:19;;21087:366;;;:::o;21459:419::-;21625:4;21663:2;21652:9;21648:18;21640:26;;21712:9;21706:4;21702:20;21698:1;21687:9;21683:17;21676:47;21740:131;21866:4;21740:131;:::i;:::-;21732:139;;21459:419;;;:::o;21884:175::-;22024:27;22020:1;22012:6;22008:14;22001:51;21884:175;:::o;22065:366::-;22207:3;22228:67;22292:2;22287:3;22228:67;:::i;:::-;22221:74;;22304:93;22393:3;22304:93;:::i;:::-;22422:2;22417:3;22413:12;22406:19;;22065:366;;;:::o;22437:419::-;22603:4;22641:2;22630:9;22626:18;22618:26;;22690:9;22684:4;22680:20;22676:1;22665:9;22661:17;22654:47;22718:131;22844:4;22718:131;:::i;:::-;22710:139;;22437:419;;;:::o;22862:191::-;22902:3;22921:20;22939:1;22921:20;:::i;:::-;22916:25;;22955:20;22973:1;22955:20;:::i;:::-;22950:25;;22998:1;22995;22991:9;22984:16;;23019:3;23016:1;23013:10;23010:36;;;23026:18;;:::i;:::-;23010:36;22862:191;;;;:::o;23059:176::-;23199:28;23195:1;23187:6;23183:14;23176:52;23059:176;:::o;23241:366::-;23383:3;23404:67;23468:2;23463:3;23404:67;:::i;:::-;23397:74;;23480:93;23569:3;23480:93;:::i;:::-;23598:2;23593:3;23589:12;23582:19;;23241:366;;;:::o;23613:419::-;23779:4;23817:2;23806:9;23802:18;23794:26;;23866:9;23860:4;23856:20;23852:1;23841:9;23837:17;23830:47;23894:131;24020:4;23894:131;:::i;:::-;23886:139;;23613:419;;;:::o;24038:194::-;24078:4;24098:20;24116:1;24098:20;:::i;:::-;24093:25;;24132:20;24150:1;24132:20;:::i;:::-;24127:25;;24176:1;24173;24169:9;24161:17;;24200:1;24194:4;24191:11;24188:37;;;24205:18;;:::i;:::-;24188:37;24038:194;;;;:::o;24238:180::-;24286:77;24283:1;24276:88;24383:4;24380:1;24373:15;24407:4;24404:1;24397:15;24424:185;24464:1;24481:20;24499:1;24481:20;:::i;:::-;24476:25;;24515:20;24533:1;24515:20;:::i;:::-;24510:25;;24554:1;24544:35;;24559:18;;:::i;:::-;24544:35;24601:1;24598;24594:9;24589:14;;24424:185;;;;:::o;24615:220::-;24755:34;24751:1;24743:6;24739:14;24732:58;24824:3;24819:2;24811:6;24807:15;24800:28;24615:220;:::o;24841:366::-;24983:3;25004:67;25068:2;25063:3;25004:67;:::i;:::-;24997:74;;25080:93;25169:3;25080:93;:::i;:::-;25198:2;25193:3;25189:12;25182:19;;24841:366;;;:::o;25213:419::-;25379:4;25417:2;25406:9;25402:18;25394:26;;25466:9;25460:4;25456:20;25452:1;25441:9;25437:17;25430:47;25494:131;25620:4;25494:131;:::i;:::-;25486:139;;25213:419;;;:::o;25638:180::-;25686:77;25683:1;25676:88;25783:4;25780:1;25773:15;25807:4;25804:1;25797:15;25824:180;25872:77;25869:1;25862:88;25969:4;25966:1;25959:15;25993:4;25990:1;25983:15;26010:143;26067:5;26098:6;26092:13;26083:22;;26114:33;26141:5;26114:33;:::i;:::-;26010:143;;;;:::o;26159:351::-;26229:6;26278:2;26266:9;26257:7;26253:23;26249:32;26246:119;;;26284:79;;:::i;:::-;26246:119;26404:1;26429:64;26485:7;26476:6;26465:9;26461:22;26429:64;:::i;:::-;26419:74;;26375:128;26159:351;;;;:::o;26516:114::-;26583:6;26617:5;26611:12;26601:22;;26516:114;;;:::o;26636:184::-;26735:11;26769:6;26764:3;26757:19;26809:4;26804:3;26800:14;26785:29;;26636:184;;;;:::o;26826:132::-;26893:4;26916:3;26908:11;;26946:4;26941:3;26937:14;26929:22;;26826:132;;;:::o;26964:108::-;27041:24;27059:5;27041:24;:::i;:::-;27036:3;27029:37;26964:108;;:::o;27078:179::-;27147:10;27168:46;27210:3;27202:6;27168:46;:::i;:::-;27246:4;27241:3;27237:14;27223:28;;27078:179;;;;:::o;27263:113::-;27333:4;27365;27360:3;27356:14;27348:22;;27263:113;;;:::o;27412:732::-;27531:3;27560:54;27608:5;27560:54;:::i;:::-;27630:86;27709:6;27704:3;27630:86;:::i;:::-;27623:93;;27740:56;27790:5;27740:56;:::i;:::-;27819:7;27850:1;27835:284;27860:6;27857:1;27854:13;27835:284;;;27936:6;27930:13;27963:63;28022:3;28007:13;27963:63;:::i;:::-;27956:70;;28049:60;28102:6;28049:60;:::i;:::-;28039:70;;27895:224;27882:1;27879;27875:9;27870:14;;27835:284;;;27839:14;28135:3;28128:10;;27536:608;;;27412:732;;;;:::o;28150:831::-;28413:4;28451:3;28440:9;28436:19;28428:27;;28465:71;28533:1;28522:9;28518:17;28509:6;28465:71;:::i;:::-;28546:80;28622:2;28611:9;28607:18;28598:6;28546:80;:::i;:::-;28673:9;28667:4;28663:20;28658:2;28647:9;28643:18;28636:48;28701:108;28804:4;28795:6;28701:108;:::i;:::-;28693:116;;28819:72;28887:2;28876:9;28872:18;28863:6;28819:72;:::i;:::-;28901:73;28969:3;28958:9;28954:19;28945:6;28901:73;:::i;:::-;28150:831;;;;;;;;:::o;28987:177::-;29127:29;29123:1;29115:6;29111:14;29104:53;28987:177;:::o;29170:366::-;29312:3;29333:67;29397:2;29392:3;29333:67;:::i;:::-;29326:74;;29409:93;29498:3;29409:93;:::i;:::-;29527:2;29522:3;29518:12;29511:19;;29170:366;;;:::o;29542:419::-;29708:4;29746:2;29735:9;29731:18;29723:26;;29795:9;29789:4;29785:20;29781:1;29770:9;29766:17;29759:47;29823:131;29949:4;29823:131;:::i;:::-;29815:139;;29542:419;;;:::o

Swarm Source

ipfs://d3ec75a3c107a121c4f68d62839ba65d18ffeb645c6e1d4a62d8aadcaa7e4cb4

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

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