ETH Price: $3,077.54 (-1.37%)
Gas: 3 Gwei

Contract

0x00813E3421E1367353BfE7615c7f7f133C89df74
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Value
Approve199044692024-05-19 14:06:116 hrs ago1716127571IN
Splintershards: SPS Token
0 ETH0.000185063.97027202
Transfer199032652024-05-19 10:03:2310 hrs ago1716113003IN
Splintershards: SPS Token
0 ETH0.000167173.20257792
Approve199001232024-05-18 23:30:5920 hrs ago1716075059IN
Splintershards: SPS Token
0 ETH0.000123232.6520389
Approve198996022024-05-18 21:46:2322 hrs ago1716068783IN
Splintershards: SPS Token
0 ETH0.00012272.64206907
Approve198967832024-05-18 12:19:2331 hrs ago1716034763IN
Splintershards: SPS Token
0 ETH0.000171333.68720734
Approve198858512024-05-16 23:34:592 days ago1715902499IN
Splintershards: SPS Token
0 ETH0.000164543.54012447
Approve198821442024-05-16 11:08:593 days ago1715857739IN
Splintershards: SPS Token
0 ETH0.000250175.37417305
Transfer198762562024-05-15 15:24:234 days ago1715786663IN
Splintershards: SPS Token
0 ETH0.0004487112.7886917
Transfer198762102024-05-15 15:14:594 days ago1715786099IN
Splintershards: SPS Token
0 ETH0.0004193911.94905787
Approve198757272024-05-15 13:37:474 days ago1715780267IN
Splintershards: SPS Token
0 ETH0.0005988412.8640059
Transfer198630552024-05-13 19:02:236 days ago1715626943IN
Splintershards: SPS Token
0 ETH0.000407811.61868056
Approve198625902024-05-13 17:28:356 days ago1715621315IN
Splintershards: SPS Token
0 ETH0.0009305120.01977928
Transfer198622242024-05-13 16:15:116 days ago1715616911IN
Splintershards: SPS Token
0 ETH0.0011580720.34309413
Transfer198622192024-05-13 16:14:116 days ago1715616851IN
Splintershards: SPS Token
0 ETH0.001088219.11175416
Approve198433562024-05-11 0:56:358 days ago1715388995IN
Splintershards: SPS Token
0 ETH0.000233375.02095227
Approve198285042024-05-08 23:06:4710 days ago1715209607IN
Splintershards: SPS Token
0 ETH0.000183483.93649632
Approve198272032024-05-08 18:43:4711 days ago1715193827IN
Splintershards: SPS Token
0 ETH0.000107164.38138739
Approve198174932024-05-07 10:08:1112 days ago1715076491IN
Splintershards: SPS Token
0 ETH0.00039198.43166057
Approve198027742024-05-05 8:43:2314 days ago1714898603IN
Splintershards: SPS Token
0 ETH0.000296536.38158095
Approve198018732024-05-05 5:41:3514 days ago1714887695IN
Splintershards: SPS Token
0 ETH0.000206954.43994491
Approve197999842024-05-04 23:20:5914 days ago1714864859IN
Splintershards: SPS Token
0 ETH0.000193894.17270474
Approve197786272024-05-01 23:40:2317 days ago1714606823IN
Splintershards: SPS Token
0 ETH0.000206124.42216601
Approve197635462024-04-29 21:08:3519 days ago1714424915IN
Splintershards: SPS Token
0 ETH0.000324526.98201996
Approve197556742024-04-28 18:42:1121 days ago1714329731IN
Splintershards: SPS Token
0 ETH0.000270375.81845676
Approve197529462024-04-28 9:33:1121 days ago1714296791IN
Splintershards: SPS Token
0 ETH0.00033947.30405318
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SPS

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-10-03
*/

pragma solidity ^0.5.16;

interface IStakeModifier {
    function getVotingPower(address user, uint256 votes) external view returns(uint256);
}

