Contract 0xBaCDBe7cd52Bdf11065210863139e9dAd875A896

Token Contract 
 
 
Txn Hash
Method
Block
From
To
Value
0x5cbcfee9e4ebd01dd790bc1b25159137f21bf801368d74657e69d889d7ee3c1dApprove155534732022-09-17 13:03:1175 days 13 hrs agoENS Name whom.eth IN  Fur Finance: FUR Token0 Ether0.000121715.02793473
0xc8b7d3b5d612ee663bf821513047cc34ceb5da503a0b5ba7cc14d93879f0bcf8Approve149939032022-06-20 1:33:21165 days 1 hr agoENS Name mohammedv.eth IN  Fur Finance: FUR Token0 Ether0.00076878 16.53580633
0xf70d6f3fa675ea13319ccd74937aa04a48aec7bec42f599880c7b134e8b2a019Approve138085572021-12-15 8:10:37351 days 18 hrs ago0x537d914eae981348977ad0be67fec57bd45a1a5e IN  Fur Finance: FUR Token0 Ether0.0036745479.03606794
0xcaf564f3a9b42376904bf6f629affce3880ba4d358271896c4234c3fc4a96154Approve123594462021-05-03 5:54:35577 days 20 hrs ago0x45a580bb616b51fc14457f132776a7eebd779457 IN  Fur Finance: FUR Token0 Ether0.0014877432
0xa7355c17ef833275b9081aa1a5ba42c3d88f1d8476dde016bef56328753a03e2Unstake123237932021-04-27 17:29:12583 days 9 hrs agoENS Name mohammedv.eth IN  Fur Finance: FUR Token0 Ether0.00381027106
0x0ce6ecafd0bca5f4815ebec0a1fa949cd642f621eb36148fe1561fb22ffb5ed4Approve123022642021-04-24 10:01:32586 days 16 hrs ago0xe7363c1deb48e47ddc9bde6c5fbe41246091d043 IN  Fur Finance: FUR Token0 Ether0.002882562
0x181deaee003b8b55d2b50cc8bcc47a054336d5d55321a0b5cfd505ca4ede399bStake121679962021-04-03 17:36:01607 days 9 hrs agoENS Name mohammedv.eth IN  Fur Finance: FUR Token0 Ether0.00828519179
0x00f41a352de5abe0a86fedbd47994084afba955e1d8256e41d5793c1960bc166Collect121679882021-04-03 17:34:28607 days 9 hrs agoENS Name mohammedv.eth IN  Fur Finance: FUR Token0 Ether0.00714604182
0x98f9599dc1d991055dfe2f6d291bcf1399006ba8c8e7f99cefe72649a7cf73a5Approve121547222021-04-01 16:38:37609 days 10 hrs ago0x1d2b6db9b7dd61d12796f59e8913fa91ff717862 IN  Fur Finance: FUR Token0 Ether0.00896718202
0x5ed0e5bf25afefd1918505e2651f0f495695b47d355dace11b7424b61ca482a2Transfer121297502021-03-28 20:13:15613 days 6 hrs ago0x9770e3064eff8c92f1286dfd5e0b21abda039918 IN  Fur Finance: FUR Token0 Ether0.00636398132
0x7d6d8bb001a8ee78f5754f2477c3875e5755532e195886bea49167414ec2ecd6Collect121065742021-03-25 6:44:51616 days 20 hrs agoENS Name mohammedv.eth IN  Fur Finance: FUR Token0 Ether0.00514358131
0xc6599618768b889bd1c27982109e87f8fbac4d0810059ff7783093db9183e839Approve120677362021-03-19 7:05:22622 days 19 hrs ago0x94adfbb0f35d676035e5643543b16a98566cd145 IN  Fur Finance: FUR Token0 Ether0.00612609138
0xa006fe891b1937b4f2efbb7b44a08ba86894781dfc7ed62d816d259e65890703Approve120622732021-03-18 11:08:35623 days 15 hrs ago0x7726a34549fef8cb6e4944f821a0abef27737778 IN  Fur Finance: FUR Token0 Ether0.00639244144
0xcb195f6996c7af617e46e098b055bbdc17fa307b8c835d069b62a1205fb38915Approve120617652021-03-18 9:15:57623 days 17 hrs ago0x835d35632ca0986167ac70e52eb29a7b0bd54a4a IN  Fur Finance: FUR Token0 Ether0.00736907166
0x459a45375512a8327af08f7ce2c2ef729f61daa0ed0bdfed5ed160151a2bcd50Approve120606702021-03-18 5:13:10623 days 21 hrs ago0xb4705fd75ac926ff84a2467eb39a0be12892641f IN  Fur Finance: FUR Token0 Ether0.00634805143
0x0339e5888305acf026168598fff5d882b971e9a8383305a27340d6c0b9862099Transfer120583312021-03-17 20:28:19624 days 6 hrs ago0x356a8cb80dbc8c9f7efe482a84c5567705ba7ad0 IN  Fur Finance: FUR Token0 Ether0.0108072171
0x4626ead6309e13596ce557be1c0351753e1c98222b28a4e8bfd148f545d6ba80Transfer120583192021-03-17 20:25:27624 days 6 hrs ago0x356a8cb80dbc8c9f7efe482a84c5567705ba7ad0 IN  Fur Finance: FUR Token0 Ether0.00775826161
0xa6515f6d83807f5d9224dd1d4c8e18b4b85bd1a385000321af9a0a3a6238afe5Transfer120583062021-03-17 20:23:19624 days 6 hrs ago0x356a8cb80dbc8c9f7efe482a84c5567705ba7ad0 IN  Fur Finance: FUR Token0 Ether0.01118427177
0xd32ba742777818bc63e8553d6a8f6ef58746ff2406b427b6e1a37c2e75f28b3cTransfer120583062021-03-17 20:23:19624 days 6 hrs ago0x356a8cb80dbc8c9f7efe482a84c5567705ba7ad0 IN  Fur Finance: FUR Token0 Ether0.01093152173
0xb9e4efe7a5e53061847dbadd626488c6c504912c06ff5f240bcbfcddd4f32678Approve120579972021-03-17 19:15:29624 days 7 hrs ago0xc413e379dc6caee8c6f4cd62080b4148485fe2ab IN  Fur Finance: FUR Token0 Ether0.01416104319
0x500e9dec4adbbcc4d16fc8d8c147fd06635c8b0943d8829df87e0293cd63ec03Approve120415012021-03-15 6:16:32626 days 20 hrs ago0xe1cf916f95f95b7dadd4a1958e40d16fa10e2cb8 IN  Fur Finance: FUR Token0 Ether0.00474994107
0x131f671e3991513dc4f1f8236bfc421519cf843a69c953799031034e3c760703Approve120396982021-03-14 23:24:08627 days 3 hrs ago0x50fd12158601b8f785d8afcc1a44658fe44d310e IN  Fur Finance: FUR Token0 Ether0.00648123146
0xebefaece0521244e7d0b7a58974a52b49b376e66a95f6437579784b33ea053a9Approve120396762021-03-14 23:17:40627 days 3 hrs ago0x456cc0c9ee7fdad78378d6338442564473256114 IN  Fur Finance: FUR Token0 Ether0.0060817137
0x2cb1beb5760493bc94094d93b4158013eae1b78b4f528662da24f8e26901ea68Collect120388272021-03-14 20:22:28627 days 6 hrs ago0x75d0130be818a4e5179e16e5c1237ab1e581997f IN  Fur Finance: FUR Token0 Ether0.00667488170
0x439421031aa37fee448e6d7fe92c92e545f5a9bb40ec1fa9b42dee68187899fcUnstake120388152021-03-14 20:20:47627 days 6 hrs ago0x75d0130be818a4e5179e16e5c1237ab1e581997f IN  Fur Finance: FUR Token0 Ether0.00726134172.7
[ Download CSV Export 

OVERVIEW

Fur Finance aims to disrupt the area of DeFi-crowdfunding so that creators can permissionlessly raise group-funding for community-inspired projects.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-02-17
*/

/**
 *Submitted for verification at Etherscan.io on 2020-12-30
*/

pragma solidity ^0.5.13;

interface Callable {
    function tokenCallback(
        address _from,
        uint256 _tokens,
        bytes calldata _data
    ) external returns (bool);
}

contract Token {
    uint256 private constant FLOAT_SCALAR = 2**64;
    uint256 private constant INITIAL_SUPPLY = 3e24; // 3m
    uint256 private constant STAKE_FEE = 2; // 1% per tx
    uint256 private constant MIN_STAKE_AMOUNT = 1e19; // 10

    string public constant name = "FurToken";
    string public constant symbol = "FUR";
    uint8 public constant decimals = 18;
    address owner = 0x929B1F2328d03c05b0Fb36053222fB4B15bb29dd;

    struct User {
        uint256 balance;
        uint256 staked;
        mapping(address => uint256) allowance;
        int256 scaledPayout;
    }

    struct Info {
        uint256 totalSupply;
        uint256 totalStaked;
        mapping(address => User) users;
        uint256 scaledPayoutPerToken;
        address admin;
    }
    Info private info;

    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 tokens
    );
    event Whitelist(address indexed user, bool status);
    event Stake(address indexed owner, uint256 tokens);
    event Unstake(address indexed owner, uint256 tokens);
    event Collect(address indexed owner, uint256 tokens);
    event Fee(uint256 tokens);

    constructor() public {
        info.admin = owner;
        info.totalSupply = INITIAL_SUPPLY;
        info.users[owner].balance = INITIAL_SUPPLY;
        emit Transfer(address(0x0), owner, INITIAL_SUPPLY);
    }

    function stake(uint256 _tokens) external {
        _stake(_tokens);
    }

    function unstake(uint256 _tokens) external {
        _unstake(_tokens);
    }

    function collect() external returns (uint256) {
        uint256 _dividends = dividendsOf(msg.sender);
        require(_dividends >= 0);
        info.users[msg.sender].scaledPayout += int256(
            _dividends * FLOAT_SCALAR
        );
        info.users[msg.sender].balance += _dividends;
        emit Transfer(address(this), msg.sender, _dividends);
        emit Collect(msg.sender, _dividends);
        return _dividends;
    }

    function stakeDrop(uint256 _tokens) external {
        require(balanceOf(msg.sender) >= _tokens);
        uint256 _droppedAmount = _tokens;
        info.users[msg.sender].balance -= _tokens;
        if (info.totalStaked > 0) {
            info.scaledPayoutPerToken +=
                (_droppedAmount * FLOAT_SCALAR) /
                info.totalStaked;
            emit Transfer(msg.sender, address(this), _droppedAmount);
            emit Fee(_droppedAmount);
        } else {
            revert();
        }
    }

    function distribute(uint256 _tokens) external {
        require(info.totalStaked > 0);
        require(balanceOf(msg.sender) >= _tokens);
        info.users[msg.sender].balance -= _tokens;
        info.scaledPayoutPerToken +=
            (_tokens * FLOAT_SCALAR) /
            info.totalStaked;
        emit Transfer(msg.sender, address(this), _tokens);
    }

    function transfer(address _to, uint256 _tokens) external returns (bool) {
        _transfer(msg.sender, _to, _tokens);
        return true;
    }

    function approve(address _spender, uint256 _tokens)
        external
        returns (bool)
    {
        info.users[msg.sender].allowance[_spender] = _tokens;
        emit Approval(msg.sender, _spender, _tokens);
        return true;
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _tokens
    ) external returns (bool) {
        require(info.users[_from].allowance[msg.sender] >= _tokens);
        info.users[_from].allowance[msg.sender] -= _tokens;
        _transfer(_from, _to, _tokens);
        return true;
    }

    function transferAndCall(
        address _to,
        uint256 _tokens,
        bytes calldata _data
    ) external returns (bool) {
        uint256 _transferred = _transfer(msg.sender, _to, _tokens);
        uint32 _size;
        assembly {
            _size := extcodesize(_to)
        }
        if (_size > 0) {
            require(
                Callable(_to).tokenCallback(msg.sender, _transferred, _data)
            );
        }
        return true;
    }

    function bulkTransfer(
        address[] calldata _receivers,
        uint256[] calldata _amounts
    ) external {
        require(_receivers.length == _amounts.length);
        for (uint256 i = 0; i < _receivers.length; i++) {
            _transfer(msg.sender, _receivers[i], _amounts[i]);
        }
    }

    function totalSupply() public view returns (uint256) {
        return info.totalSupply;
    }

    function totalStaked() public view returns (uint256) {
        return info.totalStaked;
    }

    function balanceOf(address _user) public view returns (uint256) {
        return info.users[_user].balance - stakedOf(_user);
    }

    function stakedOf(address _user) public view returns (uint256) {
        return info.users[_user].staked;
    }

    function dividendsOf(address _user) public view returns (uint256) {
        return
            uint256(
                int256(info.scaledPayoutPerToken * info.users[_user].staked) -
                    info.users[_user].scaledPayout
            ) / FLOAT_SCALAR;
    }

    function allowance(address _user, address _spender)
        public
        view
        returns (uint256)
    {
        return info.users[_user].allowance[_spender];
    }

    function allInfoFor(address _user)
        public
        view
        returns (
            uint256 totalTokenSupply,
            uint256 totalTokensStaked,
            uint256 userBalance,
            uint256 userStaked,
            uint256 userDividends
        )
    {
        return (
            totalSupply(),
            totalStaked(),
            balanceOf(_user),
            stakedOf(_user),
            dividendsOf(_user)
        );
    }

    function _transfer(
        address _from,
        address _to,
        uint256 _tokens
    ) internal returns (uint256) {
        require(balanceOf(_from) >= _tokens);
        info.users[_from].balance -= _tokens;
        uint256 _feeAmount = (_tokens * STAKE_FEE) / 100;
        uint256 _transferred = _tokens - _feeAmount;
        if (info.totalStaked > 0) {
            info.users[_to].balance += _transferred;
            emit Transfer(_from, _to, _transferred);
            info.scaledPayoutPerToken +=
                (_feeAmount * FLOAT_SCALAR) /
                info.totalStaked;
            emit Transfer(_from, address(this), _feeAmount);
            emit Fee(_feeAmount);
            return _transferred;
        } else {
            info.users[_to].balance += _tokens;
            emit Transfer(_from, _to, _tokens);
            return _tokens;
        }
    }

    function _stake(uint256 _amount) internal {
        require(balanceOf(msg.sender) >= _amount);
        require(stakedOf(msg.sender) + _amount >= MIN_STAKE_AMOUNT);
        info.totalStaked += _amount;
        info.users[msg.sender].staked += _amount;
        info.users[msg.sender].scaledPayout += int256(
            _amount * info.scaledPayoutPerToken
        );
        emit Transfer(msg.sender, address(this), _amount);
        emit Stake(msg.sender, _amount);
    }

    function _unstake(uint256 _amount) internal {
        require(stakedOf(msg.sender) >= _amount);
        uint256 _feeAmount = (_amount * 10) / 100;
        info.scaledPayoutPerToken +=
            (_feeAmount * FLOAT_SCALAR) /
            info.totalStaked;
        info.totalStaked -= _amount;
        info.users[msg.sender].balance -= _feeAmount;
        info.users[msg.sender].staked -= _amount;
        info.users[msg.sender].scaledPayout -= int256(
            _amount * info.scaledPayoutPerToken
        );
        emit Transfer(address(this), msg.sender, _amount - _feeAmount);
        emit Unstake(msg.sender, _amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Fee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Stake","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Unstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"totalTokensStaked","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"userStaked","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","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":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"bulkTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"collect","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"stakeDrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"stakedOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"unstake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405273929b1f2328d03c05b0fb36053222fb4b15bb29dd6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006457600080fd5b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a027b46536c66c8e30000006001600001819055506a027b46536c66c8e3000000600160020160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a027b46536c66c8e30000006040518082815260200191505060405180910390a36119c0806101f66000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c806357f6b812116100ad578063a694fc3a11610071578063a694fc3a146106b9578063a9059cbb146106e7578063af500ba31461074d578063dd62ed3e146107a5578063e52253811461081d5761012b565b806357f6b8121461051e57806370a0823114610592578063817b1cd2146105ea57806391c05b0b1461060857806395d89b41146106365761012b565b806323b872dd116100f457806323b872dd1461035d5780632e17de78146103e3578063313ce5671461041157806336e23466146104355780634000aea0146104635761012b565b806265318b1461013057806306fdde0314610188578063095ea7b31461020b578063153a1f3e1461027157806318160ddd1461033f575b600080fd5b6101726004803603602081101561014657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083b565b6040518082815260200191505060405180910390f35b6101906108ea565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101d05780820151818401526020810190506101b5565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102576004803603604081101561022157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610923565b604051808215151515815260200191505060405180910390f35b61033d6004803603604081101561028757600080fd5b81019080803590602001906401000000008111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460208302840111640100000000831117156102d857600080fd5b9091929391929390803590602001906401000000008111156102f957600080fd5b82018360208201111561030b57600080fd5b8035906020019184602083028401116401000000008311171561032d57600080fd5b9091929391929390505050610a1b565b005b610347610a98565b6040518082815260200191505060405180910390f35b6103c96004803603606081101561037357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aa5565b604051808215151515815260200191505060405180910390f35b61040f600480360360208110156103f957600080fd5b8101908080359060200190929190505050610bdd565b005b610419610be9565b604051808260ff1660ff16815260200191505060405180910390f35b6104616004803603602081101561044b57600080fd5b8101908080359060200190929190505050610bee565b005b6105046004803603606081101561047957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156104c057600080fd5b8201836020820111156104d257600080fd5b803590602001918460018302840111640100000000831117156104f457600080fd5b9091929391929390505050610d3d565b604051808215151515815260200191505060405180910390f35b6105606004803603602081101561053457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e70565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b6105d4600480360360208110156105a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb6565b6040518082815260200191505060405180910390f35b6105f2610f0f565b6040518082815260200191505060405180910390f35b6106346004803603602081101561061e57600080fd5b8101908080359060200190929190505050610f1b565b005b61063e611027565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561067e578082015181840152602081019050610663565b50505050905090810190601f1680156106ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106e5600480360360208110156106cf57600080fd5b8101908080359060200190929190505050611060565b005b610733600480360360408110156106fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061106c565b604051808215151515815260200191505060405180910390f35b61078f6004803603602081101561076357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611084565b6040518082815260200191505060405180910390f35b610807600480360360408110156107bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110d3565b6040518082815260200191505060405180910390f35b610825611160565b6040518082815260200191505060405180910390f35b600068010000000000000000600160020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154600160020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546001600301540203816108e257fe5b049050919050565b6040518060400160405280600881526020017f467572546f6b656e00000000000000000000000000000000000000000000000081525081565b600081600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b818190508484905014610a2d57600080fd5b60008090505b84849050811015610a9157610a8333868684818110610a4e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858585818110610a7757fe5b905060200201356112e7565b508080600101915050610a33565b5050505050565b6000600160000154905090565b600081600160020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b3657600080fd5b81600160020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610bd18484846112e7565b50600190509392505050565b610be6816115c5565b50565b601281565b80610bf833610eb6565b1015610c0357600080fd5b600081905081600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282540392505081905550600060018001541115610d3457600180015468010000000000000000820281610c8057fe5b046001600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f43816040518082815260200191505060405180910390a1610d39565b600080fd5b5050565b600080610d4b3387876112e7565b90506000863b905060008163ffffffff161115610e62578673ffffffffffffffffffffffffffffffffffffffff16636be32e73338488886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b158015610e1d57600080fd5b505af1158015610e31573d6000803e3d6000fd5b505050506040513d6020811015610e4757600080fd5b8101908080519060200190929190505050610e6157600080fd5b5b600192505050949350505050565b6000806000806000610e80610a98565b610e88610f0f565b610e9188610eb6565b610e9a89611084565b610ea38a61083b565b9450945094509450945091939590929450565b6000610ec182611084565b600160020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154039050919050565b60006001800154905090565b6000600180015411610f2c57600080fd5b80610f3633610eb6565b1015610f4157600080fd5b80600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282540392505081905550600180015468010000000000000000820281610fac57fe5b046001600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040518060400160405280600381526020017f465552000000000000000000000000000000000000000000000000000000000081525081565b611069816117e2565b50565b60006110793384846112e7565b506001905092915050565b6000600160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b6000600160020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008061116c3361083b565b9050600081101561117c57600080fd5b680100000000000000008102600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000828254019250508190555080600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999826040518082815260200191505060405180910390a28091505090565b6000816112f385610eb6565b10156112fe57600080fd5b81600160020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254039250508190555060006064600284028161136057fe5b049050600081840390506000600180015411156115005780600160020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360018001546801000000000000000083028161144757fe5b046001600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a37f557809284da7314475b1582804ae28e5f1349efc1fe970ea25d50fce75eb4f43826040518082815260200191505060405180910390a180925050506115be565b83600160020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a383925050505b9392505050565b806115cf33611084565b10156115da57600080fd5b60006064600a8302816115e957fe5b04905060018001546801000000000000000082028161160457fe5b0460016003016000828254019250508190555081600180016000828254039250508190555080600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254039250508190555081600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825403925050819055506001600301548202600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385036040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd836040518082815260200191505060405180910390a25050565b806117ec33610eb6565b10156117f757600080fd5b678ac7230489e800008161180a33611084565b01101561181657600080fd5b80600180016000828254019250508190555080600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055506001600301548102600160020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a826040518082815260200191505060405180910390a25056fea265627a7a723158202affc6fb7855e5ae225e1c6ee6723b1ade47836885b151c6ea33539af5320eaf64736f6c63430005110032

Deployed ByteCode Sourcemap

267:8055:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;267:8055:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5338:275;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5338:275:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;521:40;;;:::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;521:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3470:247;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3470:247:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4548:314;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4548:314:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4548:314:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4548:314:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4548:314:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4548:314:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4548:314:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4548:314:0;;;;;;;;;;;;:::i;:::-;;4870:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3725:327;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3725:327:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1865:79;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1865:79:0;;;;;;;;;;;;;;;;;:::i;:::-;;612:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2404:527;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2404:527:0;;;;;;;;;;;;;;;;;:::i;:::-;;4060:480;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4060:480:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4060:480:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4060:480: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;4060:480:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5806:468;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5806:468:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5076:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5076:133:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4973:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2939:367;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2939:367:0;;;;;;;;;;;;;;;;;:::i;:::-;;568: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;568:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1782:75;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1782:75:0;;;;;;;;;;;;;;;;;:::i;:::-;;3314:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3314:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5217:113;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5217:113:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5621:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5621:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1952:444;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5338:275;5395:7;329:5;5545:4;:10;;:17;5556:5;5545:17;;;;;;;;;;;;;;;:30;;;5496:4;:10;;:17;5507:5;5496:17;;;;;;;;;;;;;;;:24;;;5468:4;:25;;;:52;5461:114;5435:170;;;;;;5415:190;;5338:275;;;:::o;521:40::-;;;;;;;;;;;;;;;;;;;:::o;3470:247::-;3558:4;3625:7;3580:4;:10;;:22;3591:10;3580:22;;;;;;;;;;;;;;;:32;;:42;3613:8;3580:42;;;;;;;;;;;;;;;:52;;;;3669:8;3648:39;;3657:10;3648:39;;;3679:7;3648:39;;;;;;;;;;;;;;;;;;3705:4;3698:11;;3470:247;;;;:::o;4548:314::-;4704:8;;:15;;4683:10;;:17;;:36;4675:45;;;;;;4736:9;4748:1;4736:13;;4731:124;4755:10;;:17;;4751:1;:21;4731:124;;;4794:49;4804:10;4816;;4827:1;4816:13;;;;;;;;;;;;;;;4831:8;;4840:1;4831:11;;;;;;;;;;;;;4794:9;:49::i;:::-;;4774:3;;;;;;;4731:124;;;;4548:314;;;;:::o;4870:95::-;4914:7;4941:4;:16;;;4934:23;;4870:95;:::o;3725:327::-;3844:4;3912:7;3869:4;:10;;:17;3880:5;3869:17;;;;;;;;;;;;;;;:27;;:39;3897:10;3869:39;;;;;;;;;;;;;;;;:50;;3861:59;;;;;;3974:7;3931:4;:10;;:17;3942:5;3931:17;;;;;;;;;;;;;;;:27;;:39;3959:10;3931:39;;;;;;;;;;;;;;;;:50;;;;;;;;;;;3992:30;4002:5;4009:3;4014:7;3992:9;:30::i;:::-;;4040:4;4033:11;;3725:327;;;;;:::o;1865:79::-;1919:17;1928:7;1919:8;:17::i;:::-;1865:79;:::o;612:35::-;645:2;612:35;:::o;2404:527::-;2493:7;2468:21;2478:10;2468:9;:21::i;:::-;:32;;2460:41;;;;;;2512:22;2537:7;2512:32;;2589:7;2555:4;:10;;:22;2566:10;2555:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;2630:1;2611:4;:16;;;:20;2607:317;;;2745:4;:16;;;329:5;2695:14;:29;2694:67;;;;;;2648:4;:25;;;:113;;;;;;;;;;;2810:4;2781:51;;2790:10;2781:51;;;2817:14;2781:51;;;;;;;;;;;;;;;;;;2852:19;2856:14;2852:19;;;;;;;;;;;;;;;;;;2607:317;;;2904:8;;;2607:317;2404:527;;:::o;4060:480::-;4189:4;4206:20;4229:35;4239:10;4251:3;4256:7;4229:9;:35::i;:::-;4206:58;;4275:12;4343:3;4331:16;4322:25;;4380:1;4372:5;:9;;;4368:143;;;4433:3;4424:27;;;4452:10;4464:12;4478:5;;4424:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;4424:60:0;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4424:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4424:60:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4424:60:0;;;;;;;;;;;;;;;;4398:101;;;;;;4368:143;4528:4;4521:11;;;;4060:480;;;;;;:::o;5806:468::-;5903:24;5942:25;5982:19;6016:18;6049:21;6120:13;:11;:13::i;:::-;6148;:11;:13::i;:::-;6176:16;6186:5;6176:9;:16::i;:::-;6207:15;6216:5;6207:8;:15::i;:::-;6237:18;6249:5;6237:11;:18::i;:::-;6098:168;;;;;;;;;;5806:468;;;;;;;:::o;5076:133::-;5131:7;5186:15;5195:5;5186:8;:15::i;:::-;5158:4;:10;;:17;5169:5;5158:17;;;;;;;;;;;;;;;:25;;;:43;5151:50;;5076:133;;;:::o;4973:95::-;5017:7;5044:4;:16;;;5037:23;;4973:95;:::o;2939:367::-;3023:1;3004:4;:16;;;:20;2996:29;;;;;;3069:7;3044:21;3054:10;3044:9;:21::i;:::-;:32;;3036:41;;;;;;3122:7;3088:4;:10;;:22;3099:10;3088:22;;;;;;;;;;;;;;;:30;;;:41;;;;;;;;;;;3222:4;:16;;;329:5;3183:7;:22;3182:56;;;;;;3140:4;:25;;;:98;;;;;;;;;;;3283:4;3254:44;;3263:10;3254:44;;;3290:7;3254:44;;;;;;;;;;;;;;;;;;2939:367;:::o;568:37::-;;;;;;;;;;;;;;;;;;;:::o;1782:75::-;1834:15;1841:7;1834:6;:15::i;:::-;1782:75;:::o;3314:148::-;3380:4;3397:35;3407:10;3419:3;3424:7;3397:9;:35::i;:::-;;3450:4;3443:11;;3314:148;;;;:::o;5217:113::-;5271:7;5298:4;:10;;:17;5309:5;5298:17;;;;;;;;;;;;;;;:24;;;5291:31;;5217:113;;;:::o;5621:177::-;5721:7;5753:4;:10;;:17;5764:5;5753:17;;;;;;;;;;;;;;;:27;;:37;5781:8;5753:37;;;;;;;;;;;;;;;;5746:44;;5621:177;;;;:::o;1952:444::-;1989:7;2009:18;2030:23;2042:10;2030:11;:23::i;:::-;2009:44;;2086:1;2072:10;:15;;2064:24;;;;;;329:5;2159:10;:25;2099:4;:10;;:22;2110:10;2099:22;;;;;;;;;;;;;;;:35;;;:96;;;;;;;;;;;2240:10;2206:4;:10;;:22;2217:10;2206:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;2290:10;2266:47;;2283:4;2266:47;;;2302:10;2266:47;;;;;;;;;;;;;;;;;;2337:10;2329:31;;;2349:10;2329:31;;;;;;;;;;;;;;;;;;2378:10;2371:17;;;1952:444;:::o;6282:896::-;6398:7;6446;6426:16;6436:5;6426:9;:16::i;:::-;:27;;6418:36;;;;;;6494:7;6465:4;:10;;:17;6476:5;6465:17;;;;;;;;;;;;;;;:25;;;:36;;;;;;;;;;;6512:18;6557:3;437:1;6534:7;:19;6533:27;;;;;;6512:48;;6571:20;6604:10;6594:7;:20;6571:43;;6648:1;6629:4;:16;;;:20;6625:546;;;6693:12;6666:4;:10;;:15;6677:3;6666:15;;;;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;6741:3;6725:34;;6734:5;6725:34;;;6746:12;6725:34;;;;;;;;;;;;;;;;;;6867:4;:16;;;329:5;6821:10;:25;6820:63;;;;;;6774:4;:25;;;:109;;;;;;;;;;;6927:4;6903:42;;6912:5;6903:42;;;6934:10;6903:42;;;;;;;;;;;;;;;;;;6965:15;6969:10;6965:15;;;;;;;;;;;;;;;;;;7002:12;6995:19;;;;;;6625:546;7074:7;7047:4;:10;;:15;7058:3;7047:15;;;;;;;;;;;;;;;:23;;;:34;;;;;;;;;;;7117:3;7101:29;;7110:5;7101:29;;;7122:7;7101:29;;;;;;;;;;;;;;;;;;7152:7;7145:14;;;;6282:896;;;;;;:::o;7674:645::-;7761:7;7737:20;7746:10;7737:8;:20::i;:::-;:31;;7729:40;;;;;;7780:18;7818:3;7812:2;7802:7;:12;7801:20;;;;;;7780:41;;7917:4;:16;;;329:5;7875:10;:25;7874:59;;;;;;7832:4;:25;;;:101;;;;;;;;;;;7964:7;7944:4;:16;;;:27;;;;;;;;;;;8016:10;7982:4;:10;;:22;7993:10;7982:22;;;;;;;;;;;;;;;:30;;;:44;;;;;;;;;;;8070:7;8037:4;:10;;:22;8048:10;8037:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;8158:4;:25;;;8148:7;:35;8088:4;:10;;:22;8099:10;8088:22;;;;;;;;;;;;;;;:35;;;:106;;;;;;;;;;;8234:10;8210:57;;8227:4;8210:57;;;8256:10;8246:7;:20;8210:57;;;;;;;;;;;;;;;;;;8291:10;8283:28;;;8303:7;8283:28;;;;;;;;;;;;;;;;;;7674:645;;:::o;7186:480::-;7272:7;7247:21;7257:10;7247:9;:21::i;:::-;:32;;7239:41;;;;;;502:4;7322:7;7299:20;7308:10;7299:8;:20::i;:::-;:30;:50;;7291:59;;;;;;7381:7;7361:4;:16;;;:27;;;;;;;;;;;7432:7;7399:4;:10;;:22;7410:10;7399:22;;;;;;;;;;;;;;;:29;;;:40;;;;;;;;;;;7520:4;:25;;;7510:7;:35;7450:4;:10;;:22;7461:10;7450:22;;;;;;;;;;;;;;;:35;;;:106;;;;;;;;;;;7601:4;7572:44;;7581:10;7572:44;;;7608:7;7572:44;;;;;;;;;;;;;;;;;;7638:10;7632:26;;;7650:7;7632:26;;;;;;;;;;;;;;;;;;7186:480;:::o

Swarm Source

bzzr://2affc6fb7855e5ae225e1c6ee6723b1ade47836885b151c6ea33539af5320eaf
Block Transaction Difficulty Gas Used Reward
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.

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.