Contract 0x8b303d5bbfbbf46f1a4d9741e491e06986894e18

 
Ad
Ad
Txn Hash
Block
From
To
Value [Txn Fee]
0x31b4d526eaa1f584858d023f3c1ce2220eeeb130502a0a1cf24ba58b7d92ecac54886682021-03-08 2:26:2710 mins ago0x2635101853883a6cb395530abe4937642383c885 IN  Woonkly: WOOP Token0 BNB0.000578963
0xf02ff71b94c7ec65eb84ffcabfa5a7479310f3876f2a600fa14d7fedaf5ef1db54880962021-03-08 1:57:4539 mins ago0x10f13616a5592cd2fb074564f5773f478f154ab1 IN  Woonkly: WOOP Token0 BNB0.00046182
0xf1b8a3c07e75ee89f46068a3551a07eca2cfa83b476409dcd69037e1eb67d5a554878452021-03-08 1:45:1251 mins ago0x7a07a9bdf44a8e5fd6db683faafb1f84852edcef IN  Woonkly: WOOP Token0 BNB0.00041198
0xbdaa6c554e8fa9fd13f7af6e7791c10f9dbc7828b2e9a0ae4978bb89fa118afd54877882021-03-08 1:42:2154 mins ago0xf30034f0a2115af48f638511b529c410e1e66a2e IN  Woonkly: WOOP Token0 BNB0.00046182
0x7dee26d4132a45bbb00d95ab03c45e3f47cd6fef174643f35c327a7505ac919254874362021-03-08 1:24:451 hr 12 mins ago0x9086a17772af8bb760956eec2737e4122c83e869 IN  Woonkly: WOOP Token0 BNB0.00046026
0x4de9c8528803c156e53d158ef533da720e308c83963251dc595c305932b88fef54873762021-03-08 1:21:451 hr 15 mins ago0x2e1164cf4047ab77e5202a44659362423c646f3a IN  Woonkly: WOOP Token0 BNB0.00046026
0x860e11f2952a65a1b34bcf5f56502bca9896611ecbab863ad5dc4baeb182548f54862232021-03-08 0:24:062 hrs 12 mins ago0x4cf8acc79fb76e9017212b3829e7a4568119f0a9 IN  Woonkly: WOOP Token0 BNB0.0004121
0xe385c5eb71fc84132103232f66d10e3db49ad9967bab26563f3e083221ee19ea54860892021-03-08 0:17:242 hrs 19 mins ago0x3c32c6c861f93d1b85cbf34e4564b877198eeb01 IN  Woonkly: WOOP Token0 BNB0.00056198
0x7e131b8e475606ac7c5911ef61bf17d52f5b09dedb889f5d5b8124a211c4fc7e54859672021-03-08 0:11:182 hrs 25 mins ago0x2c587bb0192ae842dcd3432378aff2d6f3728d25 IN  Woonkly: WOOP Token0 BNB0.0004121
0x8713f0fd6cb2ec8792ce7b3c01042d8a13878cb3e12a0d7a78f5c991484ce72a54858622021-03-08 0:06:032 hrs 30 mins ago0x54ddd074ea71c27290d670350cca7ccff0d7d192 IN  Woonkly: WOOP Token0 BNB0.00026234
0x906adbcfee1499ec9e686557b8063507fb5cc912394a0a0984c1dfca92e40df354850182021-03-07 23:23:513 hrs 13 mins ago0x5a6a1d5cd9b19f9ca5bb237f4ac3fc34729a7837 IN  Woonkly: WOOP Token0 BNB0.00056198
0x3e8b5c31bcdf5511d280be504077b5bb9d9c01515a21962a9d0f55759eed935f54849842021-03-07 23:22:093 hrs 14 mins ago0xb3053b35f1e55204ebd1abf54e57c288606055e0 IN  Woonkly: WOOP Token0 BNB0.00026246
0x74eb2758630e0a98dbf81895ebee7e9ad88546d37002c40b9e0af714c77ac00754849432021-03-07 23:20:063 hrs 16 mins ago0xb3053b35f1e55204ebd1abf54e57c288606055e0 IN  Woonkly: WOOP Token0 BNB0.0005621
0xc2c2b95d04c5a92d3cd99d70eaaae94fe5930bb472fc572a75cd882c0ce06d9454843082021-03-07 22:48:213 hrs 48 mins ago0xc9d1cc430c19b7e88269af25b87d640220e622fd IN  Woonkly: WOOP Token0 BNB0.00046182
0xf6671b3c21a3662227ea1d90df1e162be33fa44e51c336843f5c89b00f2ae0cf54841422021-03-07 22:40:033 hrs 56 mins ago0x5399e73e06172874a94f1f0f7c3bd94440eeba75 IN  Woonkly: WOOP Token0 BNB0.00056222
0x50a9034835ccc563598f3a08c2efdc3bfdd181eee54a23ae6c5516dab2a0f5d754840692021-03-07 22:36:244 hrs ago0x01bc769462231a1b053edfb63b8a58843fc2b64e IN  Woonkly: WOOP Token0 BNB0.0004617
0xda9ebb5dea3723e87f8e83f0ef20f5dcdaa0c926c4553540bacc7c540604bac454836402021-03-07 22:14:574 hrs 21 mins ago0xd2f5204a0222768cc7ee5b99393d420ed101b70c IN  Woonkly: WOOP Token0 BNB0.002412424
0x889ce2a2e7f1c9a1bd8f6aa031567a7b957c42cb6cce58a549638da552cae7c254836292021-03-07 22:14:244 hrs 22 mins ago0xd2f5204a0222768cc7ee5b99393d420ed101b70c IN  Woonkly: WOOP Token0 BNB0.003627536
0xf3254981fee2d7f781991371ad6c5a3f3672ed0b476e9569d4baab67d882115e54836172021-03-07 22:13:484 hrs 23 mins ago0xd2f5204a0222768cc7ee5b99393d420ed101b70c IN  Woonkly: WOOP Token0 BNB0.003627536
0xde31619f32730eeb762121dab5f47a39c46669ff4331b8f2ee2a3abf07af0d8c54831962021-03-07 21:52:454 hrs 44 mins ago0xd2f5204a0222768cc7ee5b99393d420ed101b70c IN  Woonkly: WOOP Token0 BNB0.00362648
0x35e220b297d4a88a19dccee4c1292c2028f1ac0d9367d14373292488542829df54829932021-03-07 21:42:364 hrs 54 mins ago0x7a486d6be6b94edb7131567a64e79e1be4d2237c IN  Woonkly: WOOP Token0 BNB0.00046182
0x247cf9eba903cb6c34c885873ff12762bfe678c824cef0d5a381bea9b56f955554829272021-03-07 21:39:184 hrs 57 mins ago0xd2f5204a0222768cc7ee5b99393d420ed101b70c IN  Woonkly: WOOP Token0 BNB0.005844592
0xcd49427023a5511d172485f524e20c884e6360963b681e765d99886cd479e9f354826262021-03-07 21:24:155 hrs 12 mins ago0xde3d0e635fa2c5d3642db735e5dcd62085ba3a84 IN  Woonkly: WOOP Token0 BNB0.0002621
0x7b46bb4aada10ea25672ce780a648199f08cbe5093b990bb8aed365003f2443e54819772021-03-07 20:51:485 hrs 45 mins ago0xb807d35a7a04a7f75e62f4cba5166c608f1f4c72 IN  Woonkly: WOOP Token0 BNB0.00046182
0xa36c5009531ebeab4215bc251c31d01732c1c3973c892d0c04206b7e7fa24a1854817642021-03-07 20:41:095 hrs 55 mins ago0x6e3619258efda78bcda9b46eb3d45521ee9220ea IN  Woonkly: WOOP Token0 BNB0.0004121
[ Download CSV Export 

OVERVIEW

Woonkly is a platform that has come to revolutionize the online advertising market.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x77cfd1123d97881f6fbba5d1fd9ad554dfefb42c03eca0b0ccfd61ea47da7f4054712562021-03-07 11:55:4514 hrs 41 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x77cfd1123d97881f6fbba5d1fd9ad554dfefb42c03eca0b0ccfd61ea47da7f4054712562021-03-07 11:55:4514 hrs 41 mins ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0xd6db59934b7ba04f3287ec1a46e67e7e2e18ac0183cf9fa4dd9b5eb5bfef00ca54712382021-03-07 11:54:5114 hrs 42 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd6db59934b7ba04f3287ec1a46e67e7e2e18ac0183cf9fa4dd9b5eb5bfef00ca54712382021-03-07 11:54:5114 hrs 42 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd1950c37b2bf3cb686c844c9eb53438d011faa936a03734015b32b82def8578554712202021-03-07 11:53:5714 hrs 42 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd1950c37b2bf3cb686c844c9eb53438d011faa936a03734015b32b82def8578554712202021-03-07 11:53:5714 hrs 42 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xda2c2d3a885443845dde27147914e9ef2bedcef245d852beed5c790f3997070654712152021-03-07 11:53:4214 hrs 43 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xda2c2d3a885443845dde27147914e9ef2bedcef245d852beed5c790f3997070654712152021-03-07 11:53:4214 hrs 43 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xbbb7be64c47561026233aadf8f5709d7017fe867dbda7cb068180b687a7bf81154711992021-03-07 11:52:5414 hrs 43 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xbbb7be64c47561026233aadf8f5709d7017fe867dbda7cb068180b687a7bf81154711992021-03-07 11:52:5414 hrs 43 mins ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x10881d35b30674e67b3ec3c0dcc98136b0569b14a2789d4d554d869922021dcc54711682021-03-07 11:51:2114 hrs 45 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x10881d35b30674e67b3ec3c0dcc98136b0569b14a2789d4d554d869922021dcc54711682021-03-07 11:51:2114 hrs 45 mins ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x00c136e5c188927a427a5387de74d3b5538f9ab34a6d05413a21dfc456c165c854711662021-03-07 11:51:1514 hrs 45 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x00c136e5c188927a427a5387de74d3b5538f9ab34a6d05413a21dfc456c165c854711662021-03-07 11:51:1514 hrs 45 mins ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x4865b2f362c197d97b4b873a04ae3e6d120eb3c408d0eb0608d956066ac01f4654711632021-03-07 11:51:0614 hrs 45 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x4865b2f362c197d97b4b873a04ae3e6d120eb3c408d0eb0608d956066ac01f4654711632021-03-07 11:51:0614 hrs 45 mins ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x2bbf9bfeac11d77857d43cc2159da46f716243357f6c0b9fde3b11d5982a92e154711352021-03-07 11:49:4214 hrs 47 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x2bbf9bfeac11d77857d43cc2159da46f716243357f6c0b9fde3b11d5982a92e154711352021-03-07 11:49:4214 hrs 47 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd286135a85b283766c769dad25782311a96f4d50e4f5b06008f7a9011d33235b54711312021-03-07 11:49:3014 hrs 47 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd286135a85b283766c769dad25782311a96f4d50e4f5b06008f7a9011d33235b54711312021-03-07 11:49:3014 hrs 47 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x572fb6dc438bd002738b96cc6c6b7b2f4f0f11f3fa45b1f03fd9f744970f598d54710082021-03-07 11:43:2114 hrs 53 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x572fb6dc438bd002738b96cc6c6b7b2f4f0f11f3fa45b1f03fd9f744970f598d54710082021-03-07 11:43:2114 hrs 53 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x8f88847325fdd54e046806395b92690a6437b26af7ae3d68caf4fad859126f4c54709362021-03-07 11:39:4514 hrs 57 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x8f88847325fdd54e046806395b92690a6437b26af7ae3d68caf4fad859126f4c54709362021-03-07 11:39:4514 hrs 57 mins ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0xe7ef0606261c4b53e62488ce40c1462c52fd4c56b02641f74cd586dcb70cc01254709352021-03-07 11:39:4214 hrs 57 mins ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WOOP

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at BscScan.com on 2020-11-25
*/

pragma solidity ^0.5.16;

contract Owned {

    address public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner, "Should be owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        owner = newOwner;
        emit OwnershipTransferred(owner, newOwner);
    }
}