contract SPS {
    /// @notice EIP-20 token name for this token
    string public constant name = "Splintershards";

    /// @notice EIP-20 token symbol for this token
    string public constant symbol = "SPS";

    /// @notice EIP-20 token decimals for this token
    uint8 public constant decimals = 18;

    /// @notice Initial number of tokens in circulation
    uint256 public totalSupply = 0;

    /// @notice Allowance amounts on behalf of others
    mapping (address => mapping (address => uint96)) internal allowances;

    /// @notice Official record of token balances for each account
    mapping (address => uint96) internal balances;

    /// @notice A record of each accounts delegate
    mapping (address => address) public delegates;

    /// @notice A checkpoint for marking number of votes from a given block
    struct Checkpoint {
        uint32 fromBlock;
        uint96 votes;
    }

    /// @notice A record of votes checkpoints for each account, by index
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    /// @notice The number of checkpoints for each account
    mapping (address => uint32) public numCheckpoints;

    /// @notice The EIP-712 typehash for the contract's domain
    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");

    /// @notice The EIP-712 typehash for the delegation struct used by the contract
    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

    /// @notice A record of states for signing / validating signatures
    mapping (address => uint256) public nonces;

    /// @notice An event thats emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    /// @notice An event thats emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance);

    /// @notice The standard EIP-20 transfer event
    event Transfer(address indexed from, address indexed to, uint256 amount);

    /// @notice The standard EIP-20 approval event
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /// @notice Admin can update admin, minter and stake modifier
    address public admin;

    /// @notice Minter can call mint() function
    address public minter;

    /// @notice Interface for receiving voting power data
    IStakeModifier public stakeModifier;

    /**
     * @dev Modifier to make a function callable only by the admin.
     */
    modifier adminOnly() {
        require(msg.sender == admin, "Only admin");
        _;
    }

    /**
     * @dev Modifier to make a function callable only by the minter.
     */
    modifier minterOnly() {
        require(msg.sender == minter, "Only minter");
        _;
    }

    /// @notice Emitted when changing admin
    event SetAdmin(address indexed newAdmin, address indexed oldAdmin);

    /// @notice Emitted when changing minter
    event SetMinter(address indexed newMinter, address indexed oldAdmin);

    /// @notice Event used for cross-chain transfers
    event BridgeTransfer(address indexed sender, address indexed receiver, uint256 amount, string externalAddress);

    /// @notice Emitted when stake modifier address is updated
    event SetStakeModifier(address indexed newStakeModifier, address indexed oldStakeModifier);

    /**
     * @notice Construct a new Comp token
     * @param adminAddress The address with admin rights
     * @param minterAddress The address with minter rights
     * @param stakeModifierAddress The address of stakeModifier contract
     */
     constructor(address adminAddress, address minterAddress, address stakeModifierAddress) public {
         admin = adminAddress;
         minter = minterAddress;

         stakeModifier = IStakeModifier(stakeModifierAddress);
     }

    /**
     * @notice Get the number of tokens `spender` is approved to spend on behalf of `account`
     * @param account The address of the account holding the funds
     * @param spender The address of the account spending the funds
     * @return The number of tokens approved
     */
    function allowance(address account, address spender) external view returns (uint256) {
        return allowances[account][spender];
    }

    /**
     * @notice Approve `spender` to transfer up to `amount` from `src`
     * @dev This will overwrite the approval amount for `spender`
     *  and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
     * @param spender The address of the account which may transfer tokens
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @return Whether or not the approval succeeded
     */
    function approve(address spender, uint256 rawAmount) external returns (bool) {
        uint96 amount;
        if (rawAmount == uint256(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "SPS::approve: amount exceeds 96 bits");
        }

        allowances[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);
        return true;
    }

    /**
     * @notice Get the number of tokens held by the `account`
     * @param account The address of the account to get the balance of
     * @return The number of tokens held
     */
    function balanceOf(address account) external view returns (uint256) {
        return balances[account];
    }

    /**
     * @notice Transfer `amount` tokens from `msg.sender` to `dst`
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transfer(address dst, uint256 rawAmount) public returns (bool) {
        uint96 amount = safe96(rawAmount, "SPS::transfer: amount exceeds 96 bits");
        _transferTokens(msg.sender, dst, amount);
        return true;
    }

    /**
     * @notice Transfer `amount` tokens from `src` to `dst`
     * @param src The address of the source account
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transferFrom(address src, address dst, uint256 rawAmount) public returns (bool) {
        address spender = msg.sender;
        uint96 spenderAllowance = allowances[src][spender];
        uint96 amount = safe96(rawAmount, "SPS::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "SPS::transferFrom: transfer amount exceeds spender allowance");
            allowances[src][spender] = newAllowance;

            emit Approval(src, spender, newAllowance);
        }

        _transferTokens(src, dst, amount);
        return true;
    }

    /**
     * @notice Delegate votes from `msg.sender` to `delegatee`
     * @param delegatee The address to delegate votes to
     */
    function delegate(address delegatee) public {
        return _delegate(msg.sender, delegatee);
    }

    /**
     * @notice Delegates votes from signatory to `delegatee`
     * @param delegatee The address to delegate votes to
     * @param nonce The contract state required to match the signature
     * @param expiry The time at which to expire the signature
     * @param v The recovery byte of the signature
     * @param r Half of the ECDSA signature pair
     * @param s Half of the ECDSA signature pair
     */
    function delegateBySig(address delegatee, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) public {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "SPS::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "SPS::delegateBySig: invalid nonce");
        require(now <= expiry, "SPS::delegateBySig: signature expired");
        return _delegate(signatory, delegatee);
    }

    /**
     * @notice Gets the current votes balance for `account`
     * @param account The address to get votes balance
     * @return The number of current votes for `account`
     */
    function getCurrentVotes(address account) external view returns (uint96) {
        uint32 nCheckpoints = numCheckpoints[account];
        uint96 votes = nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
        return getModifiedVotes(account, votes);
    }

    /**
     * @notice Determine the prior number of votes for an account as of a block number
     * @dev Block number must be a finalized block or else this function will revert to prevent misinformation.
     * @param account The address of the account to check
     * @param blockNumber The block number to get the vote balance at
     * @return The number of votes the account had as of the given block
     */
    function getPriorVotes(address account, uint256 blockNumber) public view returns (uint96) {
        require(blockNumber < block.number, "SPS::getPriorVotes: not yet determined");

        uint32 nCheckpoints = numCheckpoints[account];
        if (nCheckpoints == 0) {
            return 0;
        }

        // First check most recent balance
        if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
            uint96 votes = checkpoints[account][nCheckpoints - 1].votes;
            return getModifiedVotes(account, votes);
        }

        // Next check implicit zero balance
        if (checkpoints[account][0].fromBlock > blockNumber) {
            return 0;
        }

        uint32 lower = 0;
        uint32 upper = nCheckpoints - 1;
        while (upper > lower) {
            uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow
            Checkpoint memory cp = checkpoints[account][center];
            if (cp.fromBlock == blockNumber) {
                return cp.votes;
            } else if (cp.fromBlock < blockNumber) {
                lower = center;
            } else {
                upper = center - 1;
            }
        }
        uint96 votes = checkpoints[account][lower].votes;
        return getModifiedVotes(account, votes);
    }

    /**
     * @notice Determines the number of votes an account has after modifications by the StakeModifier
     * @param account The address of the account to check
     * @param votes The initial, unmodified number of votes, read from storage
     */
    function getModifiedVotes(address account, uint96 votes) internal view returns (uint96) {
        if (address(stakeModifier) == address(0)){
            return votes;
        }
        return safe96(stakeModifier.getVotingPower(account, votes), "SPS::getModifiedVotes: amount exceeds 96 bits");
    }

    function _delegate(address delegator, address delegatee) internal {
        address currentDelegate = delegates[delegator];
        uint96 delegatorBalance = balances[delegator];
        delegates[delegator] = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, delegatorBalance);
    }

    function _transferTokens(address src, address dst, uint96 amount) internal {
        require(src != address(0), "SPS::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "SPS::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "SPS::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "SPS::_transferTokens: transfer amount overflows");
        emit Transfer(src, dst, amount);

        _moveDelegates(delegates[src], delegates[dst], amount);
    }

    function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                uint32 srcRepNum = numCheckpoints[srcRep];
                uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint96 srcRepNew = sub96(srcRepOld, amount, "SPS::_moveVotes: vote amount underflows");
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                uint32 dstRepNum = numCheckpoints[dstRep];
                uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint96 dstRepNew = add96(dstRepOld, amount, "SPS::_moveVotes: vote amount overflows");
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {
      uint32 blockNumber = safe32(block.number, "SPS::_writeCheckpoint: block number exceeds 32 bits");

      if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
          checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
      } else {
          checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
          numCheckpoints[delegatee] = nCheckpoints + 1;
      }

      emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
    }

    function safe32(uint256 n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function safe96(uint256 n, string memory errorMessage) internal pure returns (uint96) {
        require(n < 2**96, errorMessage);
        return uint96(n);
    }

    function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        uint96 c = a + b;
        require(c >= a, errorMessage);
        return c;
    }

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

    function getChainId() internal pure returns (uint256) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }

    /**
     * @notice Set new admin address
     * @param newAdmin New admin address
     */
    function setAdmin(address newAdmin) external adminOnly {
        emit SetAdmin(newAdmin, admin);
        admin = newAdmin;
    }

    /**
     * @notice Set new minter address
     * @param newMinter New minter address
     */
    function setMinter(address newMinter) external adminOnly {
        emit SetMinter(newMinter, minter);
        minter = newMinter;
    }

    /**
     * @notice Set new stake modifier address
     * @param newStakeModifier New stake modifer contract address
     */
    function setStakeModifier(address newStakeModifier) external adminOnly {
        emit SetStakeModifier(newStakeModifier, address(stakeModifier));
        stakeModifier = IStakeModifier(newStakeModifier);
    }

    /**
     * @notice Mint additional tokens
     * @param toAccount Account receiving new tokens
     * @param amount Amount of minted tokens
     */
    function mint(address toAccount, uint256 amount) external minterOnly {
        _mint(toAccount, amount);
    }

    /**
     * @notice Mint additional tokens
     * @param account The address of the account to check
     * @param amount The amount of tokens minted
     */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        totalSupply += uint96(amount);
        balances[account] = safe96(uint256(balances[account]) + amount, "SPS::_mint: amount exceeds 96 bits");
        emit Transfer(address(0), account, amount);
    }

    /**
     * @notice Transfer tokens to cross-chain bridge
     * @param bridgeAddress The address of the bridge account
     * @param rawAmount The amount of tokens transfered
     * @param externalAddress The address on another chain
     */
     function bridgeTransfer(address bridgeAddress, uint256 rawAmount, string calldata externalAddress) external returns(bool) {
         emit BridgeTransfer(msg.sender, bridgeAddress, rawAmount, externalAddress);
         transfer(bridgeAddress, rawAmount);
     }

     /**
      * @notice Transfer tokens from address to cross-chain bridge
      * @param sourceAddress The address of the source account
      * @param bridgeAddress The address of the bridge account
      * @param rawAmount The amount of tokens transfered
      * @param externalAddress The address on another chain
      */
     function bridgeTransferFrom(address sourceAddress, address bridgeAddress, uint256 rawAmount, string calldata externalAddress) external returns(bool) {
         emit BridgeTransfer(sourceAddress, bridgeAddress, rawAmount, externalAddress);
         transferFrom(sourceAddress, bridgeAddress, rawAmount);
     }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"adminAddress","type":"address"},{"internalType":"address","name":"minterAddress","type":"address"},{"internalType":"address","name":"stakeModifierAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"externalAddress","type":"string"}],"name":"BridgeTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"}],"name":"SetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newMinter","type":"address"},{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"}],"name":"SetMinter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newStakeModifier","type":"address"},{"indexed":true,"internalType":"address","name":"oldStakeModifier","type":"address"}],"name":"SetStakeModifier","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"bridgeAddress","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"},{"internalType":"string","name":"externalAddress","type":"string"}],"name":"bridgeTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sourceAddress","type":"address"},{"internalType":"address","name":"bridgeAddress","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"},{"internalType":"string","name":"externalAddress","type":"string"}],"name":"bridgeTransferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"toAccount","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newMinter","type":"address"}],"name":"setMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newStakeModifier","type":"address"}],"name":"setStakeModifier","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakeModifier","outputs":[{"internalType":"contract IStakeModifier","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526000805534801561001457600080fd5b50604051613b55380380613b558339818101604052606081101561003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505082600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050613a24806101316000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806373761828116100f9578063c3cda52011610097578063e7a324dc11610071578063e7a324dc14610b40578063f1127ed814610b5e578063f851a44014610bf5578063fca3b5aa14610c3f576101c4565b8063c3cda52014610a05578063dd62ed3e14610a7e578063e2a1443914610af6576101c4565b806395d89b41116100d357806395d89b41146107cd5780639ee42e9514610850578063a9059cbb1461092b578063b4b5ea5714610991576101c4565b8063737618281461063c578063782d6fe1146106f75780637ecebe0014610775576101c4565b806336eae89e116101665780635c19a95c116101405780635c19a95c146104f85780636fcfff451461053c578063704b6c02146105a057806370a08231146105e4576101c4565b806336eae89e146103e257806340c10f1914610426578063587cde1e14610474576101c4565b806318160ddd116101a257806318160ddd146102fc57806320606b701461031a57806323b872dd14610338578063313ce567146103be576101c4565b806306fdde03146101c9578063075461721461024c578063095ea7b314610296575b600080fd5b6101d1610c83565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610254610cbc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e2600480360360408110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce2565b604051808215151515815260200191505060405180910390f35b610304610e83565b6040518082815260200191505060405180910390f35b610322610e89565b6040518082815260200191505060405180910390f35b6103a46004803603606081101561034e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea5565b604051808215151515815260200191505060405180910390f35b6103c6611147565b604051808260ff1660ff16815260200191505060405180910390f35b610424600480360360208110156103f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061114c565b005b6104726004803603604081101561043c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112cf565b005b6104b66004803603602081101561048a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113a0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61053a6004803603602081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d3565b005b61057e6004803603602081101561055257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e0565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6105e2600480360360208110156105b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611403565b005b610626600480360360208110156105fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611586565b6040518082815260200191505060405180910390f35b6106dd6004803603606081101561065257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561069957600080fd5b8201836020820111156106ab57600080fd5b803590602001918460018302840111640100000000831117156106cd57600080fd5b90919293919293905050506115f5565b604051808215151515815260200191505060405180910390f35b6107436004803603604081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116a3565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6107b76004803603602081101561078b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aea565b6040518082815260200191505060405180910390f35b6107d5611b02565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108155780820151818401526020810190506107fa565b50505050905090810190601f1680156108425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109116004803603608081101561086657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108cd57600080fd5b8201836020820111156108df57600080fd5b8035906020019184600183028401116401000000008311171561090157600080fd5b9091929391929390505050611b3b565b604051808215151515815260200191505060405180910390f35b6109776004803603604081101561094157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611beb565b604051808215151515815260200191505060405180910390f35b6109d3600480360360208110156109a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c28565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b610a7c600480360360c0811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611d24565b005b610ae060048036036040811015610a9457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d5565b6040518082815260200191505060405180910390f35b610afe612182565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610b486121a8565b6040518082815260200191505060405180910390f35b610bb060048036036040811015610b7457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff1690602001909291905050506121c4565b604051808363ffffffff1663ffffffff168152602001826bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019250505060405180910390f35b610bfd61221d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c8160048036036020811015610c5557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612243565b005b6040518060400160405280600e81526020017f53706c696e74657273686172647300000000000000000000000000000000000081525081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610d35577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050610d5a565b610d57836040518060600160405280602481526020016137b7602491396123c6565b90505b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b60005481565b6040518080613800604391396043019050604051809103902081565b6000803390506000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610f68856040518060600160405280602481526020016137b7602491396123c6565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fe257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b1561112e57600061100c83836040518060600160405280603c81526020016139b4603c9139612489565b905080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b61113987878361255f565b600193505050509392505050565b601281565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461120f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f6e6c792061646d696e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f089e0e78d71b05b0e1af3ccca3d47b88f444d509bba562268577164785874d0d60405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4f6e6c79206d696e74657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b61139c828261297a565b5050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113dd3382612b9a565b50565b60056020528060005260406000206000915054906101000a900463ffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f6e6c792061646d696e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f848ac24ab84501710d6631faab117b66b79aba7ec6f7778cf3bcff428c1a4efc60405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b60008473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4bfee1a2af329cd95b98d09a65b810085aae37c33e11aec0a461b00f603dfa5986868660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a361169a8585611beb565b50949350505050565b60004382106116fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061395f6026913960400191505060405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff16141561176a576000915050611ae4565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161161187b576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1690506118728582612d5a565b92505050611ae4565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611156118fc576000915050611ae4565b600080905060006001830390505b8163ffffffff168163ffffffff161115611a57576000600283830363ffffffff168161193257fe5b048203905061193f613687565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff161415611a2f57806020015195505050505050611ae4565b86816000015163ffffffff161015611a4957819350611a50565b6001820392505b505061190a565b6000600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008463ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff169050611add8782612d5a565b9450505050505b92915050565b60066020528060005260406000206000915090505481565b6040518060400160405280600381526020017f535053000000000000000000000000000000000000000000000000000000000081525081565b60008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f4bfee1a2af329cd95b98d09a65b810085aae37c33e11aec0a461b00f603dfa5986868660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a3611be1868686610ea5565b5095945050505050565b600080611c1083604051806060016040528060258152602001613870602591396123c6565b9050611c1d33858361255f565b600191505092915050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff1611611c93576000611d0f565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050611d1b8482612d5a565b92505050919050565b6000604051808061380060439139604301905060405180910390206040518060400160405280600e81526020017f53706c696e74657273686172647300000000000000000000000000000000000081525080519060200120611d84612ed4565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613925603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611f2f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611fc1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136fd6025913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136dc6021913960400191505060405180910390fd5b874211156120bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806137db6025913960400191505060405180910390fd5b6120c9818b612b9a565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518080613925603a9139603a019050604051809103902081565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f6e6c792061646d696e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fe490d3138e32f1f66ef3971a3c73c7f7704ba0c1d1000f1e2c3df6fc0376610b60405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006c010000000000000000000000008310829061247f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612444578082015181840152602081019050612429565b50505050905090810190601f1680156124715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290612552576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125175780820151818401526020810190506124fc565b50505050905090810190601f1680156125445780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613895603b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561266b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806137226039913960400191505060405180910390fd5b6126e5600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff168260405180606001604052806035815260200161378260359139612489565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506127cc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602f8152602001613985602f9139612ee1565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3612975600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612fbc565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b806bffffffffffffffffffffffff166000808282540192505081905550612ac381600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16016040518060600160405280602281526020016138d0602291396123c6565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4612d54828483612fbc565b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612dba57819050612ece565b612ecb600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ff400f485856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612e7257600080fd5b505afa158015612e86573d6000803e3d6000fd5b505050506040513d6020811015612e9c57600080fd5b81019080805190602001909291905050506040518060600160405280602d8152602001613843602d91396123c6565b90505b92915050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390612fb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f75578082015181840152602081019050612f5a565b50505050905090810190601f168015612fa25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561300657506000816bffffffffffffffffffffffff16115b156132b257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461315e576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116130a9576000613125565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061314c828560405180606001604052806027815260200161375b60279139612489565b905061315a868484846132b7565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146132b1576000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116131fc576000613278565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061329f82856040518060600160405280602681526020016136b660269139612ee1565b90506132ad858484846132b7565b5050505b5b505050565b60006132db436040518060600160405280603381526020016138f2603391396135cc565b905060008463ffffffff1611801561337057508063ffffffff16600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b1561340b5781600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550613553565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b60006401000000008310829061367d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613642578082015181840152602081019050613627565b50505050905090810190601f16801561366f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe5350533a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77735350533a3a64656c656761746542795369673a20696e76616c6964206e6f6e63655350533a3a64656c656761746542795369673a20696e76616c6964207369676e61747572655350533a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f20616464726573735350533a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f77735350533a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63655350533a3a617070726f76653a20616d6f756e74206578636565647320393620626974735350533a3a64656c656761746542795369673a207369676e61747572652065787069726564454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e7472616374295350533a3a6765744d6f646966696564566f7465733a20616d6f756e74206578636565647320393620626974735350533a3a7472616e736665723a20616d6f756e74206578636565647320393620626974735350533a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f20616464726573735350533a3a5f6d696e743a20616d6f756e74206578636565647320393620626974735350533a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747344656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e7432353620657870697279295350533a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65645350533a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77735350533a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365a265627a7a723158205841e3798e4de2b05e9994dc48473a860626d5f23407a3bfb8ef6707b6186c2d64736f6c6343000510003200000000000000000000000094718f1fe0f4f9f3075ac2a0781a839317b64c1b00000000000000000000000094718f1fe0f4f9f3075ac2a0781a839317b64c1b0000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806373761828116100f9578063c3cda52011610097578063e7a324dc11610071578063e7a324dc14610b40578063f1127ed814610b5e578063f851a44014610bf5578063fca3b5aa14610c3f576101c4565b8063c3cda52014610a05578063dd62ed3e14610a7e578063e2a1443914610af6576101c4565b806395d89b41116100d357806395d89b41146107cd5780639ee42e9514610850578063a9059cbb1461092b578063b4b5ea5714610991576101c4565b8063737618281461063c578063782d6fe1146106f75780637ecebe0014610775576101c4565b806336eae89e116101665780635c19a95c116101405780635c19a95c146104f85780636fcfff451461053c578063704b6c02146105a057806370a08231146105e4576101c4565b806336eae89e146103e257806340c10f1914610426578063587cde1e14610474576101c4565b806318160ddd116101a257806318160ddd146102fc57806320606b701461031a57806323b872dd14610338578063313ce567146103be576101c4565b806306fdde03146101c9578063075461721461024c578063095ea7b314610296575b600080fd5b6101d1610c83565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610254610cbc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e2600480360360408110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce2565b604051808215151515815260200191505060405180910390f35b610304610e83565b6040518082815260200191505060405180910390f35b610322610e89565b6040518082815260200191505060405180910390f35b6103a46004803603606081101561034e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea5565b604051808215151515815260200191505060405180910390f35b6103c6611147565b604051808260ff1660ff16815260200191505060405180910390f35b610424600480360360208110156103f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061114c565b005b6104726004803603604081101561043c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112cf565b005b6104b66004803603602081101561048a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113a0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61053a6004803603602081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d3565b005b61057e6004803603602081101561055257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e0565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6105e2600480360360208110156105b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611403565b005b610626600480360360208110156105fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611586565b6040518082815260200191505060405180910390f35b6106dd6004803603606081101561065257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561069957600080fd5b8201836020820111156106ab57600080fd5b803590602001918460018302840111640100000000831117156106cd57600080fd5b90919293919293905050506115f5565b604051808215151515815260200191505060405180910390f35b6107436004803603604081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116a3565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6107b76004803603602081101561078b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aea565b6040518082815260200191505060405180910390f35b6107d5611b02565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108155780820151818401526020810190506107fa565b50505050905090810190601f1680156108425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109116004803603608081101561086657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108cd57600080fd5b8201836020820111156108df57600080fd5b8035906020019184600183028401116401000000008311171561090157600080fd5b9091929391929390505050611b3b565b604051808215151515815260200191505060405180910390f35b6109776004803603604081101561094157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611beb565b604051808215151515815260200191505060405180910390f35b6109d3600480360360208110156109a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c28565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b610a7c600480360360c0811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611d24565b005b610ae060048036036040811015610a9457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d5565b6040518082815260200191505060405180910390f35b610afe612182565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610b486121a8565b6040518082815260200191505060405180910390f35b610bb060048036036040811015610b7457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff1690602001909291905050506121c4565b604051808363ffffffff1663ffffffff168152602001826bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019250505060405180910390f35b610bfd61221d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c8160048036036020811015610c5557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612243565b005b6040518060400160405280600e81526020017f53706c696e74657273686172647300000000000000000000000000000000000081525081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610d35577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050610d5a565b610d57836040518060600160405280602481526020016137b7602491396123c6565b90505b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b60005481565b6040518080613800604391396043019050604051809103902081565b6000803390506000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610f68856040518060600160405280602481526020016137b7602491396123c6565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fe257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b1561112e57600061100c83836040518060600160405280603c81526020016139b4603c9139612489565b905080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b61113987878361255f565b600193505050509392505050565b601281565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461120f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f6e6c792061646d696e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f089e0e78d71b05b0e1af3ccca3d47b88f444d509bba562268577164785874d0d60405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4f6e6c79206d696e74657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b61139c828261297a565b5050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113dd3382612b9a565b50565b60056020528060005260406000206000915054906101000a900463ffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f6e6c792061646d696e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f848ac24ab84501710d6631faab117b66b79aba7ec6f7778cf3bcff428c1a4efc60405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b60008473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4bfee1a2af329cd95b98d09a65b810085aae37c33e11aec0a461b00f603dfa5986868660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a361169a8585611beb565b50949350505050565b60004382106116fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061395f6026913960400191505060405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff16141561176a576000915050611ae4565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161161187b576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1690506118728582612d5a565b92505050611ae4565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611156118fc576000915050611ae4565b600080905060006001830390505b8163ffffffff168163ffffffff161115611a57576000600283830363ffffffff168161193257fe5b048203905061193f613687565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff161415611a2f57806020015195505050505050611ae4565b86816000015163ffffffff161015611a4957819350611a50565b6001820392505b505061190a565b6000600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008463ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff169050611add8782612d5a565b9450505050505b92915050565b60066020528060005260406000206000915090505481565b6040518060400160405280600381526020017f535053000000000000000000000000000000000000000000000000000000000081525081565b60008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f4bfee1a2af329cd95b98d09a65b810085aae37c33e11aec0a461b00f603dfa5986868660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a3611be1868686610ea5565b5095945050505050565b600080611c1083604051806060016040528060258152602001613870602591396123c6565b9050611c1d33858361255f565b600191505092915050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff1611611c93576000611d0f565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050611d1b8482612d5a565b92505050919050565b6000604051808061380060439139604301905060405180910390206040518060400160405280600e81526020017f53706c696e74657273686172647300000000000000000000000000000000000081525080519060200120611d84612ed4565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613925603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611f2f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611fc1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136fd6025913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136dc6021913960400191505060405180910390fd5b874211156120bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806137db6025913960400191505060405180910390fd5b6120c9818b612b9a565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518080613925603a9139603a019050604051809103902081565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f6e6c792061646d696e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fe490d3138e32f1f66ef3971a3c73c7f7704ba0c1d1000f1e2c3df6fc0376610b60405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006c010000000000000000000000008310829061247f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612444578082015181840152602081019050612429565b50505050905090810190601f1680156124715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290612552576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125175780820151818401526020810190506124fc565b50505050905090810190601f1680156125445780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180613895603b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561266b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806137226039913960400191505060405180910390fd5b6126e5600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff168260405180606001604052806035815260200161378260359139612489565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506127cc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602f8152602001613985602f9139612ee1565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3612975600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612fbc565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b806bffffffffffffffffffffffff166000808282540192505081905550612ac381600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16016040518060600160405280602281526020016138d0602291396123c6565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4612d54828483612fbc565b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612dba57819050612ece565b612ecb600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ff400f485856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612e7257600080fd5b505afa158015612e86573d6000803e3d6000fd5b505050506040513d6020811015612e9c57600080fd5b81019080805190602001909291905050506040518060600160405280602d8152602001613843602d91396123c6565b90505b92915050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390612fb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f75578082015181840152602081019050612f5a565b50505050905090810190601f168015612fa25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561300657506000816bffffffffffffffffffffffff16115b156132b257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461315e576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116130a9576000613125565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061314c828560405180606001604052806027815260200161375b60279139612489565b905061315a868484846132b7565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146132b1576000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116131fc576000613278565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061329f82856040518060600160405280602681526020016136b660269139612ee1565b90506132ad858484846132b7565b5050505b5b505050565b60006132db436040518060600160405280603381526020016138f2603391396135cc565b905060008463ffffffff1611801561337057508063ffffffff16600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b1561340b5781600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550613553565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b60006401000000008310829061367d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613642578082015181840152602081019050613627565b50505050905090810190601f16801561366f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe5350533a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77735350533a3a64656c656761746542795369673a20696e76616c6964206e6f6e63655350533a3a64656c656761746542795369673a20696e76616c6964207369676e61747572655350533a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f20616464726573735350533a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f77735350533a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63655350533a3a617070726f76653a20616d6f756e74206578636565647320393620626974735350533a3a64656c656761746542795369673a207369676e61747572652065787069726564454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e7472616374295350533a3a6765744d6f646966696564566f7465733a20616d6f756e74206578636565647320393620626974735350533a3a7472616e736665723a20616d6f756e74206578636565647320393620626974735350533a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f20616464726573735350533a3a5f6d696e743a20616d6f756e74206578636565647320393620626974735350533a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747344656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e7432353620657870697279295350533a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65645350533a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77735350533a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365a265627a7a723158205841e3798e4de2b05e9994dc48473a860626d5f23407a3bfb8ef6707b6186c2d64736f6c63430005100032

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

00000000000000000000000094718f1fe0f4f9f3075ac2a0781a839317b64c1b00000000000000000000000094718f1fe0f4f9f3075ac2a0781a839317b64c1b0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : adminAddress (address): 0x94718f1Fe0F4F9f3075AC2a0781A839317B64c1B
Arg [1] : minterAddress (address): 0x94718f1Fe0F4F9f3075AC2a0781A839317B64c1B
Arg [2] : stakeModifierAddress (address): 0x0000000000000000000000000000000000000000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000094718f1fe0f4f9f3075ac2a0781a839317b64c1b
Arg [1] : 00000000000000000000000094718f1fe0f4f9f3075ac2a0781a839317b64c1b
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

151:17843:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;151:17843:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;221:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;221:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2691:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5195:424;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5195:424:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;529:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1424:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6745:671;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6745:671:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;428:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15800:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15800:212:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;16177:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16177:112:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;874:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;874:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7564:102;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7564:102:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1302:49;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1302:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15282:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15282:131:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5822:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5822:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17072:263;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17072:263:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;17072:263:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17072:263:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17072:263:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9804:1340;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9804:1340:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1838:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1838:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;328:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;328:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17679:312;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;17679:312:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;17679:312:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17679:312:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17679:312:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6197:238;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6197:238:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9093:280;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9093:280:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8100:792;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8100:792:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4578:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4578:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2780:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1640:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1163:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1163:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2613:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15522:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15522:138:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;221:46;;;;;;;;;;;;;;;;;;;:::o;2691:21::-;;;;;;;;;;;;;:::o;5195:424::-;5266:4;5283:13;5332:2;5311:9;:24;5307:175;;;5368:2;5352:19;;5307:175;;;5413:57;5420:9;5413:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;5404:66;;5307:175;5528:6;5494:10;:22;5505:10;5494:22;;;;;;;;;;;;;;;:31;5517:7;5494:31;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;5573:7;5552:37;;5561:10;5552:37;;;5582:6;5552:37;;;;;;;;;;;;;;;;;;;;5607:4;5600:11;;;5195:424;;;;:::o;529:30::-;;;;:::o;1424:122::-;1466:80;;;;;;;;;;;;;;;;;;;1424:122;:::o;6745:671::-;6828:4;6845:15;6863:10;6845:28;;6884:23;6910:10;:15;6921:3;6910:15;;;;;;;;;;;;;;;:24;6926:7;6910:24;;;;;;;;;;;;;;;;;;;;;;;;;6884:50;;6945:13;6961:57;6968:9;6961:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;6945:73;;7046:3;7035:14;;:7;:14;;;;:48;;;;;7080:2;7053:30;;:16;:30;;;;7035:48;7031:310;;;7100:19;7122:95;7128:16;7146:6;7122:95;;;;;;;;;;;;;;;;;:5;:95::i;:::-;7100:117;;7259:12;7232:10;:15;7243:3;7232:15;;;;;;;;;;;;;;;:24;7248:7;7232:24;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;7307:7;7293:36;;7302:3;7293:36;;;7316:12;7293:36;;;;;;;;;;;;;;;;;;;;7031:310;;7353:33;7369:3;7374;7379:6;7353:15;:33::i;:::-;7404:4;7397:11;;;;;6745:671;;;;;:::o;428:35::-;461:2;428:35;:::o;15800:212::-;2965:5;;;;;;;;;;;2951:19;;:10;:19;;;2943:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15930:13;;;;;;;;;;;15887:58;;15904:16;15887:58;;;;;;;;;;;;15987:16;15956:13;;:48;;;;;;;;;;;;;;;;;;15800:212;:::o;16177:112::-;3156:6;;;;;;;;;;;3142:20;;:10;:20;;;3134:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16257:24;16263:9;16274:6;16257:5;:24::i;:::-;16177:112;;:::o;874:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;7564:102::-;7626:32;7636:10;7648:9;7626;:32::i;:::-;7564:102;:::o;1302:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;15282:131::-;2965:5;;;;;;;;;;;2951:19;;:10;:19;;;2943:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15372:5;;;;;;;;;;;15353:25;;15362:8;15353:25;;;;;;;;;;;;15397:8;15389:5;;:16;;;;;;;;;;;;;;;;;;15282:131;:::o;5822:111::-;5881:7;5908:8;:17;5917:7;5908:17;;;;;;;;;;;;;;;;;;;;;;;;;5901:24;;;;5822:111;;;:::o;17072:263::-;17188:4;17238:13;17211:69;;17226:10;17211:69;;;17253:9;17264:15;;17211:69;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;17211:69:0;;;;;;;;;;;;;;;17292:34;17301:13;17316:9;17292:8;:34::i;:::-;;17072:263;;;;;;:::o;9804:1340::-;9886:6;9927:12;9913:11;:26;9905:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9995:19;10017:14;:23;10032:7;10017:23;;;;;;;;;;;;;;;;;;;;;;;;;9995:45;;10071:1;10055:12;:17;;;10051:58;;;10096:1;10089:8;;;;;10051:58;10221:11;10169;:20;10181:7;10169:20;;;;;;;;;;;;;;;:38;10205:1;10190:12;:16;10169:38;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:63;;;10165:209;;10249:12;10264:11;:20;10276:7;10264:20;;;;;;;;;;;;;;;:38;10300:1;10285:12;:16;10264:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;10249:59;;10330:32;10347:7;10356:5;10330:16;:32::i;:::-;10323:39;;;;;;10165:209;10471:11;10435;:20;10447:7;10435:20;;;;;;;;;;;;;;;:23;10456:1;10435:23;;;;;;;;;;;;;:33;;;;;;;;;;;;:47;;;10431:88;;;10506:1;10499:8;;;;;10431:88;10531:12;10546:1;10531:16;;10558:12;10588:1;10573:12;:16;10558:31;;10600:428;10615:5;10607:13;;:5;:13;;;10600:428;;;10637:13;10679:1;10670:5;10662;:13;10661:19;;;;;;;;10653:5;:27;10637:43;;10722:20;;:::i;:::-;10745:11;:20;10757:7;10745:20;;;;;;;;;;;;;;;:28;10766:6;10745:28;;;;;;;;;;;;;;;10722:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10808:11;10792:2;:12;;;:27;;;10788:229;;;10847:2;:8;;;10840:15;;;;;;;;;10788:229;10896:11;10881:2;:12;;;:26;;;10877:140;;;10936:6;10928:14;;10877:140;;;11000:1;10991:6;:10;10983:18;;10877:140;10600:428;;;;;11038:12;11053:11;:20;11065:7;11053:20;;;;;;;;;;;;;;;:27;11074:5;11053:27;;;;;;;;;;;;;;;:33;;;;;;;;;;;;11038:48;;11104:32;11121:7;11130:5;11104:16;:32::i;:::-;11097:39;;;;;;9804:1340;;;;;:::o;1838:42::-;;;;;;;;;;;;;;;;;:::o;328:37::-;;;;;;;;;;;;;;;;;;;:::o;17679:312::-;17822:4;17875:13;17845:72;;17860:13;17845:72;;;17890:9;17901:15;;17845:72;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;17845:72:0;;;;;;;;;;;;;;;17929:53;17942:13;17957;17972:9;17929:12;:53::i;:::-;;17679:312;;;;;;;:::o;6197:238::-;6263:4;6280:13;6296:58;6303:9;6296:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;6280:74;;6365:40;6381:10;6393:3;6398:6;6365:15;:40::i;:::-;6423:4;6416:11;;;6197:238;;;;:::o;9093:280::-;9158:6;9177:19;9199:14;:23;9214:7;9199:23;;;;;;;;;;;;;;;;;;;;;;;;;9177:45;;9233:12;9263:1;9248:12;:16;;;:67;;9314:1;9248:67;;;9267:11;:20;9279:7;9267:20;;;;;;;;;;;;;;;:38;9303:1;9288:12;:16;9267:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;9248:67;9233:82;;9333:32;9350:7;9359:5;9333:16;:32::i;:::-;9326:39;;;;9093:280;;;:::o;8100:792::-;8222:23;1466:80;;;;;;;;;;;;;;;;;;;8302:4;;;;;;;;;;;;;;;;;8286:22;;;;;;8310:12;:10;:12::i;:::-;8332:4;8258:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8258:80:0;;;8248:91;;;;;;8222:117;;8350:18;1686:71;;;;;;;;;;;;;;;;;;;8413:9;8424:5;8431:6;8381:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8381:57:0;;;8371:68;;;;;;8350:89;;8450:14;8506:15;8523:10;8477:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8477:57:0;;;8467:68;;;;;;8450:85;;8546:17;8566:26;8576:6;8584:1;8587;8590;8566:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8566:26:0;;;;;;;;8546:46;;8632:1;8611:23;;:9;:23;;;;8603:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8704:6;:17;8711:9;8704:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;8695:5;:28;8687:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8787:6;8780:3;:13;;8772:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8853:31;8863:9;8874;8853;:31::i;:::-;8846:38;;;;8100:792;;;;;;:::o;4578:139::-;4654:7;4681:10;:19;4692:7;4681:19;;;;;;;;;;;;;;;:28;4701:7;4681:28;;;;;;;;;;;;;;;;;;;;;;;;;4674:35;;;;4578:139;;;;:::o;2780:35::-;;;;;;;;;;;;;:::o;1640:117::-;1686:71;;;;;;;;;;;;;;;;;;;1640:117;:::o;1163:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2613:20::-;;;;;;;;;;;;;:::o;15522:138::-;2965:5;;;;;;;;;;;2951:19;;:10;:19;;;2943:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15616:6;;;;;;;;;;;15595:28;;15605:9;15595:28;;;;;;;;;;;;15643:9;15634:6;;:18;;;;;;;;;;;;;;;;;;15522:138;:::o;14479:164::-;14557:6;14588:5;14584:1;:9;14595:12;14576:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14576:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14633:1;14619:16;;14479:164;;;;:::o;14847:165::-;14933:6;14965:1;14960:6;;:1;:6;;;;14968:12;14952:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14952:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15003:1;14999;:5;14992:12;;14847:165;;;;;:::o;12108:610::-;12217:1;12202:17;;:3;:17;;;;12194:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12317:1;12302:17;;:3;:17;;;;12294:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12410:85;12416:8;:13;12425:3;12416:13;;;;;;;;;;;;;;;;;;;;;;;;;12431:6;12410:85;;;;;;;;;;;;;;;;;:5;:85::i;:::-;12394:8;:13;12403:3;12394:13;;;;;;;;;;;;;;;;:101;;;;;;;;;;;;;;;;;;12522:79;12528:8;:13;12537:3;12528:13;;;;;;;;;;;;;;;;;;;;;;;;;12543:6;12522:79;;;;;;;;;;;;;;;;;:5;:79::i;:::-;12506:8;:13;12515:3;12506:13;;;;;;;;;;;;;;;;:95;;;;;;;;;;;;;;;;;;12631:3;12617:26;;12626:3;12617:26;;;12636:6;12617:26;;;;;;;;;;;;;;;;;;;;12656:54;12671:9;:14;12681:3;12671:14;;;;;;;;;;;;;;;;;;;;;;;;;12687:9;:14;12697:3;12687:14;;;;;;;;;;;;;;;;;;;;;;;;;12703:6;12656:14;:54::i;:::-;12108:610;;;:::o;16463:348::-;16558:1;16539:21;;:7;:21;;;;16531:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16631:6;16609:29;;:11;;:29;;;;;;;;;;;16669:81;16705:6;16684:8;:17;16693:7;16684:17;;;;;;;;;;;;;;;;;;;;;;;;;16676:26;;:35;16669:81;;;;;;;;;;;;;;;;;:6;:81::i;:::-;16649:8;:17;16658:7;16649:17;;;;;;;;;;;;;;;;:101;;;;;;;;;;;;;;;;;;16787:7;16766:37;;16783:1;16766:37;;;16796:6;16766:37;;;;;;;;;;;;;;;;;;16463:348;;:::o;11725:375::-;11802:23;11828:9;:20;11838:9;11828:20;;;;;;;;;;;;;;;;;;;;;;;;;11802:46;;11859:23;11885:8;:19;11894:9;11885:19;;;;;;;;;;;;;;;;;;;;;;;;;11859:45;;11938:9;11915;:20;11925:9;11915:20;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;12009:9;11965:54;;11992:15;11965:54;;11981:9;11965:54;;;;;;;;;;;;12032:60;12047:15;12064:9;12075:16;12032:14;:60::i;:::-;11725:375;;;;:::o;11412:305::-;11492:6;11549:1;11515:36;;11523:13;;;;;;;;;;;11515:36;;;11511:80;;;11574:5;11567:12;;;;11511:80;11608:101;11615:13;;;;;;;;;;;:28;;;11644:7;11653:5;11615:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11615:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11615:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11615:44:0;;;;;;;;;;;;;;;;11608:101;;;;;;;;;;;;;;;;;:6;:101::i;:::-;11601:108;;11412:305;;;;;:::o;15020:156::-;15065:7;15085:15;15133:9;15122:20;;15161:7;15154:14;;;15020:156;:::o;14651:188::-;14737:6;14756:8;14771:1;14767;:5;14756:16;;14796:1;14791:6;;:1;:6;;;;14799:12;14783:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14783:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14830:1;14823:8;;;14651:188;;;;;:::o;12726:937::-;12831:6;12821:16;;:6;:16;;;;:30;;;;;12850:1;12841:6;:10;;;12821:30;12817:839;;;12890:1;12872:20;;:6;:20;;;12868:381;;12913:16;12932:14;:22;12947:6;12932:22;;;;;;;;;;;;;;;;;;;;;;;;;12913:41;;12973:16;13004:1;12992:9;:13;;;:60;;13051:1;12992:60;;;13008:11;:19;13020:6;13008:19;;;;;;;;;;;;;;;:34;13040:1;13028:9;:13;13008:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;12992:60;12973:79;;13071:16;13090:67;13096:9;13107:6;13090:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;13071:86;;13176:57;13193:6;13201:9;13212;13223;13176:16;:57::i;:::-;12868:381;;;;13287:1;13269:20;;:6;:20;;;13265:380;;13310:16;13329:14;:22;13344:6;13329:22;;;;;;;;;;;;;;;;;;;;;;;;;13310:41;;13370:16;13401:1;13389:9;:13;;;:60;;13448:1;13389:60;;;13405:11;:19;13417:6;13405:19;;;;;;;;;;;;;;;:34;13437:1;13425:9;:13;13405:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;13389:60;13370:79;;13468:16;13487:66;13493:9;13504:6;13487:66;;;;;;;;;;;;;;;;;:5;:66::i;:::-;13468:85;;13572:57;13589:6;13597:9;13608;13619;13572:16;:57::i;:::-;13265:380;;;;12817:839;12726:937;;;:::o;13671:628::-;13789:18;13810:75;13817:12;13810:75;;;;;;;;;;;;;;;;;:6;:75::i;:::-;13789:96;;13915:1;13900:12;:16;;;:85;;;;;13974:11;13920:65;;:11;:22;13932:9;13920:22;;;;;;;;;;;;;;;:40;13958:1;13943:12;:16;13920:40;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:65;;;13900:85;13896:329;;;14049:8;14000:11;:22;14012:9;14000:22;;;;;;;;;;;;;;;:40;14038:1;14023:12;:16;14000:40;;;;;;;;;;;;;;;:46;;;:57;;;;;;;;;;;;;;;;;;13896:329;;;14125:33;;;;;;;;14136:11;14125:33;;;;;;14149:8;14125:33;;;;;14086:11;:22;14098:9;14086:22;;;;;;;;;;;;;;;:36;14109:12;14086:36;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14214:1;14199:12;:16;14171:14;:25;14186:9;14171:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;13896:329;14261:9;14240:51;;;14272:8;14282;14240:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;13671:628;;;;;:::o;14307:164::-;14385:6;14416:5;14412:1;:9;14423:12;14404:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14404:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14461:1;14447:16;;14307:164;;;;:::o;151:17843::-;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://5841e3798e4de2b05e9994dc48473a860626d5f23407a3bfb8ef6707b6186c2d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Splinterlands is a digital, collectible card game based on blockchain technology, where players build a collection of cards with different attributes and battle other players in skills-based matches.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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