Contract 0x7cb2f28505e733f60c0db208afaa321c792f6cf4

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x253c1de5482c1f62f47458ebcf7e9347dcdb8275957887c2efbaa393c2315cb9Transfer106176762021-09-04 9:32:2913 days 2 hrs ago0xdaa5210c9a509c2e2aa04c508ebaea57932f243e IN  Operand: OPERAND Token0 BNB0.0004033
0xbcfacb84ad8a016f7aefd6d6d7b9663a77b8324f7be618d65ae8da1673c1a891Approve102552782021-08-22 16:04:5525 days 20 hrs ago0x3a784d2ba5645352c6bfa57a2e49039303d92657 IN  Operand: OPERAND Token0 BNB0.000222035
0x2364a03b8202c0adafc4a205bd50b8febfbcbb3d00ab9db700778c559fe4b55cApprove102549712021-08-22 15:49:3425 days 20 hrs ago0x73232321c5d4ff036b10430ee5f057e724157351 IN  Operand: OPERAND Token0 BNB0.00007256
0xcb3568ff4b95a71b7891c09a5c7a477051d77c937c993cb2038ac3e5013ca85fApprove101254602021-08-18 3:11:2830 days 9 hrs ago0xa0d32962af10b5ac333caafc4d654c984f6293cf IN  Operand: OPERAND Token0 BNB0.000222035
0xc256686dc5f47edc9420eff8bf99fcff2bef104804a11287ea96ad69c8d80a75Approve101166612021-08-17 19:50:2230 days 16 hrs ago0xec4f01c5822c32926793a0d39faccb21cef97d20 IN  Operand: OPERAND Token0 BNB0.000222035
0x505f2527c44d10f89e31c3732b492b732c1e505b26213e26075b5f79ff298baaTransfer99202312021-08-10 21:55:1637 days 14 hrs ago0xb72edf2669f2b05571ae4ee0e045d5927982b1a9 IN  Operand: OPERAND Token0 BNB0.00047836
0xd6b9aafe7407f145280d0490cbb96046f1899e2d753080c73a8e548f4555c342Approve99183442021-08-10 20:20:5537 days 15 hrs ago0x1dcfe8c0e21a1ec7843cc533a3495265eb959d96 IN  Operand: OPERAND Token0 BNB0.00007256
0xc023c02fb516f2d2e9fb47cb88bc5eca90e5dba6ea2ff0a1455bb1bd8c766a27Approve98042522021-08-06 18:51:3041 days 17 hrs ago0x7122c91049511b58a14ce2ce10f1acf318cc51d0 IN  Operand: OPERAND Token0 BNB0.000149226
0x1ff20d62e6d962714b7419b0cc38685d8d899b49cdc52d06900b38a3a20c18d0Approve98042462021-08-06 18:51:1141 days 17 hrs ago0x7122c91049511b58a14ce2ce10f1acf318cc51d0 IN  Operand: OPERAND Token0 BNB0.000264426
0xf1cea42d35c6fda1967fec484cd98eedf5294b74f611abb7d1e95c7eabeba775Approve96585502021-08-01 12:37:0646 days 23 hrs ago0x03b369dbd9d85e77d7b83a1c578b0463b0d6509b IN  Operand: OPERAND Token0 BNB0.000222035
0x377227e66d8029ef24bcf40e5f87b5a559e8adb6325971ee3fe1a019abb28840Transfer94762962021-07-25 21:40:3453 days 14 hrs ago0xc049f273aab464b01156f5eadafb2ae01b1e7200 IN  Operand: OPERAND Token0 BNB0.0004033
0x09257b093acf32539c46de1ef9267f179b8a18497b690efa5348733c2890c4bdApprove94682012021-07-25 14:48:2353 days 21 hrs ago0x287de590e469635ba997cf11b8c144ae52209903 IN  Operand: OPERAND Token0 BNB0.000222035
0x4b329cec7ecc6b5ce301f3be1fa21ff1af2d21c579540cf697dcf7ca645393d7Approve94140472021-07-23 17:19:0755 days 18 hrs ago0x2632e745fc3a5ae925cfb7710f7bdf4b7a643697 IN  Operand: OPERAND Token0 BNB0.000222035
0x6346ac1f3078f224cdc348ad62498fede3af46937f7091e8d6843b6fe876ba06Approve93539592021-07-21 15:08:3557 days 21 hrs ago0x07d80ae6f36a5e08dca74ce884a24d39db9934ed IN  Operand: OPERAND Token0 BNB0.000149226
0x0e86ea45dbb71a708d5cf5c6c6c48f7be2bf45a7afdb7d929aa601092fa7f7e6Approve93539552021-07-21 15:08:2357 days 21 hrs ago0x07d80ae6f36a5e08dca74ce884a24d39db9934ed IN  Operand: OPERAND Token0 BNB0.000264426
0x54670adbac3df2f186848a9b7af6b12fb82acbc0782fd7d35fe2e491e77db283Approve92118032021-07-16 16:36:1062 days 19 hrs ago0x1b5d6b8393a261ad0578a1d1ac73a527bfc8418c IN  Operand: OPERAND Token0 BNB0.000222035
0x18b937408832167c96b1845e7b08b4060ae828b7f5d89057cf4ab56576ec78caApprove91016482021-07-12 20:46:2766 days 15 hrs ago0x84f7240309f011ccf25cfae4462fc6b0e10eb070 IN  Operand: OPERAND Token0 BNB0.000222035
0x350c0b18e6eb315efe77590ca43ed5a36a025b8ad8bbd61712ef94634a73de0cApprove90127882021-07-09 18:43:0469 days 17 hrs ago0xe7dde2b92face74d735a1c4f16cf7ca9c25f89f5 IN  Operand: OPERAND Token0 BNB0.000222035
0x532c2c045e998369ece9e0fa185ab880e76d93fc12db05f90c47ad8f5997d709Approve89716842021-07-08 8:26:3571 days 3 hrs ago0x73232321c5d4ff036b10430ee5f057e724157351 IN  Operand: OPERAND Token0 BNB0.0002264757
0x42042874a9370781cdbcdaa36fab0402294c9e31356c832209d968fd8911f595Approve87771272021-07-01 13:11:3477 days 23 hrs ago0xd835da8fd4a23ce8224b8618ad1bcfbb056337f6 IN  Operand: OPERAND Token0 BNB0.000222035
0x2d9335f5a7bbf5692096155392042289cb946892b7e26b377584ec4cbfb18fd5Transfer87760922021-07-01 12:18:4278 days ago0x96815996ea9932c346e27d0ffd7cef1a2a404f0c IN  Operand: OPERAND Token0 BNB0.00047818
0x13add3c378b41ef58714cd80420dd87a67a4c386eecd301ab06acbcffcf160f6Transfer87760842021-07-01 12:18:1878 days ago0x96815996ea9932c346e27d0ffd7cef1a2a404f0c IN  Operand: OPERAND Token0 BNB0.0004783
0x8a407f56341cb1ee2c4a051874209aac6d3380a0fa39e9ca831997a86006843dTransfer87760732021-07-01 12:17:4578 days 1 min ago0x96815996ea9932c346e27d0ffd7cef1a2a404f0c IN  Operand: OPERAND Token0 BNB0.0004783
0x7dbe704eba9beb667b468e2710f5056c4abe6d9ad24bc86e76af3be29d5622d7Transfer87760672021-07-01 12:17:2778 days 1 min ago0x96815996ea9932c346e27d0ffd7cef1a2a404f0c IN  Operand: OPERAND Token0 BNB0.00040324
0x4afa06cf0184714ccfc72d39f8e9083f3fdf10d1dbf3bbcd173a44a1b8a1b83fTransfer87760612021-07-01 12:17:0978 days 1 min ago0x96815996ea9932c346e27d0ffd7cef1a2a404f0c IN  Operand: OPERAND Token0 BNB0.00047824
[ Download CSV Export 

OVERVIEW

Operand is a deflationary token whereby each transaction incurs a 1% fee. It will be instantly split the fee amongst all token holding addresses. And the other 1% fee is token burn.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x9fd1cf38b90f3442b8dcd4b8c950d86eeffcc842f13a87a129fe790157b20e0254698242021-03-07 10:44:09194 days 1 hr ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0x9fd1cf38b90f3442b8dcd4b8c950d86eeffcc842f13a87a129fe790157b20e0254698242021-03-07 10:44:09194 days 1 hr ago PancakeSwap: Router Operand: OPERAND Token0 BNB
0x9fd1cf38b90f3442b8dcd4b8c950d86eeffcc842f13a87a129fe790157b20e0254698242021-03-07 10:44:09194 days 1 hr ago PancakeSwap: Router Operand: OPERAND Token0 BNB
0xd12a4ca4ce857f2327c995524a1ca24646784c95bb51406959b24bacb454245254698222021-03-07 10:44:03194 days 1 hr ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0xd12a4ca4ce857f2327c995524a1ca24646784c95bb51406959b24bacb454245254698222021-03-07 10:44:03194 days 1 hr ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0x0c465fa41f7d11ef3c6c74cd6fc58ed459271d04334d8c0e30cf1c9bf7cd9f1354698222021-03-07 10:44:03194 days 1 hr ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0x0c465fa41f7d11ef3c6c74cd6fc58ed459271d04334d8c0e30cf1c9bf7cd9f1354698222021-03-07 10:44:03194 days 1 hr ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0xd2fceb132856587b79b341b6f3aa003eb005a4384fd79f50069d6c2e80fbbe0054698012021-03-07 10:43:00194 days 1 hr ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0xd2fceb132856587b79b341b6f3aa003eb005a4384fd79f50069d6c2e80fbbe0054698012021-03-07 10:43:00194 days 1 hr ago PancakeSwap: Router Operand: OPERAND Token0 BNB
0xd2fceb132856587b79b341b6f3aa003eb005a4384fd79f50069d6c2e80fbbe0054698012021-03-07 10:43:00194 days 1 hr ago PancakeSwap: Router Operand: OPERAND Token0 BNB
0x4b2bc1deabf0e4258013c0175ca90480841e16a2f93aa5cfae657bffc5901e5054695382021-03-07 10:29:51194 days 1 hr ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0xbc910594629e866a44a435fe6f47f29358b955cfd1763588a3137d52dacb2ac154671142021-03-07 8:28:39194 days 3 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0x5746d45e0181b0d669bda39dfdf377e7f1a4ee1b496b1a877b7840735be5c89754665162021-03-07 7:58:45194 days 4 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0x136f252e09f4f62afccc96052683f1f744f7dac2ced5622415e138a3da4f841954659102021-03-07 7:28:27194 days 4 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0x9964f488a769f5416bd13c67966dc59559831823ca17dadd7dd85cc0257fdbff54652712021-03-07 6:56:30194 days 5 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0x9964f488a769f5416bd13c67966dc59559831823ca17dadd7dd85cc0257fdbff54652712021-03-07 6:56:30194 days 5 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0x95ba9c0ebd60a91aa2508f142e93f8eb166c2fdbcd68aa7857c2e63c5f9814e354651882021-03-07 6:52:21194 days 5 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0x95ba9c0ebd60a91aa2508f142e93f8eb166c2fdbcd68aa7857c2e63c5f9814e354651882021-03-07 6:52:21194 days 5 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Operand: OPERAND Token0 BNB
0xc06b4114c79fa7541d51d80374da490cfc44c861e91674154d8c66b90a09ec3f54582382021-03-07 1:04:41194 days 11 hrs ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0xc06b4114c79fa7541d51d80374da490cfc44c861e91674154d8c66b90a09ec3f54582382021-03-07 1:04:41194 days 11 hrs ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0xebc33d8e4164ac6bf3cda6b80542f734abbc8ae7d39df9bc20cc01b10dabd2ca54582182021-03-07 1:03:41194 days 11 hrs ago PancakeSwap: Router Operand: OPERAND Token0 BNB
0xc49d4f8d920387c396fee7f89cada61bc094477509207b1678abf2bd0782777c54582172021-03-07 1:03:38194 days 11 hrs ago PancakeSwap: OPERAND Operand: OPERAND Token0 BNB
0xc49d4f8d920387c396fee7f89cada61bc094477509207b1678abf2bd0782777c54582172021-03-07 1:03:38194 days 11 hrs ago PancakeSwap: Router Operand: OPERAND Token0 BNB
0xc49d4f8d920387c396fee7f89cada61bc094477509207b1678abf2bd0782777c54582172021-03-07 1:03:38194 days 11 hrs ago PancakeSwap: Router Operand: OPERAND Token0 BNB
0x4063d0a44558b00a6f26178be6d59b863de047197f88fdb059324cb27f7b70d154541252021-03-06 21:39:00194 days 14 hrs ago PancakeSwap: Router Operand: OPERAND Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Operand

Compiler Version
v0.6.4+commit.1dca32f3

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-02-25
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.4;

/**
    Operand - Each transaction incurs a 1% fee which is instantly split that fee amongst all token holding addresses. And the other 1% fee is token burn.

    Telegram: https://t.me/OPERANDtoken
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}




interface IERC20 {

    function totalSupply() external view returns (uint256);

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

    function transfer(address recipient, uint256 amount) external returns (bool);

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

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

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }


    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

     function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }


    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Operand is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;

    mapping (address => bool) private _isExcluded;
    address[] private _excluded;

    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1 * 10**6 * 10**7;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _tBurnTotal;

    string private _name = 'Operand';
    string private _symbol = 'OPERAND';
    uint8 private _decimals = 8;

    uint256 private _taxFee = 0;
    uint256 private _burnFee = 0;
    uint256 private _maxTxAmount = 2500e8;

    constructor () public {
        _rOwned[_msgSender()] = _rTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function totalBurn() public view returns (uint256) {
        return _tBurnTotal;
    }

    function deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function excludeAccount(address account) external onlyOwner() {
        require(account != 0x05fF2B0DB69458A0750badebc4f9e13aDd608C7F, 'We can not exclude Pancake router.');
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(sender != owner() && recipient != owner())
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");

        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getValues(tAmount);
        uint256 rBurn =  tBurn.mul(currentRate);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _reflectFee(rFee, rBurn, tFee, tBurn);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _reflectFee(uint256 rFee, uint256 rBurn, uint256 tFee, uint256 tBurn) private {
        _rTotal = _rTotal.sub(rFee).sub(rBurn);
        _tFeeTotal = _tFeeTotal.add(tFee);
        _tBurnTotal = _tBurnTotal.add(tBurn);
        _tTotal = _tTotal.sub(tBurn);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tBurn) = _getTValues(tAmount, _taxFee, _burnFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tBurn, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tBurn);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 burnFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tBurn = tAmount.mul(burnFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tBurn);
        return (tTransferAmount, tFee, tBurn);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tBurn, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rBurn = tBurn.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rBurn);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getTaxFee() private view returns(uint256) {
        return _taxFee;
    }

    function _getMaxTxAmount() private view returns(uint256) {
        return _maxTxAmount;
    }

    function _setTaxFee(uint256 taxFee) external onlyOwner() {
        require(taxFee >= 1 && taxFee <= 10, 'taxFee should be in 1 - 10');
        _taxFee = taxFee;
    }

    function _setBurnFee(uint256 burnFee) external onlyOwner() {
        require(burnFee >= 1 && burnFee <= 10, 'burnFee should be in 1 - 10');
        _burnFee = burnFee;
    }

    function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
        require(maxTxAmount >= 2500e8 , 'maxTxAmount should be greater than 2500e8');
        _maxTxAmount = maxTxAmount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"burnFee","type":"uint256"}],"name":"_setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"_setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6509184e72a0006006556507326b47ffff19600790815560c060405260808190526613dc195c985b9960ca1b60a09081526200003f91600a91906200019d565b506040805180820190915260078082526613d4115490539160ca1b60209092019182526200007091600b916200019d565b50600c805460ff191660081790556000600d819055600e55643a35294400600f553480156200009e57600080fd5b506000620000b46001600160e01b036200019816565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060075460016000620001186001600160e01b036200019816565b6001600160a01b03168152602081019190915260400160002055620001456001600160e01b036200019816565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a36200023f565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001e057805160ff191683800117855562000210565b8280016001018555821562000210579182015b8281111562000210578251825591602001919060010190620001f3565b506200021e92915062000222565b5090565b6200019a91905b808211156200021e576000815560010162000229565b61204b806200024f6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80634549b039116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e1461046f578063f2cc0c181461049d578063f2fde38b146104c3578063f84354f1146104e957610173565b8063a457c2d7146103f1578063a9059cbb1461041d578063cba0e9961461044957610173565b80634549b039146103555780635880b8731461037a57806370a0823114610397578063715018a6146103bd5780638da5cb5b146103c557806395d89b41146103e957610173565b80632d838119116101305780632d838119146102ac578063313ce567146102c957806339509351146102e75780633b6b1961146103135780633bd5d173146103305780633c9f861d1461034d57610173565b806306fdde0314610178578063095ea7b3146101f557806313114a9d1461023557806318160ddd1461024f5780631bbae6e01461025757806323b872dd14610276575b600080fd5b61018061050f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102216004803603604081101561020b57600080fd5b506001600160a01b0381351690602001356105a5565b604080519115158252519081900360200190f35b61023d6105c3565b60408051918252519081900360200190f35b61023d6105c9565b6102746004803603602081101561026d57600080fd5b50356105cf565b005b6102216004803603606081101561028c57600080fd5b506001600160a01b03813581169160208101359091169060400135610670565b61023d600480360360208110156102c257600080fd5b50356106fd565b6102d1610765565b6040805160ff9092168252519081900360200190f35b610221600480360360408110156102fd57600080fd5b506001600160a01b03813516906020013561076e565b6102746004803603602081101561032957600080fd5b50356107c2565b6102746004803603602081101561034657600080fd5b5035610882565b61023d610968565b61023d6004803603604081101561036b57600080fd5b5080359060200135151561096e565b6102746004803603602081101561039057600080fd5b5035610a00565b61023d600480360360208110156103ad57600080fd5b50356001600160a01b0316610ac0565b610274610b22565b6103cd610bc4565b604080516001600160a01b039092168252519081900360200190f35b610180610bd3565b6102216004803603604081101561040757600080fd5b506001600160a01b038135169060200135610c34565b6102216004803603604081101561043357600080fd5b506001600160a01b038135169060200135610ca2565b6102216004803603602081101561045f57600080fd5b50356001600160a01b0316610cb6565b61023d6004803603604081101561048557600080fd5b506001600160a01b0381358116916020013516610cd4565b610274600480360360208110156104b357600080fd5b50356001600160a01b0316610cff565b610274600480360360208110156104d957600080fd5b50356001600160a01b0316610ee1565b610274600480360360208110156104ff57600080fd5b50356001600160a01b0316610fd9565b600a8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059b5780601f106105705761010080835404028352916020019161059b565b820191906000526020600020905b81548152906001019060200180831161057e57829003601f168201915b5050505050905090565b60006105b96105b261119a565b848461119e565b5060015b92915050565b60085490565b60065490565b6105d761119a565b6000546001600160a01b03908116911614610627576040805162461bcd60e51b81526020600482018190526024820152600080516020611f11833981519152604482015290519081900360640190fd5b643a3529440081101561066b5760405162461bcd60e51b8152600401808060200182810382526029815260200180611e776029913960400191505060405180910390fd5b600f55565b600061067d84848461128a565b6106f38461068961119a565b6106ee85604051806060016040528060288152602001611ee9602891396001600160a01b038a166000908152600360205260408120906106c761119a565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61153416565b61119e565b5060019392505050565b60006007548211156107405760405162461bcd60e51b815260040180806020018281038252602a815260200180611e05602a913960400191505060405180910390fd5b600061074a6115cb565b905061075c838263ffffffff6115f416565b9150505b919050565b600c5460ff1690565b60006105b961077b61119a565b846106ee856003600061078c61119a565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61163d16565b6107ca61119a565b6000546001600160a01b0390811691161461081a576040805162461bcd60e51b81526020600482018190526024820152600080516020611f11833981519152604482015290519081900360640190fd5b6001811015801561082c5750600a8111155b61087d576040805162461bcd60e51b815260206004820152601b60248201527f6275726e4665652073686f756c6420626520696e2031202d2031300000000000604482015290519081900360640190fd5b600e55565b600061088c61119a565b6001600160a01b03811660009081526004602052604090205490915060ff16156108e75760405162461bcd60e51b815260040180806020018281038252602c815260200180611fc5602c913960400191505060405180910390fd5b60006108f283611697565b505050506001600160a01b03841660009081526001602052604090205491925061091e919050826116f4565b6001600160a01b03831660009081526001602052604090205560075461094a908263ffffffff6116f416565b600755600854610960908463ffffffff61163d16565b600855505050565b60095490565b60006006548311156109c7576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b816109e65760006109d784611697565b509395506105bd945050505050565b60006109f184611697565b509295506105bd945050505050565b610a0861119a565b6000546001600160a01b03908116911614610a58576040805162461bcd60e51b81526020600482018190526024820152600080516020611f11833981519152604482015290519081900360640190fd5b60018110158015610a6a5750600a8111155b610abb576040805162461bcd60e51b815260206004820152601a60248201527f7461784665652073686f756c6420626520696e2031202d203130000000000000604482015290519081900360640190fd5b600d55565b6001600160a01b03811660009081526004602052604081205460ff1615610b0057506001600160a01b038116600090815260026020526040902054610760565b6001600160a01b0382166000908152600160205260409020546105bd906106fd565b610b2a61119a565b6000546001600160a01b03908116911614610b7a576040805162461bcd60e51b81526020600482018190526024820152600080516020611f11833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600b8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059b5780601f106105705761010080835404028352916020019161059b565b60006105b9610c4161119a565b846106ee85604051806060016040528060258152602001611ff16025913960036000610c6b61119a565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61153416565b60006105b9610caf61119a565b848461128a565b6001600160a01b031660009081526004602052604090205460ff1690565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b610d0761119a565b6000546001600160a01b03908116911614610d57576040805162461bcd60e51b81526020600482018190526024820152600080516020611f11833981519152604482015290519081900360640190fd5b7305ff2b0db69458a0750badebc4f9e13add608c7f6001600160a01b0382161415610db35760405162461bcd60e51b8152600401808060200182810382526022815260200180611fa36022913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff1615610e21576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205415610e7b576001600160a01b038116600090815260016020526040902054610e61906106fd565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b610ee961119a565b6000546001600160a01b03908116911614610f39576040805162461bcd60e51b81526020600482018190526024820152600080516020611f11833981519152604482015290519081900360640190fd5b6001600160a01b038116610f7e5760405162461bcd60e51b8152600401808060200182810382526026815260200180611e2f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610fe161119a565b6000546001600160a01b03908116911614611031576040805162461bcd60e51b81526020600482018190526024820152600080516020611f11833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1661109e576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b60055481101561119657816001600160a01b0316600582815481106110c257fe5b6000918252602090912001546001600160a01b0316141561118e576005805460001981019081106110ef57fe5b600091825260209091200154600580546001600160a01b03909216918390811061111557fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff19169055600580548061116757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611196565b6001016110a1565b5050565b3390565b6001600160a01b0383166111e35760405162461bcd60e51b8152600401808060200182810382526024815260200180611f7f6024913960400191505060405180910390fd5b6001600160a01b0382166112285760405162461bcd60e51b8152600401808060200182810382526022815260200180611e556022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166112cf5760405162461bcd60e51b8152600401808060200182810382526025815260200180611f5a6025913960400191505060405180910390fd5b6001600160a01b0382166113145760405162461bcd60e51b8152600401808060200182810382526023815260200180611de26023913960400191505060405180910390fd5b600081116113535760405162461bcd60e51b8152600401808060200182810382526029815260200180611f316029913960400191505060405180910390fd5b61135b610bc4565b6001600160a01b0316836001600160a01b031614158015611395575061137f610bc4565b6001600160a01b0316826001600160a01b031614155b156113db57600f548111156113db5760405162461bcd60e51b8152600401808060200182810382526028815260200180611ea06028913960400191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460ff16801561141c57506001600160a01b03821660009081526004602052604090205460ff16155b156114315761142c838383611736565b61152f565b6001600160a01b03831660009081526004602052604090205460ff1615801561147257506001600160a01b03821660009081526004602052604090205460ff165b156114825761142c838383611888565b6001600160a01b03831660009081526004602052604090205460ff161580156114c457506001600160a01b03821660009081526004602052604090205460ff16155b156114d45761142c838383611964565b6001600160a01b03831660009081526004602052604090205460ff16801561151457506001600160a01b03821660009081526004602052604090205460ff165b156115245761142c8383836119cf565b61152f838383611964565b505050565b600081848411156115c35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611588578181015183820152602001611570565b50505050905090810190601f1680156115b55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008060006115d8611a6f565b90925090506115ed828263ffffffff6115f416565b9250505090565b600061163683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611be4565b9392505050565b600082820183811015611636576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008060008060008060008060006116b48a600d54600e54611c49565b92509250925060006116c46115cb565b905060008060006116d78e878787611cbc565b919e509c509a509598509396509194505050505091939550919395565b600061163683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611534565b60006117406115cb565b905060008060008060008061175488611697565b95509550955095509550955060006117758883611d2490919063ffffffff16565b6001600160a01b038c166000908152600260205260409020549091506117a1908a63ffffffff6116f416565b6001600160a01b038c166000908152600260209081526040808320939093556001905220546117d6908863ffffffff6116f416565b6001600160a01b03808d1660009081526001602052604080822093909355908c168152205461180b908763ffffffff61163d16565b6001600160a01b038b1660009081526001602052604090205561183085828585611d7d565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35050505050505050505050565b60006118926115cb565b90506000806000806000806118a688611697565b95509550955095509550955060006118c78883611d2490919063ffffffff16565b6001600160a01b038c166000908152600160205260409020549091506118f3908863ffffffff6116f416565b6001600160a01b03808d16600090815260016020908152604080832094909455918d1681526002909152205461192f908563ffffffff61163d16565b6001600160a01b038b1660009081526002602090815260408083209390935560019052205461180b908763ffffffff61163d16565b600061196e6115cb565b905060008060008060008061198288611697565b95509550955095509550955060006119a38883611d2490919063ffffffff16565b6001600160a01b038c166000908152600160205260409020549091506117d6908863ffffffff6116f416565b60006119d96115cb565b90506000806000806000806119ed88611697565b9550955095509550955095506000611a0e8883611d2490919063ffffffff16565b6001600160a01b038c16600090815260026020526040902054909150611a3a908a63ffffffff6116f416565b6001600160a01b038c166000908152600260209081526040808320939093556001905220546118f3908863ffffffff6116f416565b6007546006546000918291825b600554811015611bac57826001600060058481548110611a9857fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611afd5750816002600060058481548110611ad657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611b145760075460065494509450505050611be0565b611b5a6001600060058481548110611b2857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054849063ffffffff6116f416565b9250611ba26002600060058481548110611b7057fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054839063ffffffff6116f416565b9150600101611a7c565b50600654600754611bc29163ffffffff6115f416565b821015611bda57600754600654935093505050611be0565b90925090505b9091565b60008183611c335760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611588578181015183820152602001611570565b506000838581611c3f57fe5b0495945050505050565b6000808080611c6f6064611c63898963ffffffff611d2416565b9063ffffffff6115f416565b90506000611c886064611c638a8963ffffffff611d2416565b90506000611cac82611ca08b8663ffffffff6116f416565b9063ffffffff6116f416565b9992985090965090945050505050565b6000808080611cd1888663ffffffff611d2416565b90506000611ce5888763ffffffff611d2416565b90506000611cf9888863ffffffff611d2416565b90506000611d1182611ca0868663ffffffff6116f416565b939b939a50919850919650505050505050565b600082611d33575060006105bd565b82820282848281611d4057fe5b04146116365760405162461bcd60e51b8152600401808060200182810382526021815260200180611ec86021913960400191505060405180910390fd5b611d9683611ca0866007546116f490919063ffffffff16565b600755600854611dac908363ffffffff61163d16565b600855600954611dc2908263ffffffff61163d16565b600955600654611dd8908263ffffffff6116f416565b6006555050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573736d61785478416d6f756e742073686f756c642062652067726561746572207468616e203235303065385472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357652063616e206e6f74206578636c7564652050616e63616b6520726f757465722e4578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122082401165f4e30698bbe6caf24b0e0c9f2bfc92bcbce1334475583f94ea1a113c64736f6c63430006040033

Deployed ByteCode Sourcemap

7078:12252:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7078:12252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;8059:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8059:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8971:161;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8971:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;10082:87;;;:::i;:::-;;;;;;;;;;;;;;;;8336:95;;;:::i;19128:199::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;19128:199:0;;:::i;:::-;;9140:313;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9140:313:0;;;;;;;;;;;;;;;;;:::i;11102:253::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11102:253:0;;:::i;8245:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9461:218;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9461:218:0;;;;;;;;:::i;18944:176::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18944:176:0;;:::i;10273:377::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10273:377:0;;:::i;10177:88::-;;;:::i;10658:436::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10658:436:0;;;;;;;;;:::i;18767:169::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;18767:169:0;;:::i;8439:198::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8439:198:0;-1:-1:-1;;;;;8439:198:0;;:::i;6671:148::-;;;:::i;6457:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;6457:79:0;;;;;;;;;;;;;;8150:87;;;:::i;9687:269::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;9687:269:0;;;;;;;;:::i;8645:167::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8645:167:0;;;;;;;;:::i;9964:110::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9964:110:0;-1:-1:-1;;;;;9964:110:0;;:::i;8820:143::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8820:143:0;;;;;;;;;;:::i;11363:443::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11363:443:0;-1:-1:-1;;;;;11363:443:0;;:::i;6827:244::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6827:244:0;-1:-1:-1;;;;;6827:244:0;;:::i;11814:478::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11814:478:0;-1:-1:-1;;;;;11814:478:0;;:::i;8059:83::-;8129:5;8122:12;;;;;;;;-1:-1:-1;;8122:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8096:13;;8122:12;;8129:5;;8122:12;;8129:5;8122:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:83;:::o;8971:161::-;9046:4;9063:39;9072:12;:10;:12::i;:::-;9086:7;9095:6;9063:8;:39::i;:::-;-1:-1:-1;9120:4:0;8971:161;;;;;:::o;10082:87::-;10151:10;;10082:87;:::o;8336:95::-;8416:7;;8336:95;:::o;19128:199::-;6594:12;:10;:12::i;:::-;6584:6;;-1:-1:-1;;;;;6584:6:0;;;:22;;;6576:67;;;;;-1:-1:-1;;;6576:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6576:67:0;;;;;;;;;;;;;;;19229:6:::1;19214:11;:21;;19206:76;;;;-1:-1:-1::0;;;19206:76:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19293:12;:26:::0;19128:199::o;9140:313::-;9238:4;9255:36;9265:6;9273:9;9284:6;9255:9;:36::i;:::-;9302:121;9311:6;9319:12;:10;:12::i;:::-;9333:89;9371:6;9333:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9333:19:0;;;;;;:11;:19;;;;;;9353:12;:10;:12::i;:::-;-1:-1:-1;;;;;9333:33:0;;;;;;;;;;;;-1:-1:-1;9333:33:0;;;:89;;:37;:89;:::i;:::-;9302:8;:121::i;:::-;-1:-1:-1;9441:4:0;9140:313;;;;;:::o;11102:253::-;11168:7;11207;;11196;:18;;11188:73;;;;-1:-1:-1;;;11188:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11272:19;11295:10;:8;:10::i;:::-;11272:33;-1:-1:-1;11323:24:0;:7;11272:33;11323:24;:11;:24;:::i;:::-;11316:31;;;11102:253;;;;:::o;8245:83::-;8311:9;;;;8245:83;:::o;9461:218::-;9549:4;9566:83;9575:12;:10;:12::i;:::-;9589:7;9598:50;9637:10;9598:11;:25;9610:12;:10;:12::i;:::-;-1:-1:-1;;;;;9598:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9598:25:0;;;:34;;;;;;;;;;;:50;:38;:50;:::i;18944:176::-;6594:12;:10;:12::i;:::-;6584:6;;-1:-1:-1;;;;;6584:6:0;;;:22;;;6576:67;;;;;-1:-1:-1;;;6576:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6576:67:0;;;;;;;;;;;;;;;19033:1:::1;19022:7;:12;;:29;;;;;19049:2;19038:7;:13;;19022:29;19014:69;;;::::0;;-1:-1:-1;;;19014:69:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;19094:8;:18:::0;18944:176::o;10273:377::-;10325:14;10342:12;:10;:12::i;:::-;-1:-1:-1;;;;;10374:19:0;;;;;;:11;:19;;;;;;10325:29;;-1:-1:-1;10374:19:0;;10373:20;10365:77;;;;-1:-1:-1;;;10365:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10454:15;10478:19;10489:7;10478:10;:19::i;:::-;-1:-1:-1;;;;;;;;;10526:15:0;;;;;;:7;:15;;;;;;10453:44;;-1:-1:-1;10526:28:0;;:15;-1:-1:-1;10453:44:0;10526:19;:28::i;:::-;-1:-1:-1;;;;;10508:15:0;;;;;;:7;:15;;;;;:46;10575:7;;:20;;10587:7;10575:20;:11;:20;:::i;:::-;10565:7;:30;10619:10;;:23;;10634:7;10619:23;:14;:23;:::i;:::-;10606:10;:36;-1:-1:-1;;;10273:377:0:o;10177:88::-;10246:11;;10177:88;:::o;10658:436::-;10748:7;10787;;10776;:18;;10768:62;;;;;-1:-1:-1;;;10768:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10846:17;10841:246;;10881:15;10905:19;10916:7;10905:10;:19::i;:::-;-1:-1:-1;10880:44:0;;-1:-1:-1;10939:14:0;;-1:-1:-1;;;;;10939:14:0;10841:246;10988:23;11019:19;11030:7;11019:10;:19::i;:::-;-1:-1:-1;10986:52:0;;-1:-1:-1;11053:22:0;;-1:-1:-1;;;;;11053:22:0;18767:169;6594:12;:10;:12::i;:::-;6584:6;;-1:-1:-1;;;;;6584:6:0;;;:22;;;6576:67;;;;;-1:-1:-1;;;6576:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6576:67:0;;;;;;;;;;;;;;;18853:1:::1;18843:6;:11;;:27;;;;;18868:2;18858:6;:12;;18843:27;18835:66;;;::::0;;-1:-1:-1;;;18835:66:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;18912:7;:16:::0;18767:169::o;8439:198::-;-1:-1:-1;;;;;8529:20:0;;8505:7;8529:20;;;:11;:20;;;;;;;;8525:49;;;-1:-1:-1;;;;;;8558:16:0;;;;;;:7;:16;;;;;;8551:23;;8525:49;-1:-1:-1;;;;;8612:16:0;;;;;;:7;:16;;;;;;8592:37;;:19;:37::i;6671:148::-;6594:12;:10;:12::i;:::-;6584:6;;-1:-1:-1;;;;;6584:6:0;;;:22;;;6576:67;;;;;-1:-1:-1;;;6576:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6576:67:0;;;;;;;;;;;;;;;6778:1:::1;6762:6:::0;;6741:40:::1;::::0;-1:-1:-1;;;;;6762:6:0;;::::1;::::0;6741:40:::1;::::0;6778:1;;6741:40:::1;6809:1;6792:19:::0;;-1:-1:-1;;;;;;6792:19:0::1;::::0;;6671:148::o;6457:79::-;6495:7;6522:6;-1:-1:-1;;;;;6522:6:0;6457:79;:::o;8150:87::-;8222:7;8215:14;;;;;;;;-1:-1:-1;;8215:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8189:13;;8215:14;;8222:7;;8215:14;;8222:7;8215:14;;;;;;;;;;;;;;;;;;;;;;;;9687:269;9780:4;9797:129;9806:12;:10;:12::i;:::-;9820:7;9829:96;9868:15;9829:96;;;;;;;;;;;;;;;;;:11;:25;9841:12;:10;:12::i;:::-;-1:-1:-1;;;;;9829:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9829:25:0;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;8645:167::-;8723:4;8740:42;8750:12;:10;:12::i;:::-;8764:9;8775:6;8740:9;:42::i;9964:110::-;-1:-1:-1;;;;;10046:20:0;10022:4;10046:20;;;:11;:20;;;;;;;;;9964:110::o;8820:143::-;-1:-1:-1;;;;;8928:18:0;;;8901:7;8928:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8820:143::o;11363:443::-;6594:12;:10;:12::i;:::-;6584:6;;-1:-1:-1;;;;;6584:6:0;;;:22;;;6576:67;;;;;-1:-1:-1;;;6576:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6576:67:0;;;;;;;;;;;;;;;11455:42:::1;-1:-1:-1::0;;;;;11444:53:0;::::1;;;11436:100;;;;-1:-1:-1::0;;;11436:100:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;11556:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11555:21;11547:61;;;::::0;;-1:-1:-1;;;11547:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;11622:16:0;::::1;11641:1;11622:16:::0;;;:7:::1;:16;::::0;;;;;:20;11619:108:::1;;-1:-1:-1::0;;;;;11698:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;11678:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;11659:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;11619:108:::1;-1:-1:-1::0;;;;;11737:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;11737:27:0::1;11760:4;11737:27:::0;;::::1;::::0;;;11775:9:::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;11775::0;;;;::::1;::::0;;-1:-1:-1;;;;;;11775:23:0::1;::::0;;::::1;::::0;;11363:443::o;6827:244::-;6594:12;:10;:12::i;:::-;6584:6;;-1:-1:-1;;;;;6584:6:0;;;:22;;;6576:67;;;;;-1:-1:-1;;;6576:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6576:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6916:22:0;::::1;6908:73;;;;-1:-1:-1::0;;;6908:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:6;::::0;;6997:38:::1;::::0;-1:-1:-1;;;;;6997:38:0;;::::1;::::0;7018:6;::::1;::::0;6997:38:::1;::::0;::::1;7046:6;:17:::0;;-1:-1:-1;;;;;;7046:17:0::1;-1:-1:-1::0;;;;;7046:17:0;;;::::1;::::0;;;::::1;::::0;;6827:244::o;11814:478::-;6594:12;:10;:12::i;:::-;6584:6;;-1:-1:-1;;;;;6584:6:0;;;:22;;;6576:67;;;;;-1:-1:-1;;;6576:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6576:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11895:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;11887:60;;;::::0;;-1:-1:-1;;;11887:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11963:9;11958:327;11982:9;:16:::0;11978:20;::::1;11958:327;;;12040:7;-1:-1:-1::0;;;;;12024:23:0::1;:9;12034:1;12024:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;12024:12:0::1;:23;12020:254;;;12083:9;12093:16:::0;;-1:-1:-1;;12093:20:0;;;12083:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;12068:9:::1;:12:::0;;-1:-1:-1;;;;;12083:31:0;;::::1;::::0;12078:1;;12068:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;12068:46:0::1;-1:-1:-1::0;;;;;12068:46:0;;::::1;;::::0;;12133:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;12172:11:::1;:20:::0;;;;:28;;-1:-1:-1;;12172:28:0::1;::::0;;12219:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;12219:15:0;;;;;-1:-1:-1;;;;;;12219:15:0::1;::::0;;;;;12253:5:::1;;12020:254;12000:3;;11958:327;;;;11814:478:::0;:::o;303:106::-;391:10;303:106;:::o;12300:337::-;-1:-1:-1;;;;;12393:19:0;;12385:68;;;;-1:-1:-1;;;12385:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12472:21:0;;12464:68;;;;-1:-1:-1;;;12464:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12545:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12597:32;;;;;;;;;;;;;;;;;12300:337;;;:::o;12645:1080::-;-1:-1:-1;;;;;12742:20:0;;12734:70;;;;-1:-1:-1;;;12734:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12823:23:0;;12815:71;;;;-1:-1:-1;;;12815:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12914:1;12905:6;:10;12897:64;;;;-1:-1:-1;;;12897:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12987:7;:5;:7::i;:::-;-1:-1:-1;;;;;12977:17:0;:6;-1:-1:-1;;;;;12977:17:0;;;:41;;;;;13011:7;:5;:7::i;:::-;-1:-1:-1;;;;;12998:20:0;:9;-1:-1:-1;;;;;12998:20:0;;;12977:41;12974:134;;;13051:12;;13041:6;:22;;13033:75;;;;-1:-1:-1;;;13033:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13125:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;13149:22:0;;;;;;:11;:22;;;;;;;;13148:23;13125:46;13121:597;;;13188:48;13210:6;13218:9;13229:6;13188:21;:48::i;:::-;13121:597;;;-1:-1:-1;;;;;13259:19:0;;;;;;:11;:19;;;;;;;;13258:20;:46;;;;-1:-1:-1;;;;;;13282:22:0;;;;;;:11;:22;;;;;;;;13258:46;13254:464;;;13321:46;13341:6;13349:9;13360:6;13321:19;:46::i;13254:464::-;-1:-1:-1;;;;;13390:19:0;;;;;;:11;:19;;;;;;;;13389:20;:47;;;;-1:-1:-1;;;;;;13414:22:0;;;;;;:11;:22;;;;;;;;13413:23;13389:47;13385:333;;;13453:44;13471:6;13479:9;13490:6;13453:17;:44::i;13385:333::-;-1:-1:-1;;;;;13519:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;13542:22:0;;;;;;:11;:22;;;;;;;;13519:45;13515:203;;;13581:48;13603:6;13611:9;13622:6;13581:21;:48::i;13515:203::-;13662:44;13680:6;13688:9;13699:6;13662:17;:44::i;:::-;12645:1080;;;:::o;1717:192::-;1803:7;1839:12;1831:6;;;;1823:29;;;;-1:-1:-1;;;1823:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1823:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1875:5:0;;;1717:192::o;17837:163::-;17878:7;17899:15;17916;17935:19;:17;:19::i;:::-;17898:56;;-1:-1:-1;17898:56:0;-1:-1:-1;17972:20:0;17898:56;;17972:20;:11;:20;:::i;:::-;17965:27;;;;17837:163;:::o;2396:132::-;2454:7;2481:39;2485:1;2488;2481:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2474:46;2396:132;-1:-1:-1;;;2396:132:0:o;1384:181::-;1442:7;1474:5;;;1498:6;;;;1490:46;;;;;-1:-1:-1;;;1490:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;16585:468;16644:7;16653;16662;16671;16680;16689;16710:23;16735:12;16749:13;16766:39;16778:7;16787;;16796:8;;16766:11;:39::i;:::-;16709:96;;;;;;16816:19;16839:10;:8;:10::i;:::-;16816:33;;16861:15;16878:23;16903:12;16919:46;16931:7;16940:4;16946:5;16953:11;16919;:46::i;:::-;16860:105;;-1:-1:-1;16860:105:0;-1:-1:-1;16860:105:0;-1:-1:-1;17016:15:0;;-1:-1:-1;17033:4:0;;-1:-1:-1;17039:5:0;;-1:-1:-1;;;;;16585:468:0;;;;;;;:::o;1573:136::-;1631:7;1658:43;1662:1;1665;1658:43;;;;;;;;;;;;;;;;;:3;:43::i;14958:629::-;15060:19;15083:10;:8;:10::i;:::-;15060:33;;15105:15;15122:23;15147:12;15161:23;15186:12;15200:13;15217:19;15228:7;15217:10;:19::i;:::-;15104:132;;;;;;;;;;;;15247:13;15264:22;15274:11;15264:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;15315:15:0;;;;;;:7;:15;;;;;;15247:39;;-1:-1:-1;15315:28:0;;15335:7;15315:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;15297:15:0;;;;;;:7;:15;;;;;;;;:46;;;;15372:7;:15;;;;:28;;15392:7;15372:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;15354:15:0;;;;;;;:7;:15;;;;;;:46;;;;15432:18;;;;;;;:39;;15455:15;15432:39;:22;:39;:::i;:::-;-1:-1:-1;;;;;15411:18:0;;;;;;:7;:18;;;;;:60;15482:37;15494:4;15500:5;15507:4;15513:5;15482:11;:37::i;:::-;15552:9;-1:-1:-1;;;;;15535:44:0;15544:6;-1:-1:-1;;;;;15535:44:0;;15563:15;15535:44;;;;;;;;;;;;;;;;;;14958:629;;;;;;;;;;;:::o;14309:641::-;14409:19;14432:10;:8;:10::i;:::-;14409:33;;14454:15;14471:23;14496:12;14510:23;14535:12;14549:13;14566:19;14577:7;14566:10;:19::i;:::-;14453:132;;;;;;;;;;;;14596:13;14613:22;14623:11;14613:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;14664:15:0;;;;;;:7;:15;;;;;;14596:39;;-1:-1:-1;14664:28:0;;14684:7;14664:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;14646:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;14724:18;;;;;:7;:18;;;;;:39;;14747:15;14724:39;:22;:39;:::i;:::-;-1:-1:-1;;;;;14703:18:0;;;;;;:7;:18;;;;;;;;:60;;;;14795:7;:18;;;;:39;;14818:15;14795:39;:22;:39;:::i;13733:568::-;13831:19;13854:10;:8;:10::i;:::-;13831:33;;13876:15;13893:23;13918:12;13932:23;13957:12;13971:13;13988:19;13999:7;13988:10;:19::i;:::-;13875:132;;;;;;;;;;;;14018:13;14035:22;14045:11;14035:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;14086:15:0;;;;;;:7;:15;;;;;;14018:39;;-1:-1:-1;14086:28:0;;14106:7;14086:28;:19;:28;:::i;15595:700::-;15697:19;15720:10;:8;:10::i;:::-;15697:33;;15742:15;15759:23;15784:12;15798:23;15823:12;15837:13;15854:19;15865:7;15854:10;:19::i;:::-;15741:132;;;;;;;;;;;;15884:13;15901:22;15911:11;15901:5;:9;;:22;;;;:::i;:::-;-1:-1:-1;;;;;15952:15:0;;;;;;:7;:15;;;;;;15884:39;;-1:-1:-1;15952:28:0;;15972:7;15952:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;15934:15:0;;;;;;:7;:15;;;;;;;;:46;;;;16009:7;:15;;;;:28;;16029:7;16009:28;:19;:28;:::i;18008:555::-;18105:7;;18141;;18058;;;;;18159:289;18183:9;:16;18179:20;;18159:289;;;18249:7;18225;:21;18233:9;18243:1;18233:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18233:12:0;18225:21;;;;;;;;;;;;;:31;;:66;;;18284:7;18260;:21;18268:9;18278:1;18268:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18268:12:0;18260:21;;;;;;;;;;;;;:31;18225:66;18221:97;;;18301:7;;18310;;18293:25;;;;;;;;;18221:97;18343:34;18355:7;:21;18363:9;18373:1;18363:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18363:12:0;18355:21;;;;;;;;;;;;;18343:7;;:34;:11;:34;:::i;:::-;18333:44;;18402:34;18414:7;:21;18422:9;18432:1;18422:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18422:12:0;18414:21;;;;;;;;;;;;;18402:7;;:34;:11;:34;:::i;:::-;18392:44;-1:-1:-1;18201:3:0;;18159:289;;;-1:-1:-1;18484:7:0;;18472;;:20;;;:11;:20;:::i;:::-;18462:7;:30;18458:61;;;18502:7;;18511;;18494:25;;;;;;;;18458:61;18538:7;;-1:-1:-1;18547:7:0;-1:-1:-1;18008:555:0;;;:::o;2536:278::-;2622:7;2657:12;2650:5;2642:28;;;;-1:-1:-1;;;2642:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2642:28:0;;2681:9;2697:1;2693;:5;;;;;;;2536:278;-1:-1:-1;;;;;2536:278:0:o;17061:351::-;17154:7;;;;17207:28;17231:3;17207:19;:7;17219:6;17207:19;:11;:19;:::i;:::-;:23;:28;:23;:28;:::i;:::-;17192:43;-1:-1:-1;17246:13:0;17262:29;17287:3;17262:20;:7;17274;17262:20;:11;:20;:::i;:29::-;17246:45;-1:-1:-1;17302:23:0;17328:28;17246:45;17328:17;:7;17340:4;17328:17;:11;:17;:::i;:::-;:21;:28;:21;:28;:::i;:::-;17302:54;17392:4;;-1:-1:-1;17398:5:0;;-1:-1:-1;17061:351:0;;-1:-1:-1;;;;;17061:351:0:o;17420:409::-;17530:7;;;;17586:24;:7;17598:11;17586:24;:11;:24;:::i;:::-;17568:42;-1:-1:-1;17621:12:0;17636:21;:4;17645:11;17636:21;:8;:21;:::i;:::-;17621:36;-1:-1:-1;17668:13:0;17684:22;:5;17694:11;17684:22;:9;:22;:::i;:::-;17668:38;-1:-1:-1;17717:23:0;17743:28;17668:38;17743:17;:7;17755:4;17743:17;:11;:17;:::i;:28::-;17790:7;;;;-1:-1:-1;17816:4:0;;-1:-1:-1;17420:409:0;;-1:-1:-1;;;;;;;17420:409:0:o;1917:471::-;1975:7;2220:6;2216:47;;-1:-1:-1;2250:1:0;2243:8;;2216:47;2287:5;;;2291:1;2287;:5;:1;2311:5;;;;;:10;2303:56;;;;-1:-1:-1;;;2303:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16303:274;16411:28;16433:5;16411:17;16423:4;16411:7;;:11;;:17;;;;:::i;:28::-;16401:7;:38;16463:10;;:20;;16478:4;16463:20;:14;:20;:::i;:::-;16450:10;:33;16508:11;;:22;;16524:5;16508:22;:15;:22;:::i;:::-;16494:11;:36;16551:7;;:18;;16563:5;16551:18;:11;:18;:::i;:::-;16541:7;:28;-1:-1:-1;;;;16303:274:0:o

Swarm Source

ipfs://82401165f4e30698bbe6caf24b0e0c9f2bfc92bcbce1334475583f94ea1a113c
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.