contract Tokenlock is Owned {
    /// @notice Indicates if token is locked
    uint8 isLocked = 0;

    event Freezed();
    event UnFreezed();

    modifier validLock {
        require(isLocked == 0, "Token is locked");
        _;
    }
    
    function freeze() public onlyOwner {
        isLocked = 1;
        
        emit Freezed();
    }

    function unfreeze() public onlyOwner {
        isLocked = 0;
        
        emit UnFreezed();
    }
}

contract WOOP is Tokenlock {
    /// @notice BEP-20 token name for this token
    string public constant name = "Woonkly Power";

    /// @notice BEP-20 token symbol for this token
    string public constant symbol = "WOOP";

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

    /// @notice Total number of tokens in circulation
    uint public constant totalSupply = 1000000000e18; // 1 mil million WTSTsts

    /// @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 => uint) 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, uint previousBalance, uint newBalance);

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

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

    /**
     * @notice Construct a new WOOP token
     * @param account The initial account to grant all the tokens
     */
    constructor(address account) public {
        balances[account] = uint96(totalSupply);
        emit Transfer(address(0), account, totalSupply);
    }

    /**
     * @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 (uint) {
        return allowances[account][spender];
    }

    /**
     * @notice Approve `spender` to transfer up to `amount` from `src`
     * @dev This will overwrite the approval amount for `spender`
     * @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, uint rawAmount) external validLock returns (bool) {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "WOP::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 (uint) {
        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, uint rawAmount) external validLock returns (bool) {
        uint96 amount = safe96(rawAmount, "WOP::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, uint rawAmount) external validLock returns (bool) {
        address spender = msg.sender;
        uint96 spenderAllowance = allowances[src][spender];
        uint96 amount = safe96(rawAmount, "WOP::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "WOP::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 validLock {
        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, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public validLock {
        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), "WOP::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "WOP::delegateBySig: invalid nonce");
        require(now <= expiry, "WOP::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];
        return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
    }

    /**
     * @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, uint blockNumber) public view returns (uint96) {
        require(blockNumber < block.number, "WOP::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) {
            return checkpoints[account][nCheckpoints - 1].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;
            }
        }
        return checkpoints[account][lower].votes;
    }

    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), "WOP::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "WOP::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "WOP::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "WOP::_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, "WOP::_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, "WOP::_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, "WOP::_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(uint n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function safe96(uint 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 (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","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":"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":[],"name":"Freezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"UnFreezed","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":[{"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":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":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","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":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":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","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"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405260008060146101000a81548160ff021916908360ff16021790555034801561002b57600080fd5b506040516133893803806133898339818101604052602081101561004e57600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b033b2e3c9fd0803ce8000000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040518082815260200191505060405180910390a3506131ee8061019b6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063b4b5ea571161007c578063b4b5ea57146106c2578063c3cda52014610736578063dd62ed3e146107af578063e7a324dc14610827578063f1127ed814610845578063f2fde38b146108dc5761014d565b806370a0823114610461578063782d6fe1146104b95780637ecebe00146105375780638da5cb5b1461058f57806395d89b41146105d9578063a9059cbb1461065c5761014d565b8063313ce56711610115578063313ce567146102fd578063587cde1e146103215780635c19a95c146103a557806362a5af3b146103e95780636a28f000146103f35780636fcfff45146103fd5761014d565b806306fdde0314610152578063095ea7b3146101d557806318160ddd1461023b57806320606b701461025957806323b872dd14610277575b600080fd5b61015a610920565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019a57808201518184015260208101905061017f565b50505050905090810190601f1680156101c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610221600480360360408110156101eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610959565b604051808215151515815260200191505060405180910390f35b610243610b82565b6040518082815260200191505060405180910390f35b610261610b92565b6040518082815260200191505060405180910390f35b6102e36004803603606081101561028d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bae565b604051808215151515815260200191505060405180910390f35b610305610ed8565b604051808260ff1660ff16815260200191505060405180910390f35b6103636004803603602081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610edd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103e7600480360360208110156103bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f10565b005b6103f1610fa4565b005b6103fb6110b0565b005b61043f6004803603602081101561041357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111bb565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6104a36004803603602081101561047757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111de565b6040518082815260200191505060405180910390f35b610505600480360360408110156104cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061124d565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6105796004803603602081101561054d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611676565b6040518082815260200191505060405180910390f35b61059761168e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105e16116b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610621578082015181840152602081019050610606565b50505050905090810190601f16801561064e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106a86004803603604081101561067257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ec565b604051808215151515815260200191505060405180910390f35b610704600480360360208110156106d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6107ad600480360360c081101561074c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061189f565b005b610811600480360360408110156107c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cd7565b6040518082815260200191505060405180910390f35b61082f611d84565b6040518082815260200191505060405180910390f35b6108976004803603604081101561085b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611da0565b604051808363ffffffff1663ffffffff168152602001826bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019250505060405180910390f35b61091e600480360360208110156108f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611df9565b005b6040518060400160405280600d81526020017f576f6f6e6b6c7920506f7765720000000000000000000000000000000000000081525081565b600080600060149054906101000a900460ff1660ff16146109e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610a34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050610a59565b610a568360405180606001604052806024815260200161316f60249139611f79565b90505b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b6b033b2e3c9fd0803ce800000081565b604051808061304f604391396043019050604051809103902081565b600080600060149054906101000a900460ff1660ff1614610c37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b60003390506000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610cf98560405180606001604052806024815260200161316f60249139611f79565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d7357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b15610ebf576000610d9d83836040518060600160405280603c8152602001612f0a603c913961203c565b905080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b610eca878783612112565b600193505050509392505050565b601281565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff1660ff1614610f97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b610fa1338261252d565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f53686f756c64206265206f776e6572000000000000000000000000000000000081525060200191505060405180910390fd5b6001600060146101000a81548160ff021916908360ff1602179055507f962a6139ca22015759d0878e2cf5d770dcb8152e1d5ba08e46a969dd9b154a9c60405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f53686f756c64206265206f776e6572000000000000000000000000000000000081525060200191505060405180910390fd5b60008060146101000a81548160ff021916908360ff1602179055507ff0daac2271a735ea786b9adf80dfcbd6a3cbd52f3cab0a78337114692d5faf5d60405160405180910390a1565b60056020528060005260406000206000915054906101000a900463ffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b60004382106112a7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612f466026913960400191505060405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415611314576000915050611670565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161161141657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff16915050611670565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115611497576000915050611670565b600080905060006001830390505b8163ffffffff168163ffffffff1611156115f2576000600283830363ffffffff16816114cd57fe5b04820390506114da612ea0565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff1614156115ca57806020015195505050505050611670565b86816000015163ffffffff1610156115e4578193506115eb565b6001820392505b50506114a5565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600481526020017f574f4f500000000000000000000000000000000000000000000000000000000081525081565b600080600060149054906101000a900460ff1660ff1614611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b6000611799836040518060600160405280602581526020016130c560259139611f79565b90506117a6338583612112565b600191505092915050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161161181b576000611897565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b60008060149054906101000a900460ff1660ff1614611926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b6000604051808061304f60439139604301905060405180910390206040518060400160405280600d81526020017f576f6f6e6b6c7920506f77657200000000000000000000000000000000000000815250805190602001206119866126ed565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613135603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611b31573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fc26025913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914611c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612f6c6021913960400191505060405180910390fd5b87421115611cc1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806131106025913960400191505060405180910390fd5b611ccb818b61252d565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b6040518080613135603a9139603a019050604051809103902081565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f53686f756c64206265206f776e6572000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60006c0100000000000000000000000083108290612032576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ff7578082015181840152602081019050611fdc565b50505050905090810190601f1680156120245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290612105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120ca5780820151818401526020810190506120af565b50505050905090810190601f1680156120f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612ecf603b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561221e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806130166039913960400191505060405180910390fd5b612298600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060358152602001612f8d6035913961203c565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061237f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602f8152602001612fe7602f91396126fa565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3612528600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836127d5565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46126e78284836127d5565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff16101583906127c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561278e578082015181840152602081019050612773565b50505050905090810190601f1680156127bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561281f57506000816bffffffffffffffffffffffff16115b15612acb57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612977576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116128c257600061293e565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061296582856040518060600160405280602781526020016131936027913961203c565b905061297386848484612ad0565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612aca576000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff1611612a15576000612a91565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b90506000612ab882856040518060600160405280602681526020016130ea602691396126fa565b9050612ac685848484612ad0565b5050505b5b505050565b6000612af44360405180606001604052806033815260200161309260339139612de5565b905060008463ffffffff16118015612b8957508063ffffffff16600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b15612c245781600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612d6c565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b600064010000000083108290612e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e5b578082015181840152602081019050612e40565b50505050905090810190601f168015612e885780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe574f503a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f2061646472657373574f503a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365574f503a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e6564574f503a3a64656c656761746542795369673a20696e76616c6964206e6f6e6365574f503a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365574f503a3a64656c656761746542795369673a20696e76616c6964207369676e6174757265574f503a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773574f503a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429574f503a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473574f503a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473574f503a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773574f503a3a64656c656761746542795369673a207369676e6174757265206578706972656444656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929574f503a3a617070726f76653a20616d6f756e7420657863656564732039362062697473574f503a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773a265627a7a72315820ca5b39a1512752fad39132ac8789e1353b147d1c6625dd3d268aaf74e0a816e164736f6c634300051100320000000000000000000000002d9bfe96a027112438884eefea5c83e6c810f655

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

0000000000000000000000002d9bfe96a027112438884eefea5c83e6c810f655

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002d9bfe96a027112438884eefea5c83e6c810f655


Deployed ByteCode Sourcemap

968:12799:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;968:12799:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1052:45;;;:::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;1052:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4513:428;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4513:428:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1358:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2296:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6073:680;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6073:680:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1259:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1746:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1746:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6901:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6901:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;747:101;;;:::i;:::-;;856:105;;;:::i;:::-;;2174:49;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2174:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5144:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5144:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9097:1217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9097:1217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2710:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2710:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;52:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1158:38;;;:::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;1158:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5516:247;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5516:247:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8444:222;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8444:222:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7447:796;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7447:796:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3993:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3993:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2512:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2035:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2035:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;331:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;331:150:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1052:45;;;;;;;;;;;;;;;;;;;:::o;4513:428::-;4591:4;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4608:13;4654:2;4636:9;:21;4632:172;;;4690:2;4674:19;;4632:172;;;4735:57;4742:9;4735:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;4726:66;;4632:172;4850:6;4816:10;:22;4827:10;4816:22;;;;;;;;;;;;;;;:31;4839:7;4816:31;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;4895:7;4874:37;;4883:10;4874:37;;;4904:6;4874:37;;;;;;;;;;;;;;;;;;;;4929:4;4922:11;;;4513:428;;;;:::o;1358:48::-;1393:13;1358:48;:::o;2296:122::-;2338:80;;;;;;;;;;;;;;;;;;;2296:122;:::o;6073:680::-;6165:4;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:15;6200:10;6182:28;;6221:23;6247:10;:15;6258:3;6247:15;;;;;;;;;;;;;;;:24;6263:7;6247:24;;;;;;;;;;;;;;;;;;;;;;;;;6221:50;;6282:13;6298:57;6305:9;6298:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;6282:73;;6383:3;6372:14;;:7;:14;;;;:48;;;;;6417:2;6390:30;;:16;:30;;;;6372:48;6368:310;;;6437:19;6459:95;6465:16;6483:6;6459:95;;;;;;;;;;;;;;;;;:5;:95::i;:::-;6437:117;;6596:12;6569:10;:15;6580:3;6569:15;;;;;;;;;;;;;;;:24;6585:7;6569:24;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6644:7;6630:36;;6639:3;6630:36;;;6653:12;6630:36;;;;;;;;;;;;;;;;;;;;6368:310;;6690:33;6706:3;6711;6716:6;6690:15;:33::i;:::-;6741:4;6734:11;;;;;6073:680;;;;;:::o;1259:35::-;1292:2;1259:35;:::o;1746:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6901:112::-;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6973:32;6983:10;6995:9;6973;:32::i;:::-;6901:112;:::o;747:101::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;256:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;804:1;793:8;;:12;;;;;;;;;;;;;;;;;;831:9;;;;;;;;;;747:101::o;856:105::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;256:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915:1;904:8;;:12;;;;;;;;;;;;;;;;;;942:11;;;;;;;;;;856:105::o;2174:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5144:108::-;5203:4;5227:8;:17;5236:7;5227:17;;;;;;;;;;;;;;;;;;;;;;;;;5220:24;;;;5144:108;;;:::o;9097:1217::-;9176:6;9217:12;9203:11;:26;9195:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9285:19;9307:14;:23;9322:7;9307:23;;;;;;;;;;;;;;;;;;;;;;;;;9285:45;;9361:1;9345:12;:17;;;9341:58;;;9386:1;9379:8;;;;;9341:58;9511:11;9459;:20;9471:7;9459:20;;;;;;;;;;;;;;;:38;9495:1;9480:12;:16;9459:38;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:63;;;9455:147;;9546:11;:20;9558:7;9546:20;;;;;;;;;;;;;;;:38;9582:1;9567:12;:16;9546:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;9539:51;;;;;9455:147;9699:11;9663;:20;9675:7;9663:20;;;;;;;;;;;;;;;:23;9684:1;9663:23;;;;;;;;;;;;;:33;;;;;;;;;;;;:47;;;9659:88;;;9734:1;9727:8;;;;;9659:88;9759:12;9774:1;9759:16;;9786:12;9816:1;9801:12;:16;9786:31;;9828:428;9843:5;9835:13;;:5;:13;;;9828:428;;;9865:13;9907:1;9898:5;9890;:13;9889:19;;;;;;;;9881:5;:27;9865:43;;9950:20;;:::i;:::-;9973:11;:20;9985:7;9973:20;;;;;;;;;;;;;;;:28;9994:6;9973:28;;;;;;;;;;;;;;;9950:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10036:11;10020:2;:12;;;:27;;;10016:229;;;10075:2;:8;;;10068:15;;;;;;;;;10016:229;10124:11;10109:2;:12;;;:26;;;10105:140;;;10164:6;10156:14;;10105:140;;;10228:1;10219:6;:10;10211:18;;10105:140;9828:428;;;;;10273:11;:20;10285:7;10273:20;;;;;;;;;;;;;;;:27;10294:5;10273:27;;;;;;;;;;;;;;;:33;;;;;;;;;;;;10266:40;;;;;9097:1217;;;;;:::o;2710:39::-;;;;;;;;;;;;;;;;;:::o;52:20::-;;;;;;;;;;;;;:::o;1158:38::-;;;;;;;;;;;;;;;;;;;:::o;5516:247::-;5591:4;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5608:13;5624:58;5631:9;5624:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;5608:74;;5693:40;5709:10;5721:3;5726:6;5693:15;:40::i;:::-;5751:4;5744:11;;;5516:247;;;;:::o;8444:222::-;8509:6;8528:19;8550:14;:23;8565:7;8550:23;;;;;;;;;;;;;;;;;;;;;;;;;8528:45;;8606:1;8591:12;:16;;;:67;;8657:1;8591:67;;;8610:11;:20;8622:7;8610:20;;;;;;;;;;;;;;;:38;8646:1;8631:12;:16;8610:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;8591:67;8584:74;;;8444:222;;;:::o;7447:796::-;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7573:23;2338:80;;;;;;;;;;;;;;;;;;;7653:4;;;;;;;;;;;;;;;;;7637:22;;;;;;7661:12;:10;:12::i;:::-;7683:4;7609:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7609:80:0;;;7599:91;;;;;;7573:117;;7701:18;2558:71;;;;;;;;;;;;;;;;;;;7764:9;7775:5;7782:6;7732:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7732:57:0;;;7722:68;;;;;;7701:89;;7801:14;7857:15;7874:10;7828:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7828:57:0;;;7818:68;;;;;;7801:85;;7897:17;7917:26;7927:6;7935:1;7938;7941;7917:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7917:26:0;;;;;;;;7897:46;;7983:1;7962:23;;:9;:23;;;;7954:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8055:6;:17;8062:9;8055:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;8046:5;:28;8038:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8138:6;8131:3;:13;;8123:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8204:31;8214:9;8225;8204;:31::i;:::-;8197:38;;;;7447:796;;;;;;:::o;3993:136::-;4069:4;4093:10;:19;4104:7;4093:19;;;;;;;;;;;;;;;:28;4113:7;4093:28;;;;;;;;;;;;;;;;;;;;;;;;;4086:35;;;;3993:136;;;;:::o;2512:117::-;2558:71;;;;;;;;;;;;;;;;;;;2512:117;:::o;2035:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;331:150::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;256:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;412:8;404:5;;:16;;;;;;;;;;;;;;;;;;464:8;436:37;;457:5;;;;;;;;;;;436:37;;;;;;;;;;;;331:150;:::o;13073:161::-;13148:6;13179:5;13175:1;:9;13186:12;13167: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;13167:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13224:1;13210:16;;13073:161;;;;:::o;13438:165::-;13524:6;13556:1;13551:6;;:1;:6;;;;13559:12;13543: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;13543:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13594:1;13590;:5;13583:12;;13438:165;;;;;:::o;10705:610::-;10814:1;10799:17;;:3;:17;;;;10791:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10914:1;10899:17;;:3;:17;;;;10891:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11007:85;11013:8;:13;11022:3;11013:13;;;;;;;;;;;;;;;;;;;;;;;;;11028:6;11007:85;;;;;;;;;;;;;;;;;:5;:85::i;:::-;10991:8;:13;11000:3;10991:13;;;;;;;;;;;;;;;;:101;;;;;;;;;;;;;;;;;;11119:79;11125:8;:13;11134:3;11125:13;;;;;;;;;;;;;;;;;;;;;;;;;11140:6;11119:79;;;;;;;;;;;;;;;;;:5;:79::i;:::-;11103:8;:13;11112:3;11103:13;;;;;;;;;;;;;;;;:95;;;;;;;;;;;;;;;;;;11228:3;11214:26;;11223:3;11214:26;;;11233:6;11214:26;;;;;;;;;;;;;;;;;;;;11253:54;11268:9;:14;11278:3;11268:14;;;;;;;;;;;;;;;;;;;;;;;;;11284:9;:14;11294:3;11284:14;;;;;;;;;;;;;;;;;;;;;;;;;11300:6;11253:14;:54::i;:::-;10705:610;;;:::o;10322:375::-;10399:23;10425:9;:20;10435:9;10425:20;;;;;;;;;;;;;;;;;;;;;;;;;10399:46;;10456:23;10482:8;:19;10491:9;10482:19;;;;;;;;;;;;;;;;;;;;;;;;;10456:45;;10535:9;10512;:20;10522:9;10512:20;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;10606:9;10562:54;;10589:15;10562:54;;10578:9;10562:54;;;;;;;;;;;;10629:60;10644:15;10661:9;10672:16;10629:14;:60::i;:::-;10322:375;;;;:::o;13611:153::-;13656:4;13673:15;13721:9;13710:20;;13749:7;13742:14;;;13611:153;:::o;13242:188::-;13328:6;13347:8;13362:1;13358;:5;13347:16;;13387:1;13382:6;;:1;:6;;;;13390:12;13374: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;13374:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13421:1;13414:8;;;13242:188;;;;;:::o;11323:937::-;11428:6;11418:16;;:6;:16;;;;:30;;;;;11447:1;11438:6;:10;;;11418:30;11414:839;;;11487:1;11469:20;;:6;:20;;;11465:381;;11510:16;11529:14;:22;11544:6;11529:22;;;;;;;;;;;;;;;;;;;;;;;;;11510:41;;11570:16;11601:1;11589:9;:13;;;:60;;11648:1;11589:60;;;11605:11;:19;11617:6;11605:19;;;;;;;;;;;;;;;:34;11637:1;11625:9;:13;11605:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;11589:60;11570:79;;11668:16;11687:67;11693:9;11704:6;11687:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;11668:86;;11773:57;11790:6;11798:9;11809;11820;11773:16;:57::i;:::-;11465:381;;;;11884:1;11866:20;;:6;:20;;;11862:380;;11907:16;11926:14;:22;11941:6;11926:22;;;;;;;;;;;;;;;;;;;;;;;;;11907:41;;11967:16;11998:1;11986:9;:13;;;:60;;12045:1;11986:60;;;12002:11;:19;12014:6;12002:19;;;;;;;;;;;;;;;:34;12034:1;12022:9;:13;12002:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;11986:60;11967:79;;12065:16;12084:66;12090:9;12101:6;12084:66;;;;;;;;;;;;;;;;;:5;:66::i;:::-;12065:85;;12169:57;12186:6;12194:9;12205;12216;12169:16;:57::i;:::-;11862:380;;;;11414:839;11323:937;;;:::o;12268:628::-;12386:18;12407:75;12414:12;12407:75;;;;;;;;;;;;;;;;;:6;:75::i;:::-;12386:96;;12512:1;12497:12;:16;;;:85;;;;;12571:11;12517:65;;:11;:22;12529:9;12517:22;;;;;;;;;;;;;;;:40;12555:1;12540:12;:16;12517:40;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:65;;;12497:85;12493:329;;;12646:8;12597:11;:22;12609:9;12597:22;;;;;;;;;;;;;;;:40;12635:1;12620:12;:16;12597:40;;;;;;;;;;;;;;;:46;;;:57;;;;;;;;;;;;;;;;;;12493:329;;;12722:33;;;;;;;;12733:11;12722:33;;;;;;12746:8;12722:33;;;;;12683:11;:22;12695:9;12683:22;;;;;;;;;;;;;;;:36;12706:12;12683:36;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12811:1;12796:12;:16;12768:14;:25;12783:9;12768:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;12493:329;12858:9;12837:51;;;12869:8;12879;12837:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;12268:628;;;;;:::o;12904:161::-;12979:6;13010:5;13006:1;:9;13017:12;12998: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;12998:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13055:1;13041:16;;12904:161;;;;:::o;968:12799::-;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://ca5b39a1512752fad39132ac8789e1353b147d1c6625dd3d268aaf74e0a816e1
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.