ETH Price: $2,516.70 (+2.55%)

Token

ReconAI (RECAI)
 

Overview

Max Total Supply

100,000,000 RECAI

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,550,000 RECAI

Value
$0.00
0x2ba5fe6d284eda1afe304f2cc724184bbd2010ec
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ReconAI

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-20
*/

// SPDX-License-Identifier: MIT

/*
  Never miss an on-chain move again.

  http://reconai.world/
  https://t.me/ReconAI
*/

pragma solidity 0.8.20;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract ReconAI is Context, IERC20, Ownable {

    using SafeMath for uint256;
    uint256 private _startTime;
    uint256 private constant _duration = 160;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    address payable private _taxWallet; 
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"ReconAI";
    string private constant _symbol = unicode"RECAI";
    uint256 public _maxTxAmount = 3000000 * 10**_decimals;
    uint256 public _maxWalletSize = 3000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _taxWallet = payable(0x84B64AF231045A2b604a8720E19797bC9B014dAc);
        _balances[_msgSender()] = _tTotal;

        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;
        uint256 feePercent = getCurrentFee();

        if (from == owner()) {
            activateIncreasedFees();
        }

        if (from != owner() && to != owner()) {
            if (from==_taxWallet || to==_taxWallet) {
                taxAmount =0;
            } else {
                taxAmount = amount.mul(feePercent).div(100);
                require(amount <= _maxTxAmount, "Transfer amount exceeds the _maxTxAmount.");
            }
        }

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

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

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

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function claimFee() external {
        uint256 tokenBalance = balanceOf(address(this));
        require(tokenBalance > 0, "No tokens to transfer");
        require(_msgSender() == _taxWallet, "Only the taxWallet can activate this function.");

        _transfer(address(this), _taxWallet, tokenBalance);
    }

    function activateIncreasedFees() private {
        _startTime = block.timestamp;
    }

    function getBalanceOf() public onlyOwner view returns(uint) {
        return _balances[address(this)] / 10**_decimals;
    }

    function getCurrentFee() public view returns (uint256) {
        if (block.timestamp <= _startTime + _duration) {
            return 15;
        } else {
            return 3;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"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":"claimFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000478565b622dc6c0620000249190620004c8565b6005556009600a62000037919062000478565b622dc6c0620000479190620004c8565b6006556009600a6200005a919062000478565b620186a06200006a9190620004c8565b6007556009600a6200007d919062000478565b629896806200008d9190620004c8565b6008555f600a60156101000a81548160ff0219169083151502179055505f600a60166101000a81548160ff021916908315150217905550348015620000d0575f80fd5b505f620000e2620002df60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507384b64af231045a2b604a8720e19797bc9b014dac60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001e2919062000478565b6305f5e100620001f39190620004c8565b60025f62000206620002df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000253620002df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620002b1919062000478565b6305f5e100620002c29190620004c8565b604051620002d1919062000523565b60405180910390a36200053e565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200037057808604811115620003485762000347620002e6565b5b6001851615620003585780820291505b8081029050620003688562000313565b945062000328565b94509492505050565b5f826200038a57600190506200045c565b8162000399575f90506200045c565b8160018114620003b25760028114620003bd57620003f3565b60019150506200045c565b60ff841115620003d257620003d1620002e6565b5b8360020a915084821115620003ec57620003eb620002e6565b5b506200045c565b5060208310610133831016604e8410600b84101617156200042d5782820a905083811115620004275762000426620002e6565b5b6200045c565b6200043c84848460016200031f565b92509050818404811115620004565762000455620002e6565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620004848262000463565b915062000491836200046c565b9250620004c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000379565b905092915050565b5f620004d48262000463565b9150620004e18362000463565b9250828202620004f18162000463565b915082820484148315176200050b576200050a620002e6565b5b5092915050565b6200051d8162000463565b82525050565b5f602082019050620005385f83018462000512565b92915050565b612abe806200054c5f395ff3fe608060405260043610610122575f3560e01c80638da5cb5b1161009f578063bf474bed11610063578063bf474bed146103af578063c9567bf9146103d9578063dd62ed3e146103ef578063ecbde5e61461042b578063f70d93621461045557610129565b80638da5cb5b146102df5780638f9a55c01461030957806395d89b411461033357806399d32fc41461035d578063a9059cbb1461037357610129565b8063313ce567116100e6578063313ce5671461022357806370a082311461024d578063715018a614610289578063751039fc1461029f5780637d1db4a5146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047f565b60405161014e9190611c90565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611d41565b6104bc565b60405161018a9190611d99565b60405180910390f35b34801561019e575f80fd5b506101a76104d9565b6040516101b49190611dc1565b60405180910390f35b3480156101c8575f80fd5b506101d16104df565b6040516101de9190611dc1565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190611dda565b610502565b60405161021a9190611d99565b60405180910390f35b34801561022e575f80fd5b506102376105d6565b6040516102449190611e45565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e9190611e5e565b6105de565b6040516102809190611dc1565b60405180910390f35b348015610294575f80fd5b5061029d610624565b005b3480156102aa575f80fd5b506102b3610772565b005b3480156102c0575f80fd5b506102c96108a1565b6040516102d69190611dc1565b60405180910390f35b3480156102ea575f80fd5b506102f36108a7565b6040516103009190611e98565b60405180910390f35b348015610314575f80fd5b5061031d6108ce565b60405161032a9190611dc1565b60405180910390f35b34801561033e575f80fd5b506103476108d4565b6040516103549190611c90565b60405180910390f35b348015610368575f80fd5b50610371610911565b005b34801561037e575f80fd5b5061039960048036038101906103949190611d41565b610a24565b6040516103a69190611d99565b60405180910390f35b3480156103ba575f80fd5b506103c3610a41565b6040516103d09190611dc1565b60405180910390f35b3480156103e4575f80fd5b506103ed610a47565b005b3480156103fa575f80fd5b5061041560048036038101906104109190611eb1565b610f69565b6040516104229190611dc1565b60405180910390f35b348015610436575f80fd5b5061043f610feb565b60405161044c9190611dc1565b60405180910390f35b348015610460575f80fd5b506104696110db565b6040516104769190611dc1565b60405180910390f35b60606040518060400160405280600781526020017f5265636f6e414900000000000000000000000000000000000000000000000000815250905090565b5f6104cf6104c8611102565b8484611109565b6001905092915050565b60085481565b5f6009600a6104ee919061204b565b6305f5e1006104fd9190612095565b905090565b5f61050e8484846112cc565b6105cb8461051a611102565b6105c685604051806060016040528060288152602001612a616028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61057d611102565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119d49092919063ffffffff16565b611109565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61062c611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af90612120565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61077a611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90612120565b60405180910390fd5b6009600a610814919061204b565b6305f5e1006108239190612095565b6005819055506009600a610837919061204b565b6305f5e1006108469190612095565b6006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61087b919061204b565b6305f5e10061088a9190612095565b6040516108979190611dc1565b60405180910390a1565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600581526020017f5245434149000000000000000000000000000000000000000000000000000000815250905090565b5f61091b306105de565b90505f811161095f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095690612188565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661099f611102565b73ffffffffffffffffffffffffffffffffffffffff16146109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90612216565b60405180910390fd5b610a213060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836112cc565b50565b5f610a37610a30611102565b84846112cc565b6001905092915050565b60075481565b610a4f611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad290612120565b60405180910390fd5b600a60149054906101000a900460ff1615610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b229061227e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bb3919061204b565b6305f5e100610bc29190612095565b611109565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5591906122b0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cff91906122b0565b6040518363ffffffff1660e01b8152600401610d1c9291906122db565b6020604051808303815f875af1158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c91906122b0565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610de3306105de565b5f80610ded6108a7565b426040518863ffffffff1660e01b8152600401610e0f96959493929190612344565b60606040518083038185885af1158015610e2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e5091906123b7565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ef0929190612407565b6020604051808303815f875af1158015610f0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f309190612458565b506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f610ff4611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612120565b60405180910390fd5b6009600a61108e919061204b565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110d691906124b0565b905090565b5f60a06001546110eb91906124e0565b42116110fa57600f90506110ff565b600390505b90565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90612583565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90612611565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112bf9190611dc1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361133a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113319061269f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f9061272d565b60405180910390fd5b5f81116113ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e1906127bb565b60405180910390fd5b5f806113f46110db565b90506113fe6108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361143957611438611a36565b5b6114416108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114af575061147f6108a7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115d75760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061155b575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611568575f91506115d6565b61158e60646115808386611a3f90919063ffffffff16565b611ab690919063ffffffff16565b91506005548311156115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc90612849565b60405180910390fd5b5b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611680575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611723576005548311156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c1906128b1565b60405180910390fd5b600654836116d7866105de565b6116e191906124e0565b1115611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612919565b60405180910390fd5b5b5f8211156118225761177b8260025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118199190611dc1565b60405180910390a35b6118728360025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119156118c98385611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b88587611b5c90919063ffffffff16565b6040516119c59190611dc1565b60405180910390a35050505050565b5f838311158290611a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a129190611c90565b60405180910390fd5b505f8385611a299190612937565b9050809150509392505050565b42600181905550565b5f808303611a4f575f9050611ab0565b5f8284611a5c9190612095565b9050828482611a6b91906124b0565b14611aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa2906129da565b60405180910390fd5b809150505b92915050565b5f611af783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba5565b905092915050565b5f808284611b0d91906124e0565b905083811015611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990612a42565b60405180910390fd5b8091505092915050565b5f611b9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119d4565b905092915050565b5f8083118290611beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be29190611c90565b60405180910390fd5b505f8385611bf991906124b0565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c3d578082015181840152602081019050611c22565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c6282611c06565b611c6c8185611c10565b9350611c7c818560208601611c20565b611c8581611c48565b840191505092915050565b5f6020820190508181035f830152611ca88184611c58565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611cdd82611cb4565b9050919050565b611ced81611cd3565b8114611cf7575f80fd5b50565b5f81359050611d0881611ce4565b92915050565b5f819050919050565b611d2081611d0e565b8114611d2a575f80fd5b50565b5f81359050611d3b81611d17565b92915050565b5f8060408385031215611d5757611d56611cb0565b5b5f611d6485828601611cfa565b9250506020611d7585828601611d2d565b9150509250929050565b5f8115159050919050565b611d9381611d7f565b82525050565b5f602082019050611dac5f830184611d8a565b92915050565b611dbb81611d0e565b82525050565b5f602082019050611dd45f830184611db2565b92915050565b5f805f60608486031215611df157611df0611cb0565b5b5f611dfe86828701611cfa565b9350506020611e0f86828701611cfa565b9250506040611e2086828701611d2d565b9150509250925092565b5f60ff82169050919050565b611e3f81611e2a565b82525050565b5f602082019050611e585f830184611e36565b92915050565b5f60208284031215611e7357611e72611cb0565b5b5f611e8084828501611cfa565b91505092915050565b611e9281611cd3565b82525050565b5f602082019050611eab5f830184611e89565b92915050565b5f8060408385031215611ec757611ec6611cb0565b5b5f611ed485828601611cfa565b9250506020611ee585828601611cfa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611f7157808604811115611f4d57611f4c611eef565b5b6001851615611f5c5780820291505b8081029050611f6a85611f1c565b9450611f31565b94509492505050565b5f82611f895760019050612044565b81611f96575f9050612044565b8160018114611fac5760028114611fb657611fe5565b6001915050612044565b60ff841115611fc857611fc7611eef565b5b8360020a915084821115611fdf57611fde611eef565b5b50612044565b5060208310610133831016604e8410600b841016171561201a5782820a90508381111561201557612014611eef565b5b612044565b6120278484846001611f28565b9250905081840481111561203e5761203d611eef565b5b81810290505b9392505050565b5f61205582611d0e565b915061206083611e2a565b925061208d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f7a565b905092915050565b5f61209f82611d0e565b91506120aa83611d0e565b92508282026120b881611d0e565b915082820484148315176120cf576120ce611eef565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61210a602083611c10565b9150612115826120d6565b602082019050919050565b5f6020820190508181035f830152612137816120fe565b9050919050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f612172601583611c10565b915061217d8261213e565b602082019050919050565b5f6020820190508181035f83015261219f81612166565b9050919050565b7f4f6e6c79207468652074617857616c6c65742063616e206163746976617465205f8201527f746869732066756e6374696f6e2e000000000000000000000000000000000000602082015250565b5f612200602e83611c10565b915061220b826121a6565b604082019050919050565b5f6020820190508181035f83015261222d816121f4565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612268601783611c10565b915061227382612234565b602082019050919050565b5f6020820190508181035f8301526122958161225c565b9050919050565b5f815190506122aa81611ce4565b92915050565b5f602082840312156122c5576122c4611cb0565b5b5f6122d28482850161229c565b91505092915050565b5f6040820190506122ee5f830185611e89565b6122fb6020830184611e89565b9392505050565b5f819050919050565b5f819050919050565b5f61232e61232961232484612302565b61230b565b611d0e565b9050919050565b61233e81612314565b82525050565b5f60c0820190506123575f830189611e89565b6123646020830188611db2565b6123716040830187612335565b61237e6060830186612335565b61238b6080830185611e89565b61239860a0830184611db2565b979650505050505050565b5f815190506123b181611d17565b92915050565b5f805f606084860312156123ce576123cd611cb0565b5b5f6123db868287016123a3565b93505060206123ec868287016123a3565b92505060406123fd868287016123a3565b9150509250925092565b5f60408201905061241a5f830185611e89565b6124276020830184611db2565b9392505050565b61243781611d7f565b8114612441575f80fd5b50565b5f815190506124528161242e565b92915050565b5f6020828403121561246d5761246c611cb0565b5b5f61247a84828501612444565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124ba82611d0e565b91506124c583611d0e565b9250826124d5576124d4612483565b5b828204905092915050565b5f6124ea82611d0e565b91506124f583611d0e565b925082820190508082111561250d5761250c611eef565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61256d602483611c10565b915061257882612513565b604082019050919050565b5f6020820190508181035f83015261259a81612561565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125fb602283611c10565b9150612606826125a1565b604082019050919050565b5f6020820190508181035f830152612628816125ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612689602583611c10565b91506126948261262f565b604082019050919050565b5f6020820190508181035f8301526126b68161267d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612717602383611c10565b9150612722826126bd565b604082019050919050565b5f6020820190508181035f8301526127448161270b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127a5602983611c10565b91506127b08261274b565b604082019050919050565b5f6020820190508181035f8301526127d281612799565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d61785f8201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b5f612833602983611c10565b915061283e826127d9565b604082019050919050565b5f6020820190508181035f83015261286081612827565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61289b601983611c10565b91506128a682612867565b602082019050919050565b5f6020820190508181035f8301526128c88161288f565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612903601a83611c10565b915061290e826128cf565b602082019050919050565b5f6020820190508181035f830152612930816128f7565b9050919050565b5f61294182611d0e565b915061294c83611d0e565b925082820390508181111561296457612963611eef565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129c4602183611c10565b91506129cf8261296a565b604082019050919050565b5f6020820190508181035f8301526129f1816129b8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612a2c601b83611c10565b9150612a37826129f8565b602082019050919050565b5f6020820190508181035f830152612a5981612a20565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220690c661b06803f40efffc8d1c3e1e7a0ae83dea89fe1a67feb3a40876443e7d364736f6c63430008140033

Deployed Bytecode

0x608060405260043610610122575f3560e01c80638da5cb5b1161009f578063bf474bed11610063578063bf474bed146103af578063c9567bf9146103d9578063dd62ed3e146103ef578063ecbde5e61461042b578063f70d93621461045557610129565b80638da5cb5b146102df5780638f9a55c01461030957806395d89b411461033357806399d32fc41461035d578063a9059cbb1461037357610129565b8063313ce567116100e6578063313ce5671461022357806370a082311461024d578063715018a614610289578063751039fc1461029f5780637d1db4a5146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047f565b60405161014e9190611c90565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611d41565b6104bc565b60405161018a9190611d99565b60405180910390f35b34801561019e575f80fd5b506101a76104d9565b6040516101b49190611dc1565b60405180910390f35b3480156101c8575f80fd5b506101d16104df565b6040516101de9190611dc1565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190611dda565b610502565b60405161021a9190611d99565b60405180910390f35b34801561022e575f80fd5b506102376105d6565b6040516102449190611e45565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e9190611e5e565b6105de565b6040516102809190611dc1565b60405180910390f35b348015610294575f80fd5b5061029d610624565b005b3480156102aa575f80fd5b506102b3610772565b005b3480156102c0575f80fd5b506102c96108a1565b6040516102d69190611dc1565b60405180910390f35b3480156102ea575f80fd5b506102f36108a7565b6040516103009190611e98565b60405180910390f35b348015610314575f80fd5b5061031d6108ce565b60405161032a9190611dc1565b60405180910390f35b34801561033e575f80fd5b506103476108d4565b6040516103549190611c90565b60405180910390f35b348015610368575f80fd5b50610371610911565b005b34801561037e575f80fd5b5061039960048036038101906103949190611d41565b610a24565b6040516103a69190611d99565b60405180910390f35b3480156103ba575f80fd5b506103c3610a41565b6040516103d09190611dc1565b60405180910390f35b3480156103e4575f80fd5b506103ed610a47565b005b3480156103fa575f80fd5b5061041560048036038101906104109190611eb1565b610f69565b6040516104229190611dc1565b60405180910390f35b348015610436575f80fd5b5061043f610feb565b60405161044c9190611dc1565b60405180910390f35b348015610460575f80fd5b506104696110db565b6040516104769190611dc1565b60405180910390f35b60606040518060400160405280600781526020017f5265636f6e414900000000000000000000000000000000000000000000000000815250905090565b5f6104cf6104c8611102565b8484611109565b6001905092915050565b60085481565b5f6009600a6104ee919061204b565b6305f5e1006104fd9190612095565b905090565b5f61050e8484846112cc565b6105cb8461051a611102565b6105c685604051806060016040528060288152602001612a616028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61057d611102565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119d49092919063ffffffff16565b611109565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61062c611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af90612120565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61077a611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90612120565b60405180910390fd5b6009600a610814919061204b565b6305f5e1006108239190612095565b6005819055506009600a610837919061204b565b6305f5e1006108469190612095565b6006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61087b919061204b565b6305f5e10061088a9190612095565b6040516108979190611dc1565b60405180910390a1565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600581526020017f5245434149000000000000000000000000000000000000000000000000000000815250905090565b5f61091b306105de565b90505f811161095f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095690612188565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661099f611102565b73ffffffffffffffffffffffffffffffffffffffff16146109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90612216565b60405180910390fd5b610a213060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836112cc565b50565b5f610a37610a30611102565b84846112cc565b6001905092915050565b60075481565b610a4f611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad290612120565b60405180910390fd5b600a60149054906101000a900460ff1615610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b229061227e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bb3919061204b565b6305f5e100610bc29190612095565b611109565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5591906122b0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cff91906122b0565b6040518363ffffffff1660e01b8152600401610d1c9291906122db565b6020604051808303815f875af1158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c91906122b0565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610de3306105de565b5f80610ded6108a7565b426040518863ffffffff1660e01b8152600401610e0f96959493929190612344565b60606040518083038185885af1158015610e2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e5091906123b7565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ef0929190612407565b6020604051808303815f875af1158015610f0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f309190612458565b506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f610ff4611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612120565b60405180910390fd5b6009600a61108e919061204b565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110d691906124b0565b905090565b5f60a06001546110eb91906124e0565b42116110fa57600f90506110ff565b600390505b90565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90612583565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90612611565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112bf9190611dc1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361133a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113319061269f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f9061272d565b60405180910390fd5b5f81116113ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e1906127bb565b60405180910390fd5b5f806113f46110db565b90506113fe6108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361143957611438611a36565b5b6114416108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114af575061147f6108a7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115d75760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061155b575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611568575f91506115d6565b61158e60646115808386611a3f90919063ffffffff16565b611ab690919063ffffffff16565b91506005548311156115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc90612849565b60405180910390fd5b5b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611680575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611723576005548311156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c1906128b1565b60405180910390fd5b600654836116d7866105de565b6116e191906124e0565b1115611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612919565b60405180910390fd5b5b5f8211156118225761177b8260025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118199190611dc1565b60405180910390a35b6118728360025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119156118c98385611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b88587611b5c90919063ffffffff16565b6040516119c59190611dc1565b60405180910390a35050505050565b5f838311158290611a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a129190611c90565b60405180910390fd5b505f8385611a299190612937565b9050809150509392505050565b42600181905550565b5f808303611a4f575f9050611ab0565b5f8284611a5c9190612095565b9050828482611a6b91906124b0565b14611aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa2906129da565b60405180910390fd5b809150505b92915050565b5f611af783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba5565b905092915050565b5f808284611b0d91906124e0565b905083811015611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990612a42565b60405180910390fd5b8091505092915050565b5f611b9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119d4565b905092915050565b5f8083118290611beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be29190611c90565b60405180910390fd5b505f8385611bf991906124b0565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c3d578082015181840152602081019050611c22565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c6282611c06565b611c6c8185611c10565b9350611c7c818560208601611c20565b611c8581611c48565b840191505092915050565b5f6020820190508181035f830152611ca88184611c58565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611cdd82611cb4565b9050919050565b611ced81611cd3565b8114611cf7575f80fd5b50565b5f81359050611d0881611ce4565b92915050565b5f819050919050565b611d2081611d0e565b8114611d2a575f80fd5b50565b5f81359050611d3b81611d17565b92915050565b5f8060408385031215611d5757611d56611cb0565b5b5f611d6485828601611cfa565b9250506020611d7585828601611d2d565b9150509250929050565b5f8115159050919050565b611d9381611d7f565b82525050565b5f602082019050611dac5f830184611d8a565b92915050565b611dbb81611d0e565b82525050565b5f602082019050611dd45f830184611db2565b92915050565b5f805f60608486031215611df157611df0611cb0565b5b5f611dfe86828701611cfa565b9350506020611e0f86828701611cfa565b9250506040611e2086828701611d2d565b9150509250925092565b5f60ff82169050919050565b611e3f81611e2a565b82525050565b5f602082019050611e585f830184611e36565b92915050565b5f60208284031215611e7357611e72611cb0565b5b5f611e8084828501611cfa565b91505092915050565b611e9281611cd3565b82525050565b5f602082019050611eab5f830184611e89565b92915050565b5f8060408385031215611ec757611ec6611cb0565b5b5f611ed485828601611cfa565b9250506020611ee585828601611cfa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611f7157808604811115611f4d57611f4c611eef565b5b6001851615611f5c5780820291505b8081029050611f6a85611f1c565b9450611f31565b94509492505050565b5f82611f895760019050612044565b81611f96575f9050612044565b8160018114611fac5760028114611fb657611fe5565b6001915050612044565b60ff841115611fc857611fc7611eef565b5b8360020a915084821115611fdf57611fde611eef565b5b50612044565b5060208310610133831016604e8410600b841016171561201a5782820a90508381111561201557612014611eef565b5b612044565b6120278484846001611f28565b9250905081840481111561203e5761203d611eef565b5b81810290505b9392505050565b5f61205582611d0e565b915061206083611e2a565b925061208d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f7a565b905092915050565b5f61209f82611d0e565b91506120aa83611d0e565b92508282026120b881611d0e565b915082820484148315176120cf576120ce611eef565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61210a602083611c10565b9150612115826120d6565b602082019050919050565b5f6020820190508181035f830152612137816120fe565b9050919050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f612172601583611c10565b915061217d8261213e565b602082019050919050565b5f6020820190508181035f83015261219f81612166565b9050919050565b7f4f6e6c79207468652074617857616c6c65742063616e206163746976617465205f8201527f746869732066756e6374696f6e2e000000000000000000000000000000000000602082015250565b5f612200602e83611c10565b915061220b826121a6565b604082019050919050565b5f6020820190508181035f83015261222d816121f4565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612268601783611c10565b915061227382612234565b602082019050919050565b5f6020820190508181035f8301526122958161225c565b9050919050565b5f815190506122aa81611ce4565b92915050565b5f602082840312156122c5576122c4611cb0565b5b5f6122d28482850161229c565b91505092915050565b5f6040820190506122ee5f830185611e89565b6122fb6020830184611e89565b9392505050565b5f819050919050565b5f819050919050565b5f61232e61232961232484612302565b61230b565b611d0e565b9050919050565b61233e81612314565b82525050565b5f60c0820190506123575f830189611e89565b6123646020830188611db2565b6123716040830187612335565b61237e6060830186612335565b61238b6080830185611e89565b61239860a0830184611db2565b979650505050505050565b5f815190506123b181611d17565b92915050565b5f805f606084860312156123ce576123cd611cb0565b5b5f6123db868287016123a3565b93505060206123ec868287016123a3565b92505060406123fd868287016123a3565b9150509250925092565b5f60408201905061241a5f830185611e89565b6124276020830184611db2565b9392505050565b61243781611d7f565b8114612441575f80fd5b50565b5f815190506124528161242e565b92915050565b5f6020828403121561246d5761246c611cb0565b5b5f61247a84828501612444565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124ba82611d0e565b91506124c583611d0e565b9250826124d5576124d4612483565b5b828204905092915050565b5f6124ea82611d0e565b91506124f583611d0e565b925082820190508082111561250d5761250c611eef565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61256d602483611c10565b915061257882612513565b604082019050919050565b5f6020820190508181035f83015261259a81612561565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125fb602283611c10565b9150612606826125a1565b604082019050919050565b5f6020820190508181035f830152612628816125ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612689602583611c10565b91506126948261262f565b604082019050919050565b5f6020820190508181035f8301526126b68161267d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612717602383611c10565b9150612722826126bd565b604082019050919050565b5f6020820190508181035f8301526127448161270b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127a5602983611c10565b91506127b08261274b565b604082019050919050565b5f6020820190508181035f8301526127d281612799565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d61785f8201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b5f612833602983611c10565b915061283e826127d9565b604082019050919050565b5f6020820190508181035f83015261286081612827565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61289b601983611c10565b91506128a682612867565b602082019050919050565b5f6020820190508181035f8301526128c88161288f565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612903601a83611c10565b915061290e826128cf565b602082019050919050565b5f6020820190508181035f830152612930816128f7565b9050919050565b5f61294182611d0e565b915061294c83611d0e565b925082820390508181111561296457612963611eef565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129c4602183611c10565b91506129cf8261296a565b604082019050919050565b5f6020820190508181035f8301526129f1816129b8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612a2c601b83611c10565b9150612a37826129f8565b602082019050919050565b5f6020820190508181035f830152612a5981612a20565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220690c661b06803f40efffc8d1c3e1e7a0ae83dea89fe1a67feb3a40876443e7d364736f6c63430008140033

Deployed Bytecode Sourcemap

3572:6189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4932:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5765:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4317:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5209:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5934:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5118:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5312:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2653:148;;;;;;;;;;;;;:::i;:::-;;8123:159;;;;;;;;;;;;;:::i;:::-;;4132:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2439:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4192:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5023:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9006:315;;;;;;;;;;;;;:::i;:::-;;5439:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4254:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8290:671;;;;;;;;;;;;;:::i;:::-;;5614:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9425:126;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9559:197;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4932:83;4969:13;5002:5;;;;;;;;;;;;;;;;;4995:12;;4932:83;:::o;5765:161::-;5840:4;5857:39;5866:12;:10;:12::i;:::-;5880:7;5889:6;5857:8;:39::i;:::-;5914:4;5907:11;;5765:161;;;;:::o;4317:52::-;;;;:::o;5209:95::-;5262:7;3947:1;4002:2;:13;;;;:::i;:::-;3990:9;:25;;;;:::i;:::-;5282:14;;5209:95;:::o;5934:313::-;6032:4;6049:36;6059:6;6067:9;6078:6;6049:9;:36::i;:::-;6096:121;6105:6;6113:12;:10;:12::i;:::-;6127:89;6165:6;6127:89;;;;;;;;;;;;;;;;;:11;:19;6139:6;6127:19;;;;;;;;;;;;;;;:33;6147:12;:10;:12::i;:::-;6127:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6096:8;:121::i;:::-;6235:4;6228:11;;5934:313;;;;;:::o;5118:83::-;5159:5;3947:1;5177:16;;5118:83;:::o;5312:119::-;5378:7;5405:9;:18;5415:7;5405:18;;;;;;;;;;;;;;;;5398:25;;5312:119;;;:::o;2653:148::-;2576:12;:10;:12::i;:::-;2566:22;;:6;;;;;;;;;;:22;;;2558:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2760:1:::1;2723:40;;2744:6;::::0;::::1;;;;;;;;2723:40;;;;;;;;;;;;2791:1;2774:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2653:148::o:0;8123:159::-;2576:12;:10;:12::i;:::-;2566:22;;:6;;;;;;;;;;:22;;;2558:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3947:1:::1;4002:2;:13;;;;:::i;:::-;3990:9;:25;;;;:::i;:::-;8176:12;:22;;;;3947:1;4002:2;:13;;;;:::i;:::-;3990:9;:25;;;;:::i;:::-;8209:14;:22;;;;8247:27;3947:1;4002:2;:13;;;;:::i;:::-;3990:9;:25;;;;:::i;:::-;8247:27;;;;;;:::i;:::-;;;;;;;;8123:159::o:0;4132:53::-;;;;:::o;2439:79::-;2477:7;2504:6;;;;;;;;;;;2497:13;;2439:79;:::o;4192:55::-;;;;:::o;5023:87::-;5062:13;5095:7;;;;;;;;;;;;;;;;;5088:14;;5023:87;:::o;9006:315::-;9046:20;9069:24;9087:4;9069:9;:24::i;:::-;9046:47;;9127:1;9112:12;:16;9104:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9189:10;;;;;;;;;;;9173:26;;:12;:10;:12::i;:::-;:26;;;9165:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9263:50;9281:4;9288:10;;;;;;;;;;;9300:12;9263:9;:50::i;:::-;9035:286;9006:315::o;5439:167::-;5517:4;5534:42;5544:12;:10;:12::i;:::-;5558:9;5569:6;5534:9;:42::i;:::-;5594:4;5587:11;;5439:167;;;;:::o;4254:56::-;;;;:::o;8290:671::-;2576:12;:10;:12::i;:::-;2566:22;;:6;;;;;;;;;;:22;;;2558:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8354:11:::1;;;;;;;;;;;8353:12;8345:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;8440:42;8403:15;;:80;;;;;;;;;;;;;;;;;;8494:58;8511:4;8526:15;;;;;;;;;;;3947:1;4002:2;:13;;;;:::i;:::-;3990:9;:25;;;;:::i;:::-;8494:8;:58::i;:::-;8597:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8579:55;;;8643:4;8650:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8579:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8563:13;;:110;;;;;;;;;;;;;;;;;;8684:15;;;;;;;;;;;:31;;;8723:21;8754:4;8760:24;8778:4;8760:9;:24::i;:::-;8785:1;8787::::0;8789:7:::1;:5;:7::i;:::-;8797:15;8684:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8831:13;;;;;;;;;;;8824:29;;;8862:15;;;;;;;;;;;8880:14;8824:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8920:4;8906:11;;:18;;;;;;;;;;;;;;;;;;8949:4;8935:11;;:18;;;;;;;;;;;;;;;;;;8290:671::o:0;5614:143::-;5695:7;5722:11;:18;5734:5;5722:18;;;;;;;;;;;;;;;:27;5741:7;5722:27;;;;;;;;;;;;;;;;5715:34;;5614:143;;;;:::o;9425:126::-;9479:4;2576:12;:10;:12::i;:::-;2566:22;;:6;;;;;;;;;;:22;;;2558:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3947:1:::1;9530:2;:13;;;;:::i;:::-;9503:9;:24;9521:4;9503:24;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;9496:47;;9425:126:::0;:::o;9559:197::-;9605:7;3729:3;9648:10;;:22;;;;:::i;:::-;9629:15;:41;9625:124;;9694:2;9687:9;;;;9625:124;9736:1;9729:8;;9559:197;;:::o;194:98::-;247:7;274:10;267:17;;194:98;:::o;6255:335::-;6365:1;6348:19;;:5;:19;;;6340:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6446:1;6427:21;;:7;:21;;;6419:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6528:6;6498:11;:18;6510:5;6498:18;;;;;;;;;;;;;;;:27;6517:7;6498:27;;;;;;;;;;;;;;;:36;;;;6566:7;6550:32;;6559:5;6550:32;;;6575:6;6550:32;;;;;;:::i;:::-;;;;;;;;6255:335;;;:::o;6598:1411::-;6702:1;6686:18;;:4;:18;;;6678:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6779:1;6765:16;;:2;:16;;;6757:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6849:1;6840:6;:10;6832:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6907:17;6937:18;6958:15;:13;:15::i;:::-;6937:36;;6998:7;:5;:7::i;:::-;6990:15;;:4;:15;;;6986:71;;7022:23;:21;:23::i;:::-;6986:71;7081:7;:5;:7::i;:::-;7073:15;;:4;:15;;;;:32;;;;;7098:7;:5;:7::i;:::-;7092:13;;:2;:13;;;;7073:32;7069:330;;;7132:10;;;;;;;;;;;7126:16;;:4;:16;;;:34;;;;7150:10;;;;;;;;;;;7146:14;;:2;:14;;;7126:34;7122:266;;;7192:1;7181:12;;7122:266;;;7246:31;7273:3;7246:22;7257:10;7246:6;:10;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;7234:43;;7314:12;;7304:6;:22;;7296:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7122:266;7069:330;7423:13;;;;;;;;;;;7415:21;;:4;:21;;;:55;;;;;7454:15;;;;;;;;;;;7440:30;;:2;:30;;;;7415:55;7411:242;;;7505:12;;7495:6;:22;;7487:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7596:14;;7586:6;7570:13;7580:2;7570:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7562:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7411:242;7678:1;7668:9;:11;7665:161;;;7718:39;7747:9;7718;:24;7736:4;7718:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;7693:9;:24;7711:4;7693:24;;;;;;;;;;;;;;;:64;;;;7798:4;7775:39;;7784:4;7775:39;;;7804:9;7775:39;;;;;;:::i;:::-;;;;;;;;7665:161;7852:27;7872:6;7852:9;:15;7862:4;7852:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7836:9;:15;7846:4;7836:15;;;;;;;;;;;;;;;:43;;;;7904:40;7922:21;7933:9;7922:6;:10;;:21;;;;:::i;:::-;7904:9;:13;7914:2;7904:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;7890:9;:13;7900:2;7890:13;;;;;;;;;;;;;;;:54;;;;7975:2;7960:41;;7969:4;7960:41;;;7979:21;7990:9;7979:6;:10;;:21;;;;:::i;:::-;7960:41;;;;;;:::i;:::-;;;;;;;;6667:1342;;6598:1411;;;:::o;1331:190::-;1417:7;1450:1;1445;:6;;1453:12;1437:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1477:9;1493:1;1489;:5;;;;:::i;:::-;1477:17;;1512:1;1505:8;;;1331:190;;;;;:::o;9329:88::-;9394:15;9381:10;:28;;;;9329:88::o;1529:246::-;1587:7;1616:1;1611;:6;1607:47;;1641:1;1634:8;;;;1607:47;1664:9;1680:1;1676;:5;;;;:::i;:::-;1664:17;;1709:1;1704;1700;:5;;;;:::i;:::-;:10;1692:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1766:1;1759:8;;;1529:246;;;;;:::o;1783:132::-;1841:7;1868:39;1872:1;1875;1868:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1861:46;;1783:132;;;;:::o;1000:179::-;1058:7;1078:9;1094:1;1090;:5;;;;:::i;:::-;1078:17;;1119:1;1114;:6;;1106:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1170:1;1163:8;;;1000:179;;;;:::o;1187:136::-;1245:7;1272:43;1276:1;1279;1272:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1265:50;;1187:136;;;;:::o;1923:189::-;2009:7;2041:1;2037;:5;2044:12;2029:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2068:9;2084:1;2080;:5;;;;:::i;:::-;2068:17;;2103:1;2096:8;;;1923: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:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:171::-;10075:23;10071:1;10063:6;10059:14;10052:47;9935:171;:::o;10112:366::-;10254:3;10275:67;10339:2;10334:3;10275:67;:::i;:::-;10268:74;;10351:93;10440:3;10351:93;:::i;:::-;10469:2;10464:3;10460:12;10453:19;;10112:366;;;:::o;10484:419::-;10650:4;10688:2;10677:9;10673:18;10665:26;;10737:9;10731:4;10727:20;10723:1;10712:9;10708:17;10701:47;10765:131;10891:4;10765:131;:::i;:::-;10757:139;;10484:419;;;:::o;10909:233::-;11049:34;11045:1;11037:6;11033:14;11026:58;11118:16;11113:2;11105:6;11101:15;11094:41;10909:233;:::o;11148:366::-;11290:3;11311:67;11375:2;11370:3;11311:67;:::i;:::-;11304:74;;11387:93;11476:3;11387:93;:::i;:::-;11505:2;11500:3;11496:12;11489:19;;11148:366;;;:::o;11520:419::-;11686:4;11724:2;11713:9;11709:18;11701:26;;11773:9;11767:4;11763:20;11759:1;11748:9;11744:17;11737:47;11801:131;11927:4;11801:131;:::i;:::-;11793:139;;11520:419;;;:::o;11945:173::-;12085:25;12081:1;12073:6;12069:14;12062:49;11945:173;:::o;12124:366::-;12266:3;12287:67;12351:2;12346:3;12287:67;:::i;:::-;12280:74;;12363:93;12452:3;12363:93;:::i;:::-;12481:2;12476:3;12472:12;12465:19;;12124:366;;;:::o;12496:419::-;12662:4;12700:2;12689:9;12685:18;12677:26;;12749:9;12743:4;12739:20;12735:1;12724:9;12720:17;12713:47;12777:131;12903:4;12777:131;:::i;:::-;12769:139;;12496:419;;;:::o;12921:143::-;12978:5;13009:6;13003:13;12994:22;;13025:33;13052:5;13025:33;:::i;:::-;12921:143;;;;:::o;13070:351::-;13140:6;13189:2;13177:9;13168:7;13164:23;13160:32;13157:119;;;13195:79;;:::i;:::-;13157:119;13315:1;13340:64;13396:7;13387:6;13376:9;13372:22;13340:64;:::i;:::-;13330:74;;13286:128;13070:351;;;;:::o;13427:332::-;13548:4;13586:2;13575:9;13571:18;13563:26;;13599:71;13667:1;13656:9;13652:17;13643:6;13599:71;:::i;:::-;13680:72;13748:2;13737:9;13733:18;13724:6;13680:72;:::i;:::-;13427:332;;;;;:::o;13765:85::-;13810:7;13839:5;13828:16;;13765:85;;;:::o;13856:60::-;13884:3;13905:5;13898:12;;13856:60;;;:::o;13922:158::-;13980:9;14013:61;14031:42;14040:32;14066:5;14040:32;:::i;:::-;14031:42;:::i;:::-;14013:61;:::i;:::-;14000:74;;13922:158;;;:::o;14086:147::-;14181:45;14220:5;14181:45;:::i;:::-;14176:3;14169:58;14086:147;;:::o;14239:807::-;14488:4;14526:3;14515:9;14511:19;14503:27;;14540:71;14608:1;14597:9;14593:17;14584:6;14540:71;:::i;:::-;14621:72;14689:2;14678:9;14674:18;14665:6;14621:72;:::i;:::-;14703:80;14779:2;14768:9;14764:18;14755:6;14703:80;:::i;:::-;14793;14869:2;14858:9;14854:18;14845:6;14793:80;:::i;:::-;14883:73;14951:3;14940:9;14936:19;14927:6;14883:73;:::i;:::-;14966;15034:3;15023:9;15019:19;15010:6;14966:73;:::i;:::-;14239:807;;;;;;;;;:::o;15052:143::-;15109:5;15140:6;15134:13;15125:22;;15156:33;15183:5;15156:33;:::i;:::-;15052:143;;;;:::o;15201:663::-;15289:6;15297;15305;15354:2;15342:9;15333:7;15329:23;15325:32;15322:119;;;15360:79;;:::i;:::-;15322:119;15480:1;15505:64;15561:7;15552:6;15541:9;15537:22;15505:64;:::i;:::-;15495:74;;15451:128;15618:2;15644:64;15700:7;15691:6;15680:9;15676:22;15644:64;:::i;:::-;15634:74;;15589:129;15757:2;15783:64;15839:7;15830:6;15819:9;15815:22;15783:64;:::i;:::-;15773:74;;15728:129;15201:663;;;;;:::o;15870:332::-;15991:4;16029:2;16018:9;16014:18;16006:26;;16042:71;16110:1;16099:9;16095:17;16086:6;16042:71;:::i;:::-;16123:72;16191:2;16180:9;16176:18;16167:6;16123:72;:::i;:::-;15870:332;;;;;:::o;16208:116::-;16278:21;16293:5;16278:21;:::i;:::-;16271:5;16268:32;16258:60;;16314:1;16311;16304:12;16258:60;16208:116;:::o;16330:137::-;16384:5;16415:6;16409:13;16400:22;;16431:30;16455:5;16431:30;:::i;:::-;16330:137;;;;:::o;16473:345::-;16540:6;16589:2;16577:9;16568:7;16564:23;16560:32;16557:119;;;16595:79;;:::i;:::-;16557:119;16715:1;16740:61;16793:7;16784:6;16773:9;16769:22;16740:61;:::i;:::-;16730:71;;16686:125;16473:345;;;;:::o;16824:180::-;16872:77;16869:1;16862:88;16969:4;16966:1;16959:15;16993:4;16990:1;16983:15;17010:185;17050:1;17067:20;17085:1;17067:20;:::i;:::-;17062:25;;17101:20;17119:1;17101:20;:::i;:::-;17096:25;;17140:1;17130:35;;17145:18;;:::i;:::-;17130:35;17187:1;17184;17180:9;17175:14;;17010:185;;;;:::o;17201:191::-;17241:3;17260:20;17278:1;17260:20;:::i;:::-;17255:25;;17294:20;17312:1;17294:20;:::i;:::-;17289:25;;17337:1;17334;17330:9;17323:16;;17358:3;17355:1;17352:10;17349:36;;;17365:18;;:::i;:::-;17349:36;17201:191;;;;:::o;17398:223::-;17538:34;17534:1;17526:6;17522:14;17515:58;17607:6;17602:2;17594:6;17590:15;17583:31;17398:223;:::o;17627:366::-;17769:3;17790:67;17854:2;17849:3;17790:67;:::i;:::-;17783:74;;17866:93;17955:3;17866:93;:::i;:::-;17984:2;17979:3;17975:12;17968:19;;17627:366;;;:::o;17999:419::-;18165:4;18203:2;18192:9;18188:18;18180:26;;18252:9;18246:4;18242:20;18238:1;18227:9;18223:17;18216:47;18280:131;18406:4;18280:131;:::i;:::-;18272:139;;17999:419;;;:::o;18424:221::-;18564:34;18560:1;18552:6;18548:14;18541:58;18633:4;18628:2;18620:6;18616:15;18609:29;18424:221;:::o;18651:366::-;18793:3;18814:67;18878:2;18873:3;18814:67;:::i;:::-;18807:74;;18890:93;18979:3;18890:93;:::i;:::-;19008:2;19003:3;18999:12;18992:19;;18651:366;;;:::o;19023:419::-;19189:4;19227:2;19216:9;19212:18;19204:26;;19276:9;19270:4;19266:20;19262:1;19251:9;19247:17;19240:47;19304:131;19430:4;19304:131;:::i;:::-;19296:139;;19023:419;;;:::o;19448:224::-;19588:34;19584:1;19576:6;19572:14;19565:58;19657:7;19652:2;19644:6;19640:15;19633:32;19448:224;:::o;19678:366::-;19820:3;19841:67;19905:2;19900:3;19841:67;:::i;:::-;19834:74;;19917:93;20006:3;19917:93;:::i;:::-;20035:2;20030:3;20026:12;20019:19;;19678:366;;;:::o;20050:419::-;20216:4;20254:2;20243:9;20239:18;20231:26;;20303:9;20297:4;20293:20;20289:1;20278:9;20274:17;20267:47;20331:131;20457:4;20331:131;:::i;:::-;20323:139;;20050:419;;;:::o;20475:222::-;20615:34;20611:1;20603:6;20599:14;20592:58;20684:5;20679:2;20671:6;20667:15;20660:30;20475:222;:::o;20703:366::-;20845:3;20866:67;20930:2;20925:3;20866:67;:::i;:::-;20859:74;;20942:93;21031:3;20942:93;:::i;:::-;21060:2;21055:3;21051:12;21044:19;;20703:366;;;:::o;21075:419::-;21241:4;21279:2;21268:9;21264:18;21256:26;;21328:9;21322:4;21318:20;21314:1;21303:9;21299:17;21292:47;21356:131;21482:4;21356:131;:::i;:::-;21348:139;;21075:419;;;:::o;21500:228::-;21640:34;21636:1;21628:6;21624:14;21617:58;21709:11;21704:2;21696:6;21692:15;21685:36;21500:228;:::o;21734:366::-;21876:3;21897:67;21961:2;21956:3;21897:67;:::i;:::-;21890:74;;21973:93;22062:3;21973:93;:::i;:::-;22091:2;22086:3;22082:12;22075:19;;21734:366;;;:::o;22106:419::-;22272:4;22310:2;22299:9;22295:18;22287:26;;22359:9;22353:4;22349:20;22345:1;22334:9;22330:17;22323:47;22387:131;22513:4;22387:131;:::i;:::-;22379:139;;22106:419;;;:::o;22531:228::-;22671:34;22667:1;22659:6;22655:14;22648:58;22740:11;22735:2;22727:6;22723:15;22716:36;22531:228;:::o;22765:366::-;22907:3;22928:67;22992:2;22987:3;22928:67;:::i;:::-;22921:74;;23004:93;23093:3;23004:93;:::i;:::-;23122:2;23117:3;23113:12;23106:19;;22765:366;;;:::o;23137:419::-;23303:4;23341:2;23330:9;23326:18;23318:26;;23390:9;23384:4;23380:20;23376:1;23365:9;23361:17;23354:47;23418:131;23544:4;23418:131;:::i;:::-;23410:139;;23137:419;;;:::o;23562:175::-;23702:27;23698:1;23690:6;23686:14;23679:51;23562:175;:::o;23743:366::-;23885:3;23906:67;23970:2;23965:3;23906:67;:::i;:::-;23899:74;;23982:93;24071:3;23982:93;:::i;:::-;24100:2;24095:3;24091:12;24084:19;;23743:366;;;:::o;24115:419::-;24281:4;24319:2;24308:9;24304:18;24296:26;;24368:9;24362:4;24358:20;24354:1;24343:9;24339:17;24332:47;24396:131;24522:4;24396:131;:::i;:::-;24388:139;;24115:419;;;:::o;24540:176::-;24680:28;24676:1;24668:6;24664:14;24657:52;24540:176;:::o;24722:366::-;24864:3;24885:67;24949:2;24944:3;24885:67;:::i;:::-;24878:74;;24961:93;25050:3;24961:93;:::i;:::-;25079:2;25074:3;25070:12;25063:19;;24722:366;;;:::o;25094:419::-;25260:4;25298:2;25287:9;25283:18;25275:26;;25347:9;25341:4;25337:20;25333:1;25322:9;25318:17;25311:47;25375:131;25501:4;25375:131;:::i;:::-;25367:139;;25094:419;;;:::o;25519:194::-;25559:4;25579:20;25597:1;25579:20;:::i;:::-;25574:25;;25613:20;25631:1;25613:20;:::i;:::-;25608:25;;25657:1;25654;25650:9;25642:17;;25681:1;25675:4;25672:11;25669:37;;;25686:18;;:::i;:::-;25669:37;25519:194;;;;:::o;25719:220::-;25859:34;25855:1;25847:6;25843:14;25836:58;25928:3;25923:2;25915:6;25911:15;25904:28;25719:220;:::o;25945:366::-;26087:3;26108:67;26172:2;26167:3;26108:67;:::i;:::-;26101:74;;26184:93;26273:3;26184:93;:::i;:::-;26302:2;26297:3;26293:12;26286:19;;25945:366;;;:::o;26317:419::-;26483:4;26521:2;26510:9;26506:18;26498:26;;26570:9;26564:4;26560:20;26556:1;26545:9;26541:17;26534:47;26598:131;26724:4;26598:131;:::i;:::-;26590:139;;26317:419;;;:::o;26742:177::-;26882:29;26878:1;26870:6;26866:14;26859:53;26742:177;:::o;26925:366::-;27067:3;27088:67;27152:2;27147:3;27088:67;:::i;:::-;27081:74;;27164:93;27253:3;27164:93;:::i;:::-;27282:2;27277:3;27273:12;27266:19;;26925:366;;;:::o;27297:419::-;27463:4;27501:2;27490:9;27486:18;27478:26;;27550:9;27544:4;27540:20;27536:1;27525:9;27521:17;27514:47;27578:131;27704:4;27578:131;:::i;:::-;27570:139;;27297:419;;;:::o

Swarm Source

ipfs://690c661b06803f40efffc8d1c3e1e7a0ae83dea89fe1a67feb3a40876443e7d3
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.