Contract 0xc18109a204bf68a73604685959f3d9b630f35e98

 

Contract Overview

Balance:
0.849741061743984769 BNB

BNB Value:
$285.25 (@ $335.69/BNB)

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0xc85b0af9e9a295db082a1ea57801b05e453b667fac56a6de957015bed8ac48e684458532021-06-19 23:47:164 hrs 35 mins ago0xf8de28afc8166f0f360ead5257489e34e6744fde IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0xf2e502d94b3d8745cc074157dd383d210f5c9b55ce8eaf0444f2ea77671ff87f84366112021-06-19 16:04:3912 hrs 18 mins ago0x4315109d945d6ebe56f462f3b55c1742805ec859 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.000072855
0xe76bb85b535570b14ab0578dcb51ad9b986ce63461b0bf8a70abfd89acb94b5284304292021-06-19 10:47:4317 hrs 35 mins ago0x93507e847276b0e6a1bf4bbbbc04cb821962498f IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0x3c0c8b23e46ed53df70fb69663a05385269ae3259590513d73aa6e8df98d93d084272112021-06-19 8:06:0420 hrs 16 mins ago0xc8da5c7741a050d404a57dfa85212d83f441ae7d IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0xbaac91b0f223468c53befa9233efa666e24fe1bea0565eb90d2c2cd2cadcfdf184258222021-06-19 6:56:3521 hrs 26 mins ago0x34314d7d8e305bd4918c2945fe0b7154eb7aa6c9 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0x7211a71ff4622df064cb4e8f6a74ab5eefd1e7daf29deeb0f00dfab5e0c9878484226652021-06-19 4:18:011 day 4 mins ago0xff1a263d570b7f79ce27f306adb7d5b1c7bed07c IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0x5408c54a1dd724b31736a938b428299bd9f073c9b435eebfca7f0df9dae2073c84020702021-06-18 10:58:441 day 17 hrs ago0xbf709c2fd2ff6f7325f3d733f1a6588e00696e0c IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0xa1ab2cdd16c91d557cc0628708a76e7ad2054eead9cee7215b05cc937516ff6183988382021-06-18 8:16:011 day 20 hrs ago0x93d162ad54d8776f71c541e9b21ce18e9ec8ed92 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0xd347bc451c55838777ff560243c5efd9cd385ba9a1bc75ec3892189a7fb3f0f283956872021-06-18 5:37:151 day 22 hrs ago0x7dd039f5f47d07403046b48b2925a8da5443cd28 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0x69b2f0b270a280f8a8bd3a5e0bffb31c36c8aa3bf6afb5f8d48286246ea499af83935982021-06-18 3:51:122 days 31 mins ago0x08696947f3cb2464679e0e104317c5311d4412c4 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0x65f5d9da44dbeb4c298f8baf67cf4497872f7d8af7657aeaf57adcd2e4f4801f83905322021-06-18 1:16:282 days 3 hrs ago0x8a713d6554f1e27abd5b6becf963fa4e468d1906 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0x418155c089e77a9a304b4c4b0196f40bedbc2a9f05683007ad25bcc62f929b9883901792021-06-18 0:58:492 days 3 hrs ago0x2a45d9d441f589fa01ce36c818851334ef4f071b IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0xcb2f83f0d8cd8243478694abe941eec1bb1453798329c583dd1c5107ca28bb3983901632021-06-18 0:58:012 days 3 hrs ago0x64f7e656b502f9320fe0518126562e934d38b3bb IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0xf9adbedbff4d5ee3227c5d0530bc4b6b837a511d109df034ad65587d5e1e16e583884892021-06-17 23:32:312 days 4 hrs ago0xce4cdd16790e58dbd22a41f2f6b66c6f1b4d02db IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0004497126
0x7d42b7d8ffa370c193cc824610178c3851ed27a32f3e15c5af4df24c8c09c63883835752021-06-17 19:25:152 days 8 hrs ago0x3093db46626ca2e8cc70f481a28e4f927953da33 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0x5ed0766ac0387d1b88de37d7944ce2cf404c0a2abb1df59adf456933be1a4fce83799462021-06-17 16:22:272 days 12 hrs ago0xfd08849489f0a0e665885878eaddbe28738a38f9 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.000072855
0x0726f9f000e278584a6f7aa097626c833ff232e0b996bd07f0f184f7584d595583780772021-06-17 14:49:002 days 13 hrs ago0x85d34a9dca606bb687e045755a1e79d1bbefb39a IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.000267156
0xc2d65b1996b9c7ae3c349b6a55310e0b01cf0aa6b9b730a239b6fb0c170c8cc683733532021-06-17 10:49:342 days 17 hrs ago0xd68bf74f5b6080d9f6dd5d94820f2825746bbf55 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0004497126
0xa35e452b0698dc56b4e0e7af08a756555dc8f3ed130a1d467737a42329a514c083716642021-06-17 9:23:512 days 18 hrs ago0x457f1c682e3b0026faa5f58391993c37bb9cc7f6 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0xe91232a0d355a225a3c4f177a6965bbf2be8dc413c867e6b6d2e9e467b47cf9483708522021-06-17 8:42:112 days 19 hrs ago0x7d677a3b6f2b3078a96853b1af868fdbd4e99243 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0x098c78ab00e8e784ac443de8ba2b1e9a672f0d96545f6ec3c3400c40724ee0e583654372021-06-17 4:08:313 days 14 mins ago0x48e877d129b106f43bc173ee931ef5cbbf8a8bb3 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0x2f07059df32297bc94fe4a6a35785a931893fee06c51a26321be266087518a7683604682021-06-16 23:59:363 days 4 hrs ago0x007474041f93cff150f51d8e4ce3b7d4e394510e IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.0002270826
0x934a4cfc4b8a855823121c3f7afc1626cc390ee176cc180052d78b1b708bf98183526702021-06-16 17:27:573 days 10 hrs ago0x75f9d4737b453ce8ce0a5fdf647d1e68cb080bef IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
0x03a8796e730814ab1a8d99c958eed2d91ed44d91ed67b4106c04b7746aeb8ec783498002021-06-16 15:02:583 days 13 hrs ago0xae9c06de093ffc863fb27a16342daa741dd5ef8d IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.000072855
0xca6a689ce823cd02f02a7881fc98841aa95adb440ca89c9923c53e28faf5d70c83483422021-06-16 13:49:283 days 14 hrs ago0xc3b6daf0341a0b8b43b833d8e8e0815e5ad68283 IN  0xc18109a204bf68a73604685959f3d9b630f35e980 BNB0.00022263
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x7e5b5ce0fc6c8389502e425d290162aa9dd7d6c731d1ef6754c0fa07bf3c028b83409102021-06-16 7:35:393 days 20 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.000575661558340988 BNB
0x7e5b5ce0fc6c8389502e425d290162aa9dd7d6c731d1ef6754c0fa07bf3c028b83409102021-06-16 7:35:393 days 20 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v20.311925176060174941 BNB
0x7e5b5ce0fc6c8389502e425d290162aa9dd7d6c731d1ef6754c0fa07bf3c028b83409102021-06-16 7:35:393 days 20 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.311925176060174941 BNB
0xd6d8c58ba9b676947a6ca29be139472413559f661b31a8c1cbb6f5cdb37539c183079842021-06-15 3:47:245 days 35 mins ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.000870562636777873 BNB
0xd6d8c58ba9b676947a6ca29be139472413559f661b31a8c1cbb6f5cdb37539c183079842021-06-15 3:47:245 days 35 mins ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v20.377626989181393617 BNB
0xd6d8c58ba9b676947a6ca29be139472413559f661b31a8c1cbb6f5cdb37539c183079842021-06-15 3:47:245 days 35 mins ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.377626989181393617 BNB
0xf3007510e8ee718b23d67fbc36820de50bb98229a61161cbf40ec78474565fd982950082021-06-14 16:49:285 days 11 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.001425837968810665 BNB
0xf3007510e8ee718b23d67fbc36820de50bb98229a61161cbf40ec78474565fd982950082021-06-14 16:49:285 days 11 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v20.481878575075335977 BNB
0xf3007510e8ee718b23d67fbc36820de50bb98229a61161cbf40ec78474565fd982950082021-06-14 16:49:285 days 11 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.481878575075335977 BNB
0x2046725fc83b21f23566bc65c14b06e6a3c74a23b8b6af4b01052ed9be3a035082924582021-06-14 14:41:405 days 13 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.003597625425155976 BNB
0x2046725fc83b21f23566bc65c14b06e6a3c74a23b8b6af4b01052ed9be3a035082924582021-06-14 14:41:405 days 13 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v20.791611751517693739 BNB
0x2046725fc83b21f23566bc65c14b06e6a3c74a23b8b6af4b01052ed9be3a035082924582021-06-14 14:41:405 days 13 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.791611751517693739 BNB
0x6c53660ccac1632d5a818f382dddb9692a94525d22c2fe56215dd43e351c085482910732021-06-14 13:32:115 days 14 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.00515390404575202 BNB
0x6c53660ccac1632d5a818f382dddb9692a94525d22c2fe56215dd43e351c085482910732021-06-14 13:32:115 days 14 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v20.96502627402128079 BNB
0x6c53660ccac1632d5a818f382dddb9692a94525d22c2fe56215dd43e351c085482910732021-06-14 13:32:115 days 14 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.96502627402128079 BNB
0x396ee73ce91373aa03a788867afc247e3dd10e3d612e015ec4c06d1f5f3fe2e182897022021-06-14 12:22:205 days 16 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.005763639203330609 BNB
0x396ee73ce91373aa03a788867afc247e3dd10e3d612e015ec4c06d1f5f3fe2e182897022021-06-14 12:22:205 days 16 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v21.022239667578494976 BNB
0x396ee73ce91373aa03a788867afc247e3dd10e3d612e015ec4c06d1f5f3fe2e182897022021-06-14 12:22:205 days 16 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e981.022239667578494976 BNB
0xf4ede82455158ee9a4589584d0e970ba98620be9c34a7ae5236e3e7afdc7f46e82888572021-06-14 11:40:055 days 16 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.003278250073779189 BNB
0xf4ede82455158ee9a4589584d0e970ba98620be9c34a7ae5236e3e7afdc7f46e82888572021-06-14 11:40:055 days 16 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v20.735311968821601793 BNB
0xf4ede82455158ee9a4589584d0e970ba98620be9c34a7ae5236e3e7afdc7f46e82888572021-06-14 11:40:055 days 16 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.735311968821601793 BNB
0xa08f7fb55ec1038da892b375a26418a5c060b0e9cc67706d9d70ec01a1823eec82888522021-06-14 11:39:505 days 16 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v20.734672867070969356 BNB
0xa08f7fb55ec1038da892b375a26418a5c060b0e9cc67706d9d70ec01a1823eec82888522021-06-14 11:39:505 days 16 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.734672867070969356 BNB
0xa60bfc68843e3a769409c1c0b6de00b5f39092af7eb8deb2aa30f950a557339082886662021-06-14 11:30:325 days 16 hrs ago PancakeSwap: Router v2 0xc18109a204bf68a73604685959f3d9b630f35e980.006529470224316181 BNB
0xa60bfc68843e3a769409c1c0b6de00b5f39092af7eb8deb2aa30f950a557339082886662021-06-14 11:30:325 days 16 hrs ago 0xc18109a204bf68a73604685959f3d9b630f35e98 PancakeSwap: Router v21.084588519502009823 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ANUS

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-05-21
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

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 tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (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");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = 0xE69Ac38Cd6DA0EA9a540B47399C430131216Ced7;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual 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;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ANUS 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 _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    address private _developmentWalletAddress = 0xAc9A286eb8429998F3AdDB0562E11Ad7e9661811;
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 10000000000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private _name = "Uranus Token";
    string private _symbol = "ANUS";
    uint8 private _decimals = 18;
    uint256 public _taxFee = 200;
    uint256 private _previousTaxFee = _taxFee;
    uint256 public _developmentFee = 40;
    uint256 private _previousDevelopmentFee = _developmentFee;
    uint256 public _liquidityFee = 40;
    uint256 private _previousLiquidityFee = _liquidityFee;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    uint256 public _maxTxAmount = 10000000000 * 10**18;
    uint256 private numTokensSellToAddToLiquidity = 10000000 * 10**18;
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    constructor () {
        _rOwned[owner()] = _rTotal;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        emit Transfer(address(0), owner(), _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 isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    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 excludeFromReward(address account) public onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }
    function includeInReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already included");
        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 _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
    (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tDevelopment) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);        
        _takeLiquidity(tLiquidity);
        _takeDevelopment(tDevelopment);
        _reflectFee(rFee, tFee);
    emit Transfer(sender, recipient, tTransferAmount);
    }
    function excludeFromFee(address account) public onlyOwner {
    _isExcludedFromFee[account] = true;
    }
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    function setTaxFeePercent(uint256 taxFee) external onlyOwner() {
        _taxFee = taxFee;
    }
    function setDevelopmentFeePercent(uint256 developmentFee) external onlyOwner() {
        _developmentFee = developmentFee;
    }
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner() {
        _liquidityFee = liquidityFee;
    }
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(
            10**3
        );
    }
    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }
    receive() external payable {}
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tDevelopment) = _getTValues(tAmount);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tDevelopment, _getRate());
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity, tDevelopment);
    }
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) {
        uint256 tFee = calculateTaxFee(tAmount);
        uint256 tLiquidity = calculateLiquidityFee(tAmount);
        uint256 tDevelopment = calculateDevelopmentFee(tAmount);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tLiquidity).sub(tDevelopment);
        return (tTransferAmount, tFee, tLiquidity, tDevelopment);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 tDevelopment, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        uint256 rDevelopment = tDevelopment.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rLiquidity).sub(rDevelopment);
        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 _takeLiquidity(uint256 tLiquidity) private {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);
        if(_isExcluded[address(this)])
            _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity);
    }
    function _takeDevelopment(uint256 tDevelopment) private {
        uint256 currentRate =  _getRate();
        uint256 rDevelopment = tDevelopment.mul(currentRate);
        _rOwned[_developmentWalletAddress] = _rOwned[_developmentWalletAddress].add(rDevelopment);
        if(_isExcluded[_developmentWalletAddress])
            _tOwned[_developmentWalletAddress] = _tOwned[_developmentWalletAddress].add(tDevelopment);
    }
    function calculateTaxFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_taxFee).div(
            10**3
        );
    }
    function calculateDevelopmentFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_developmentFee).div(
            10**3
        );
    }
    function calculateLiquidityFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(_liquidityFee).div(
            10**3
        );
    }
    function removeAllFee() private {
        if(_taxFee == 0 && _liquidityFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousDevelopmentFee = _developmentFee;
        _previousLiquidityFee = _liquidityFee;
        _taxFee = 0;
        _developmentFee = 0;
        _liquidityFee = 0;
    }
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _developmentFee = _previousDevelopmentFee;
        _liquidityFee = _previousLiquidityFee;
    }
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    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 from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(from != owner() && to != owner())
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        uint256 contractTokenBalance = balanceOf(address(this));
        if(contractTokenBalance >= _maxTxAmount)
        {
            contractTokenBalance = _maxTxAmount;
        }
        bool overMinTokenBalance = contractTokenBalance >= numTokensSellToAddToLiquidity;
        if (
            overMinTokenBalance &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled
        ) {
            contractTokenBalance = numTokensSellToAddToLiquidity;
            swapAndLiquify(contractTokenBalance);
        }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        _tokenTransfer(from,to,amount,takeFee);
    }
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);
        uint256 initialBalance = address(this).balance;
        swapTokensForEth(half);
        uint256 newBalance = address(this).balance.sub(initialBalance);
        addLiquidity(otherHalf, newBalance);
        emit SwapAndLiquify(half, newBalance, otherHalf);
    }
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        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);
        }
        if(!takeFee)
            restoreAllFee();
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tDevelopment) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeLiquidity(tLiquidity);
        _takeDevelopment(tDevelopment);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tDevelopment) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _takeLiquidity(tLiquidity);
        _takeDevelopment(tDevelopment);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tDevelopment) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takeLiquidity(tLiquidity);
        _takeDevelopment(tDevelopment);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
}

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":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_developmentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","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":[{"internalType":"uint256","name":"developmentFee","type":"uint256"}],"name":"setDevelopmentFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600780546001600160a01b03191673ac9a286eb8429998f3addb0562e11ad7e96618111790556b204fce5e3e2502611000000060088190556200004a9060001962000564565b620000589060001962000503565b60095560408051808201909152600c8082526b2ab930b73ab9902a37b5b2b760a11b60209092019182526200009091600b916200042d565b5060408051808201909152600480825263414e555360e01b6020909201918252620000be91600c916200042d565b50600d805460ff1916601290811790915560c8600e819055600f55602860108190556011819055908190556013556014805461ff0019166101001790556b204fce5e3e250261100000006015556a084595161401484a0000006016553480156200012757600080fd5b50600080546001600160a01b03191673e69ac38cd6da0ea9a540b47399c430131216ced790811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360095460016000620001956000546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060007310ed43c718714eb63d5aa57b78b54704e256024e9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020c57600080fd5b505afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002479190620004d3565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029057600080fd5b505afa158015620002a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cb9190620004d3565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200031457600080fd5b505af115801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f9190620004d3565b6001600160601b0319606091821b811660a0529082901b16608052600160046000620003836000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526004909252902080549091166001179055620003d66000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200041e91815260200190565b60405180910390a35062000585565b8280546200043b9062000527565b90600052602060002090601f0160209004810192826200045f5760008555620004aa565b82601f106200047a57805160ff1916838001178555620004aa565b82800160010185558215620004aa579182015b82811115620004aa5782518255916020019190600101906200048d565b50620004b8929150620004bc565b5090565b5b80821115620004b85760008155600101620004bd565b600060208284031215620004e5578081fd5b81516001600160a01b0381168114620004fc578182fd5b9392505050565b6000828210156200052257634e487b7160e01b81526011600452602481fd5b500390565b600181811c908216806200053c57607f821691505b602082108114156200055e57634e487b7160e01b600052602260045260246000fd5b50919050565b6000826200058057634e487b7160e01b81526012600452602481fd5b500690565b60805160601c60a05160601c6126bc620005db6000396000818161046601526114d30152600081816102cd01528181611b5e01528181611c3401528181611c7001528181611ce20152611d0901526126bc6000f3fe6080604052600436106102135760003560e01c806352390c021161011857806395d89b41116100a0578063d14751851161006f578063d14751851461064d578063d543dbeb14610663578063dd62ed3e14610683578063ea2f0b37146106c9578063f2fde38b146106e957600080fd5b806395d89b41146105d8578063a457c2d7146105ed578063a9059cbb1461060d578063c49b9a801461062d57600080fd5b8063715018a6116100e7578063715018a6146105365780637d1db4a51461054b57806388f82020146105615780638da5cb5b1461059a5780638ee88c53146105b857600080fd5b806352390c02146104a75780635342acb4146104c75780636bc87c3a1461050057806370a082311461051657600080fd5b80633685d4191161019b578063437823ec1161016a578063437823ec146103f45780634549b039146104145780634680ff351461043457806349bd5a5e146104545780634a74bb021461048857600080fd5b80633685d4191461037e578063395093511461039e5780633b124fe7146103be5780633bd5d173146103d457600080fd5b80631694505e116101e25780631694505e146102bb57806318160ddd1461030757806323b872dd1461031c5780632d8381191461033c578063313ce5671461035c57600080fd5b8063061c82d01461021f57806306fdde0314610241578063095ea7b31461026c57806313114a9d1461029c57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a3660046123df565b610709565b005b34801561024d57600080fd5b50610256610741565b604051610263919061244f565b60405180910390f35b34801561027857600080fd5b5061028c61028736600461239a565b6107d3565b6040519015158152602001610263565b3480156102a857600080fd5b50600a545b604051908152602001610263565b3480156102c757600080fd5b506102ef7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610263565b34801561031357600080fd5b506008546102ad565b34801561032857600080fd5b5061028c61033736600461235a565b6107ea565b34801561034857600080fd5b506102ad6103573660046123df565b610853565b34801561036857600080fd5b50600d5460405160ff9091168152602001610263565b34801561038a57600080fd5b5061023f6103993660046122ea565b6108d7565b3480156103aa57600080fd5b5061028c6103b936600461239a565b610ac6565b3480156103ca57600080fd5b506102ad600e5481565b3480156103e057600080fd5b5061023f6103ef3660046123df565b610afc565b34801561040057600080fd5b5061023f61040f3660046122ea565b610be8565b34801561042057600080fd5b506102ad61042f3660046123f7565b610c36565b34801561044057600080fd5b5061023f61044f3660046123df565b610cc5565b34801561046057600080fd5b506102ef7f000000000000000000000000000000000000000000000000000000000000000081565b34801561049457600080fd5b5060145461028c90610100900460ff1681565b3480156104b357600080fd5b5061023f6104c23660046122ea565b610cf4565b3480156104d357600080fd5b5061028c6104e23660046122ea565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561050c57600080fd5b506102ad60125481565b34801561052257600080fd5b506102ad6105313660046122ea565b610e47565b34801561054257600080fd5b5061023f610ea6565b34801561055757600080fd5b506102ad60155481565b34801561056d57600080fd5b5061028c61057c3660046122ea565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105a657600080fd5b506000546001600160a01b03166102ef565b3480156105c457600080fd5b5061023f6105d33660046123df565b610f1a565b3480156105e457600080fd5b50610256610f49565b3480156105f957600080fd5b5061028c61060836600461239a565b610f58565b34801561061957600080fd5b5061028c61062836600461239a565b610fa7565b34801561063957600080fd5b5061023f6106483660046123c5565b610fb4565b34801561065957600080fd5b506102ad60105481565b34801561066f57600080fd5b5061023f61067e3660046123df565b611032565b34801561068f57600080fd5b506102ad61069e366004612322565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156106d557600080fd5b5061023f6106e43660046122ea565b611083565b3480156106f557600080fd5b5061023f6107043660046122ea565b6110ce565b6000546001600160a01b0316331461073c5760405162461bcd60e51b8152600401610733906124a2565b60405180910390fd5b600e55565b6060600b8054610750906125b5565b80601f016020809104026020016040519081016040528092919081815260200182805461077c906125b5565b80156107c95780601f1061079e576101008083540402835291602001916107c9565b820191906000526020600020905b8154815290600101906020018083116107ac57829003601f168201915b5050505050905090565b60006107e03384846111b8565b5060015b92915050565b60006107f78484846112dc565b61084984336108448560405180606001604052806028815260200161263a602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061158d565b6111b8565b5060019392505050565b60006009548211156108ba5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610733565b60006108c46115b9565b90506108d083826115dc565b9392505050565b6000546001600160a01b031633146109015760405162461bcd60e51b8152600401610733906124a2565b6001600160a01b03811660009081526005602052604090205460ff166109695760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c7564656400000000006044820152606401610733565b60005b600654811015610ac257816001600160a01b0316600682815481106109a157634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610ab057600680546109cc9060019061259e565b815481106109ea57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600680546001600160a01b039092169183908110610a2457634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556006805480610a8a57634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610aba816125f0565b91505061096c565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107e091859061084490866115e8565b3360008181526005602052604090205460ff1615610b715760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610733565b6000610b7c836115f4565b5050506001600160a01b038616600090815260016020526040902054939450610baa9392508491505061164f565b6001600160a01b038316600090815260016020526040902055600954610bd0908261164f565b600955600a54610be090846115e8565b600a55505050565b6000546001600160a01b03163314610c125760405162461bcd60e51b8152600401610733906124a2565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600854831115610c8a5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610733565b81610caa576000610c9a846115f4565b509496506107e495505050505050565b6000610cb5846115f4565b509396506107e495505050505050565b6000546001600160a01b03163314610cef5760405162461bcd60e51b8152600401610733906124a2565b601055565b6000546001600160a01b03163314610d1e5760405162461bcd60e51b8152600401610733906124a2565b6001600160a01b03811660009081526005602052604090205460ff1615610d875760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610733565b6001600160a01b03811660009081526001602052604090205415610de1576001600160a01b038116600090815260016020526040902054610dc790610853565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610e8457506001600160a01b031660009081526002602052604090205490565b6001600160a01b0382166000908152600160205260409020546107e490610853565b6000546001600160a01b03163314610ed05760405162461bcd60e51b8152600401610733906124a2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610f445760405162461bcd60e51b8152600401610733906124a2565b601255565b6060600c8054610750906125b5565b60006107e0338461084485604051806060016040528060258152602001612662602591393360009081526003602090815260408083206001600160a01b038d168452909152902054919061158d565b60006107e03384846112dc565b6000546001600160a01b03163314610fde5760405162461bcd60e51b8152600401610733906124a2565b601480548215156101000261ff00199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061102790831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461105c5760405162461bcd60e51b8152600401610733906124a2565b61107d6103e86110778360085461165b90919063ffffffff16565b906115dc565b60155550565b6000546001600160a01b031633146110ad5760405162461bcd60e51b8152600401610733906124a2565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146110f85760405162461bcd60e51b8152600401610733906124a2565b6001600160a01b03811661115d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610733565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661121a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610733565b6001600160a01b03821661127b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610733565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166113405760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610733565b6001600160a01b0382166113a25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610733565b600081116114045760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610733565b6000546001600160a01b0384811691161480159061143057506000546001600160a01b03838116911614155b15611498576015548111156114985760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610733565b60006114a330610e47565b905060155481106114b357506015545b601654811080159081906114ca575060145460ff16155b801561150857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b801561151b5750601454610100900460ff165b1561152e57601654915061152e82611667565b6001600160a01b03851660009081526004602052604090205460019060ff168061157057506001600160a01b03851660009081526004602052604090205460ff165b15611579575060005b61158586868684611705565b505050505050565b600081848411156115b15760405162461bcd60e51b8152600401610733919061244f565b505050900390565b60008060006115c6611888565b90925090506115d582826115dc565b9250505090565b60006108d0828461255f565b60006108d08284612547565b600080600080600080600080600080600061160e8c611a42565b9350935093509350600080600061162f8f87878761162a6115b9565b611a97565b919f509d509b509599509397509195509350505050919395979092949650565b60006108d0828461259e565b60006108d0828461257f565b6014805460ff1916600117905560006116818260026115dc565b9050600061168f838361164f565b90504761169b83611af9565b60006116a7478361164f565b90506116b38382611cdc565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506014805460ff19169055505050565b8061171257611712611df1565b6001600160a01b03841660009081526005602052604090205460ff16801561175357506001600160a01b03831660009081526005602052604090205460ff16155b1561176857611763848484611e2a565b611866565b6001600160a01b03841660009081526005602052604090205460ff161580156117a957506001600160a01b03831660009081526005602052604090205460ff165b156117b957611763848484611f70565b6001600160a01b03841660009081526005602052604090205460ff161580156117fb57506001600160a01b03831660009081526005602052604090205460ff16155b1561180b5761176384848461202f565b6001600160a01b03841660009081526005602052604090205460ff16801561184b57506001600160a01b03831660009081526005602052604090205460ff165b1561185b57611763848484612089565b61186684848461202f565b8061188257611882600f54600e55601154601055601354601255565b50505050565b6009546008546000918291825b600654811015611a12578260016000600684815481106118c557634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061193e575081600260006006848154811061191757634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561195457600954600854945094505050509091565b6119a8600160006006848154811061197c57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054849061164f565b92506119fe60026000600684815481106119d257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054839061164f565b915080611a0a816125f0565b915050611895565b50600854600954611a22916115dc565b821015611a39576009546008549350935050509091565b90939092509050565b6000806000806000611a5386612112565b90506000611a608761212f565b90506000611a6d8861214c565b90506000611a8782611a8185818d8961164f565b9061164f565b9993985091965094509092505050565b6000808080611aa6898661165b565b90506000611ab4898761165b565b90506000611ac2898861165b565b90506000611ad0898961165b565b90506000611ae482611a818581898961164f565b949d949c50929a509298505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b3c57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611bb557600080fd5b505afa158015611bc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bed9190612306565b81600181518110611c0e57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050611c59307f0000000000000000000000000000000000000000000000000000000000000000846111b8565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611cae9085906000908690309042906004016124d7565b600060405180830381600087803b158015611cc857600080fd5b505af1158015611585573d6000803e3d6000fd5b611d07307f0000000000000000000000000000000000000000000000000000000000000000846111b8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d719823085600080611d4e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611db157600080fd5b505af1158015611dc5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611dea9190612422565b5050505050565b600e54158015611e015750601254155b15611e0857565b600e8054600f5560108054601155601280546013556000928390559082905555565b6000806000806000806000611e3e886115f4565b9650965096509650965096509650611e8488600260008d6001600160a01b03166001600160a01b031681526020019081526020016000205461164f90919063ffffffff16565b6001600160a01b038b16600090815260026020908152604080832093909355600190522054611eb3908861164f565b6001600160a01b03808c1660009081526001602052604080822093909355908b1681522054611ee290876115e8565b6001600160a01b038a16600090815260016020526040902055611f0482612169565b611f0d816121f2565b611f1785846122b1565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611f5c91815260200190565b60405180910390a350505050505050505050565b6000806000806000806000611f84886115f4565b9650965096509650965096509650611fca87600160008d6001600160a01b03166001600160a01b031681526020019081526020016000205461164f90919063ffffffff16565b6001600160a01b03808c16600090815260016020908152604080832094909455918c1681526002909152205461200090856115e8565b6001600160a01b038a16600090815260026020908152604080832093909355600190522054611ee290876115e8565b6000806000806000806000612043886115f4565b9650965096509650965096509650611eb387600160008d6001600160a01b03166001600160a01b031681526020019081526020016000205461164f90919063ffffffff16565b600080600080600080600061209d886115f4565b96509650965096509650965096506120e388600260008d6001600160a01b03166001600160a01b031681526020019081526020016000205461164f90919063ffffffff16565b6001600160a01b038b16600090815260026020908152604080832093909355600190522054611fca908861164f565b60006107e46103e8611077600e548561165b90919063ffffffff16565b60006107e46103e86110776012548561165b90919063ffffffff16565b60006107e46103e86110776010548561165b90919063ffffffff16565b60006121736115b9565b90506000612181838361165b565b3060009081526001602052604090205490915061219e90826115e8565b3060009081526001602090815260408083209390935560059052205460ff16156121ed57306000908152600260205260409020546121dc90846115e8565b306000908152600260205260409020555b505050565b60006121fc6115b9565b9050600061220a838361165b565b6007546001600160a01b031660009081526001602052604090205490915061223290826115e8565b600780546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff16156121ed576007546001600160a01b031660009081526002602052604090205461229190846115e8565b6007546001600160a01b0316600090815260026020526040902055505050565b6009546122be908361164f565b600955600a546122ce90826115e8565b600a555050565b803580151581146122e557600080fd5b919050565b6000602082840312156122fb578081fd5b81356108d081612621565b600060208284031215612317578081fd5b81516108d081612621565b60008060408385031215612334578081fd5b823561233f81612621565b9150602083013561234f81612621565b809150509250929050565b60008060006060848603121561236e578081fd5b833561237981612621565b9250602084013561238981612621565b929592945050506040919091013590565b600080604083850312156123ac578182fd5b82356123b781612621565b946020939093013593505050565b6000602082840312156123d6578081fd5b6108d0826122d5565b6000602082840312156123f0578081fd5b5035919050565b60008060408385031215612409578182fd5b82359150612419602084016122d5565b90509250929050565b600080600060608486031215612436578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561247b5785810183015185820160400152820161245f565b8181111561248c5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156125265784516001600160a01b031683529383019391830191600101612501565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561255a5761255a61260b565b500190565b60008261257a57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156125995761259961260b565b500290565b6000828210156125b0576125b061260b565b500390565b600181811c908216806125c957607f821691505b602082108114156125ea57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126045761260461260b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461263657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122058718df59fb9b5f0df0f016b85384c7ac7b83657c51e5c4cabf9dedb642f473d64736f6c63430008040033

Deployed ByteCode Sourcemap

15429:17873:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22691:98;;;;;;;;;;-1:-1:-1;22691:98:0;;;;;:::i;:::-;;:::i;:::-;;17746:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18644:161;;;;;;;;;;-1:-1:-1;18644:161:0;;;;;:::i;:::-;;:::i;:::-;;;3870:14:1;;3863:22;3845:41;;3833:2;3818:18;18644:161:0;3800:92:1;19755:87:0;;;;;;;;;;-1:-1:-1;19824:10:0;;19755:87;;;9987:25:1;;;9975:2;9960:18;19755:87:0;9942:76:1;16558:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3049:32:1;;;3031:51;;3019:2;3004:18;16558:51:0;2986:102:1;18017:95:0;;;;;;;;;;-1:-1:-1;18097:7:0;;18017:95;;18811:313;;;;;;;;;;-1:-1:-1;18811:313:0;;;;;:::i;:::-;;:::i;20676:253::-;;;;;;;;;;-1:-1:-1;20676:253:0;;;;;:::i;:::-;;:::i;17928:83::-;;;;;;;;;;-1:-1:-1;17994:9:0;;17928:83;;17994:9;;;;11477:36:1;;11465:2;11450:18;17928:83:0;11432:87:1;21274:479:0;;;;;;;;;;-1:-1:-1;21274:479:0;;;;;:::i;:::-;;:::i;19130:218::-;;;;;;;;;;-1:-1:-1;19130:218:0;;;;;:::i;:::-;;:::i;16267:28::-;;;;;;;;;;;;;;;;19848:378;;;;;;;;;;-1:-1:-1;19848:378:0;;;;;:::i;:::-;;:::i;22462:107::-;;;;;;;;;;-1:-1:-1;22462:107:0;;;;;:::i;:::-;;:::i;20232:438::-;;;;;;;;;;-1:-1:-1;20232:438:0;;;;;:::i;:::-;;:::i;22795:130::-;;;;;;;;;;-1:-1:-1;22795:130:0;;;;;:::i;:::-;;:::i;16616:38::-;;;;;;;;;;;;;;;16689:40;;;;;;;;;;-1:-1:-1;16689:40:0;;;;;;;;;;;20935:333;;;;;;;;;;-1:-1:-1;20935:333:0;;;;;:::i;:::-;;:::i;27596:123::-;;;;;;;;;;-1:-1:-1;27596:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;27684:27:0;27660:4;27684:27;;;:18;:27;;;;;;;;;27596:123;16456:33;;;;;;;;;;;;;;;;18118:198;;;;;;;;;;-1:-1:-1;18118:198:0;;;;;:::i;:::-;;:::i;7091:148::-;;;;;;;;;;;;;:::i;16736:50::-;;;;;;;;;;;;;;;;19629:120;;;;;;;;;;-1:-1:-1;19629:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;19721:20:0;19697:4;19721:20;;;:11;:20;;;;;;;;;19629:120;6872:87;;;;;;;;;;-1:-1:-1;6918:7:0;6945:6;-1:-1:-1;;;;;6945:6:0;6872:87;;22931:122;;;;;;;;;;-1:-1:-1;22931:122:0;;;;;:::i;:::-;;:::i;17835:87::-;;;;;;;;;;;;;:::i;19354:269::-;;;;;;;;;;-1:-1:-1;19354:269:0;;;;;:::i;:::-;;:::i;18322:167::-;;;;;;;;;;-1:-1:-1;18322:167:0;;;;;:::i;:::-;;:::i;23227:171::-;;;;;;;;;;-1:-1:-1;23227:171:0;;;;;:::i;:::-;;:::i;16350:35::-;;;;;;;;;;;;;;;;23059:162;;;;;;;;;;-1:-1:-1;23059:162:0;;;;;:::i;:::-;;:::i;18495:143::-;;;;;;;;;;-1:-1:-1;18495:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18603:18:0;;;18576:7;18603:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18495:143;22575:110;;;;;;;;;;-1:-1:-1;22575:110:0;;;;;:::i;:::-;;:::i;7245:244::-;;;;;;;;;;-1:-1:-1;7245:244:0;;;;;:::i;:::-;;:::i;22691:98::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;;;;;;;;;22765:7:::1;:16:::0;22691:98::o;17746:83::-;17783:13;17816:5;17809:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17746:83;:::o;18644:161::-;18719:4;18736:39;3137:10;18759:7;18768:6;18736:8;:39::i;:::-;-1:-1:-1;18793:4:0;18644:161;;;;;:::o;18811:313::-;18909:4;18926:36;18936:6;18944:9;18955:6;18926:9;:36::i;:::-;18973:121;18982:6;3137:10;19004:89;19042:6;19004:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19004:19:0;;;;;;:11;:19;;;;;;;;3137:10;19004:33;;;;;;;;;;:37;:89::i;:::-;18973:8;:121::i;:::-;-1:-1:-1;19112:4:0;18811:313;;;;;:::o;20676:253::-;20742:7;20781;;20770;:18;;20762:73;;;;-1:-1:-1;;;20762:73:0;;5346:2:1;20762:73:0;;;5328:21:1;5385:2;5365:18;;;5358:30;5424:34;5404:18;;;5397:62;-1:-1:-1;;;5475:18:1;;;5468:40;5525:19;;20762:73:0;5318:232:1;20762:73:0;20846:19;20869:10;:8;:10::i;:::-;20846:33;-1:-1:-1;20897:24:0;:7;20846:33;20897:11;:24::i;:::-;20890:31;20676:253;-1:-1:-1;;;20676:253:0:o;21274:479::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21356:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;21348:60;;;::::0;-1:-1:-1;;;21348:60:0;;6923:2:1;21348:60:0::1;::::0;::::1;6905:21:1::0;6962:2;6942:18;;;6935:30;7001:29;6981:18;;;6974:57;7048:18;;21348:60:0::1;6895:177:1::0;21348:60:0::1;21424:9;21419:327;21443:9;:16:::0;21439:20;::::1;21419:327;;;21501:7;-1:-1:-1::0;;;;;21485:23:0::1;:9;21495:1;21485:12;;;;;;-1:-1:-1::0;;;21485:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;21485:12:0::1;:23;21481:254;;;21544:9;21554:16:::0;;:20:::1;::::0;21573:1:::1;::::0;21554:20:::1;:::i;:::-;21544:31;;;;;;-1:-1:-1::0;;;21544:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;21529:9:::1;:12:::0;;-1:-1:-1;;;;;21544:31:0;;::::1;::::0;21539:1;;21529:12;::::1;;;-1:-1:-1::0;;;21529:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;21529:46:0::1;-1:-1:-1::0;;;;;21529:46:0;;::::1;;::::0;;21594:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;21633:11:::1;:20:::0;;;;:28;;-1:-1:-1;;21633:28:0::1;::::0;;21680:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;21680:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;21680:15:0;;;;;-1:-1:-1;;;;;;21680:15:0::1;::::0;;;;;21419:327:::1;21274:479:::0;:::o;21481:254::-:1;21461:3:::0;::::1;::::0;::::1;:::i;:::-;;;;21419:327;;;;21274:479:::0;:::o;19130:218::-;3137:10;19218:4;19267:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19267:34:0;;;;;;;;;;19218:4;;19235:83;;19258:7;;19267:50;;19306:10;19267:38;:50::i;19848:378::-;3137:10;19900:14;19949:19;;;:11;:19;;;;;;;;19948:20;19940:77;;;;-1:-1:-1;;;19940:77:0;;9630:2:1;19940:77:0;;;9612:21:1;9669:2;9649:18;;;9642:30;9708:34;9688:18;;;9681:62;-1:-1:-1;;;9759:18:1;;;9752:42;9811:19;;19940:77:0;9602:234:1;19940:77:0;20029:15;20054:19;20065:7;20054:10;:19::i;:::-;-1:-1:-1;;;;;;;;20102:15:0;;;;;;:7;:15;;;;;;20028:45;;-1:-1:-1;20102:28:0;;:15;-1:-1:-1;20028:45:0;;-1:-1:-1;;20102:19:0;:28::i;:::-;-1:-1:-1;;;;;20084:15:0;;;;;;:7;:15;;;;;:46;20151:7;;:20;;20163:7;20151:11;:20::i;:::-;20141:7;:30;20195:10;;:23;;20210:7;20195:14;:23::i;:::-;20182:10;:36;-1:-1:-1;;;19848:378:0:o;22462:107::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22527:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;22527:34:0::1;22557:4;22527:34;::::0;;22462:107::o;20232:438::-;20322:7;20361;;20350;:18;;20342:62;;;;-1:-1:-1;;;20342:62:0;;7279:2:1;20342:62:0;;;7261:21:1;7318:2;7298:18;;;7291:30;7357:33;7337:18;;;7330:61;7408:18;;20342:62:0;7251:181:1;20342:62:0;20420:17;20415:248;;20455:15;20480:19;20491:7;20480:10;:19::i;:::-;-1:-1:-1;20454:45:0;;-1:-1:-1;20514:14:0;;-1:-1:-1;;;;;;20514:14:0;20415:248;20563:23;20595:19;20606:7;20595:10;:19::i;:::-;-1:-1:-1;20561:53:0;;-1:-1:-1;20629:22:0;;-1:-1:-1;;;;;;20629:22:0;22795:130;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;22885:15:::1;:32:::0;22795:130::o;20935:333::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21018:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;21017:21;21009:61;;;::::0;-1:-1:-1;;;21009:61:0;;6567:2:1;21009:61:0::1;::::0;::::1;6549:21:1::0;6606:2;6586:18;;;6579:30;6645:29;6625:18;;;6618:57;6692:18;;21009:61:0::1;6539:177:1::0;21009:61:0::1;-1:-1:-1::0;;;;;21084:16:0;::::1;21103:1;21084:16:::0;;;:7:::1;:16;::::0;;;;;:20;21081:108:::1;;-1:-1:-1::0;;;;;21160:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;21140:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;21121:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;21081:108:::1;-1:-1:-1::0;;;;;21199:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;21199:27:0::1;21222:4;21199:27:::0;;::::1;::::0;;;21237:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;21237:23:0::1;::::0;;::::1;::::0;;20935:333::o;18118:198::-;-1:-1:-1;;;;;18208:20:0;;18184:7;18208:20;;;:11;:20;;;;;;;;18204:49;;;-1:-1:-1;;;;;;18237:16:0;;;;;:7;:16;;;;;;;18118:198::o;18204:49::-;-1:-1:-1;;;;;18291:16:0;;;;;;:7;:16;;;;;;18271:37;;:19;:37::i;7091:148::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;7198:1:::1;7182:6:::0;;7161:40:::1;::::0;-1:-1:-1;;;;;7182:6:0;;::::1;::::0;7161:40:::1;::::0;7198:1;;7161:40:::1;7229:1;7212:19:::0;;-1:-1:-1;;;;;;7212:19:0::1;::::0;;7091:148::o;22931:122::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;23017:13:::1;:28:::0;22931:122::o;17835:87::-;17874:13;17907:7;17900:14;;;;;:::i;19354:269::-;19447:4;19464:129;3137:10;19487:7;19496:96;19535:15;19496:96;;;;;;;;;;;;;;;;;3137:10;19496:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19496:34:0;;;;;;;;;;;;:38;:96::i;18322:167::-;18400:4;18417:42;3137:10;18441:9;18452:6;18417:9;:42::i;23227:171::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;23304:21:::1;:32:::0;;;::::1;;;;-1:-1:-1::0;;23304:32:0;;::::1;;::::0;;23352:38:::1;::::0;::::1;::::0;::::1;::::0;23328:8;3870:14:1;3863:22;3845:41;;3833:2;3818:18;;3800:92;23352:38:0::1;;;;;;;;23227:171:::0;:::o;23059:162::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;23153:60:::1;23197:5;23153:25;23165:12;23153:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:60::i;:::-;23138:12;:75:::0;-1:-1:-1;23059:162:0:o;22575:110::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22642:27:0::1;22672:5;22642:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;22642:35:0::1;::::0;;22575:110::o;7245:244::-;6918:7;6945:6;-1:-1:-1;;;;;6945:6:0;3137:10;7005:23;6997:68;;;;-1:-1:-1;;;6997:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7334:22:0;::::1;7326:73;;;::::0;-1:-1:-1;;;7326:73:0;;5757:2:1;7326:73:0::1;::::0;::::1;5739:21:1::0;5796:2;5776:18;;;5769:30;5835:34;5815:18;;;5808:62;-1:-1:-1;;;5886:18:1;;;5879:36;5932:19;;7326:73:0::1;5729:228:1::0;7326:73:0::1;7436:6;::::0;;7415:38:::1;::::0;-1:-1:-1;;;;;7415:38:0;;::::1;::::0;7436:6;::::1;::::0;7415:38:::1;::::0;::::1;7464:6;:17:::0;;-1:-1:-1;;;;;;7464:17:0::1;-1:-1:-1::0;;;;;7464:17:0;;;::::1;::::0;;;::::1;::::0;;7245:244::o;27725:335::-;-1:-1:-1;;;;;27818:19:0;;27810:68;;;;-1:-1:-1;;;27810:68:0;;9225:2:1;27810:68:0;;;9207:21:1;9264:2;9244:18;;;9237:30;9303:34;9283:18;;;9276:62;-1:-1:-1;;;9354:18:1;;;9347:34;9398:19;;27810:68:0;9197:226:1;27810:68:0;-1:-1:-1;;;;;27897:21:0;;27889:68;;;;-1:-1:-1;;;27889:68:0;;6164:2:1;27889:68:0;;;6146:21:1;6203:2;6183:18;;;6176:30;6242:34;6222:18;;;6215:62;-1:-1:-1;;;6293:18:1;;;6286:32;6335:19;;27889:68:0;6136:224:1;27889:68:0;-1:-1:-1;;;;;27968:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;28020:32;;9987:25:1;;;28020:32:0;;9960:18:1;28020:32:0;;;;;;;27725:335;;;:::o;28066:1239::-;-1:-1:-1;;;;;28188:18:0;;28180:68;;;;-1:-1:-1;;;28180:68:0;;8819:2:1;28180:68:0;;;8801:21:1;8858:2;8838:18;;;8831:30;8897:34;8877:18;;;8870:62;-1:-1:-1;;;8948:18:1;;;8941:35;8993:19;;28180:68:0;8791:227:1;28180:68:0;-1:-1:-1;;;;;28267:16:0;;28259:64;;;;-1:-1:-1;;;28259:64:0;;4942:2:1;28259:64:0;;;4924:21:1;4981:2;4961:18;;;4954:30;5020:34;5000:18;;;4993:62;-1:-1:-1;;;5071:18:1;;;5064:33;5114:19;;28259:64:0;4914:225:1;28259:64:0;28351:1;28342:6;:10;28334:64;;;;-1:-1:-1;;;28334:64:0;;8409:2:1;28334:64:0;;;8391:21:1;8448:2;8428:18;;;8421:30;8487:34;8467:18;;;8460:62;-1:-1:-1;;;8538:18:1;;;8531:39;8587:19;;28334:64:0;8381:231:1;28334:64:0;6918:7;6945:6;-1:-1:-1;;;;;28412:15:0;;;6945:6;;28412:15;;;;:32;;-1:-1:-1;6918:7:0;6945:6;-1:-1:-1;;;;;28431:13:0;;;6945:6;;28431:13;;28412:32;28409:125;;;28477:12;;28467:6;:22;;28459:75;;;;-1:-1:-1;;;28459:75:0;;7639:2:1;28459:75:0;;;7621:21:1;7678:2;7658:18;;;7651:30;7717:34;7697:18;;;7690:62;-1:-1:-1;;;7768:18:1;;;7761:38;7816:19;;28459:75:0;7611:230:1;28459:75:0;28545:28;28576:24;28594:4;28576:9;:24::i;:::-;28545:55;;28638:12;;28614:20;:36;28611:112;;-1:-1:-1;28699:12:0;;28611:112;28784:29;;28760:53;;;;;;;28842;;-1:-1:-1;28879:16:0;;;;28878:17;28842:53;:91;;;;;28920:13;-1:-1:-1;;;;;28912:21:0;:4;-1:-1:-1;;;;;28912:21:0;;;28842:91;:129;;;;-1:-1:-1;28950:21:0;;;;;;;28842:129;28824:289;;;29021:29;;28998:52;;29065:36;29080:20;29065:14;:36::i;:::-;-1:-1:-1;;;;;29156:24:0;;29123:12;29156:24;;;:18;:24;;;;;;29138:4;;29156:24;;;:50;;-1:-1:-1;;;;;;29184:22:0;;;;;;:18;:22;;;;;;;;29156:50;29153:96;;;-1:-1:-1;29232:5:0;29153:96;29259:38;29274:4;29279:2;29282:6;29289:7;29259:14;:38::i;:::-;28066:1239;;;;;;:::o;2389:206::-;2475:7;2536:12;2528:6;;;;2520:29;;;;-1:-1:-1;;;2520:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2571:5:0;;;2389:206::o;25057:163::-;25098:7;25119:15;25136;25155:19;:17;:19::i;:::-;25118:56;;-1:-1:-1;25118:56:0;-1:-1:-1;25192:20:0;25118:56;;25192:11;:20::i;:::-;25185:27;;;;25057:163;:::o;2181:98::-;2239:7;2266:5;2270:1;2266;:5;:::i;1869:98::-;1927:7;1954:5;1958:1;1954;:5;:::i;23592:478::-;23651:7;23660;23669;23678;23687;23696;23705;23726:23;23751:12;23765:18;23785:20;23809;23821:7;23809:11;:20::i;:::-;23725:104;;;;;;;;23841:15;23858:23;23883:12;23899:64;23911:7;23920:4;23926:10;23938:12;23952:10;:8;:10::i;:::-;23899:11;:64::i;:::-;23840:123;;-1:-1:-1;23840:123:0;-1:-1:-1;23840:123:0;-1:-1:-1;24014:15:0;;-1:-1:-1;24031:4:0;;-1:-1:-1;24037:10:0;;-1:-1:-1;24049:12:0;-1:-1:-1;;;;23592:478:0;;;;;;;;;:::o;1973:98::-;2031:7;2058:5;2062:1;2058;:5;:::i;2077:98::-;2135:7;2162:5;2166:1;2162;:5;:::i;29311:464::-;17153:16;:23;;-1:-1:-1;;17153:23:0;17172:4;17153:23;;;:16;29411:27:::1;:20:::0;29436:1:::1;29411:24;:27::i;:::-;29396:42:::0;-1:-1:-1;29449:17:0::1;29469:30;:20:::0;29396:42;29469:24:::1;:30::i;:::-;29449:50:::0;-1:-1:-1;29535:21:0::1;29567:22;29584:4:::0;29567:16:::1;:22::i;:::-;29600:18;29621:41;:21;29647:14:::0;29621:25:::1;:41::i;:::-;29600:62;;29673:35;29686:9;29697:10;29673:12;:35::i;:::-;29724:43;::::0;;11213:25:1;;;11269:2;11254:18;;11247:34;;;11297:18;;;11290:34;;;29724:43:0::1;::::0;11201:2:1;11186:18;29724:43:0::1;;;;;;;-1:-1:-1::0;;17199:16:0;:24;;-1:-1:-1;;17199:24:0;;;-1:-1:-1;;;29311:464:0:o;30624:814::-;30735:7;30731:40;;30757:14;:12;:14::i;:::-;-1:-1:-1;;;;;30786:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;30810:22:0;;;;;;:11;:22;;;;;;;;30809:23;30786:46;30782:597;;;30849:48;30871:6;30879:9;30890:6;30849:21;:48::i;:::-;30782:597;;;-1:-1:-1;;;;;30920:19:0;;;;;;:11;:19;;;;;;;;30919:20;:46;;;;-1:-1:-1;;;;;;30943:22:0;;;;;;:11;:22;;;;;;;;30919:46;30915:464;;;30982:46;31002:6;31010:9;31021:6;30982:19;:46::i;30915:464::-;-1:-1:-1;;;;;31051:19:0;;;;;;:11;:19;;;;;;;;31050:20;:47;;;;-1:-1:-1;;;;;;31075:22:0;;;;;;:11;:22;;;;;;;;31074:23;31050:47;31046:333;;;31114:44;31132:6;31140:9;31151:6;31114:17;:44::i;31046:333::-;-1:-1:-1;;;;;31180:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;31203:22:0;;;;;;:11;:22;;;;;;;;31180:45;31176:203;;;31242:48;31264:6;31272:9;31283:6;31242:21;:48::i;31176:203::-;31323:44;31341:6;31349:9;31360:6;31323:17;:44::i;:::-;31393:7;31389:41;;31415:15;27467;;27457:7;:25;27511:23;;27493:15;:41;27561:21;;27545:13;:37;27413:177;31415:15;30624:814;;;;:::o;25226:561::-;25323:7;;25359;;25276;;;;;25383:289;25407:9;:16;25403:20;;25383:289;;;25473:7;25449;:21;25457:9;25467:1;25457:12;;;;;;-1:-1:-1;;;25457:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25457:12:0;25449:21;;;;;;;;;;;;;:31;;:66;;;25508:7;25484;:21;25492:9;25502:1;25492:12;;;;;;-1:-1:-1;;;25492:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25492:12:0;25484:21;;;;;;;;;;;;;:31;25449:66;25445:97;;;25525:7;;25534;;25517:25;;;;;;;25226:561;;:::o;25445:97::-;25567:34;25579:7;:21;25587:9;25597:1;25587:12;;;;;;-1:-1:-1;;;25587:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25587:12:0;25579:21;;;;;;;;;;;;;25567:7;;:11;:34::i;:::-;25557:44;;25626:34;25638:7;:21;25646:9;25656:1;25646:12;;;;;;-1:-1:-1;;;25646:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25646:12:0;25638:21;;;;;;;;;;;;;25626:7;;:11;:34::i;:::-;25616:44;-1:-1:-1;25425:3:0;;;;:::i;:::-;;;;25383:289;;;-1:-1:-1;25708:7:0;;25696;;:20;;:11;:20::i;:::-;25686:7;:30;25682:61;;;25726:7;;25735;;25718:25;;;;;;25226:561;;:::o;25682:61::-;25762:7;;25771;;-1:-1:-1;25226:561:0;-1:-1:-1;25226:561:0:o;24076:437::-;24136:7;24145;24154;24163;24183:12;24198:24;24214:7;24198:15;:24::i;:::-;24183:39;;24233:18;24254:30;24276:7;24254:21;:30::i;:::-;24233:51;;24295:20;24318:32;24342:7;24318:23;:32::i;:::-;24295:55;-1:-1:-1;24361:23:0;24387:51;24295:55;24387:33;24409:10;24387:33;:7;24399:4;24387:11;:17::i;:::-;:21;;:33::i;:51::-;24361:77;24474:4;;-1:-1:-1;24480:10:0;;-1:-1:-1;24480:10:0;-1:-1:-1;24076:437:0;;-1:-1:-1;;;24076:437:0:o;24519:532::-;24656:7;;;;24712:24;:7;24724:11;24712;:24::i;:::-;24694:42;-1:-1:-1;24747:12:0;24762:21;:4;24771:11;24762:8;:21::i;:::-;24747:36;-1:-1:-1;24794:18:0;24815:27;:10;24830:11;24815:14;:27::i;:::-;24794:48;-1:-1:-1;24853:20:0;24876:29;:12;24893:11;24876:16;:29::i;:::-;24853:52;-1:-1:-1;24916:23:0;24942:51;24853:52;24942:33;24964:10;24942:33;:7;24954:4;24942:11;:17::i;:51::-;25012:7;;;;-1:-1:-1;25038:4:0;;-1:-1:-1;24519:532:0;;-1:-1:-1;;;;;;;;;24519:532:0:o;29781:471::-;29871:16;;;29885:1;29871:16;;;;;;;;29847:21;;29871:16;;;;;;;;;;-1:-1:-1;29871:16:0;29847:40;;29916:4;29898;29903:1;29898:7;;;;;;-1:-1:-1;;;29898:7:0;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;29898:23:0;;;-1:-1:-1;;;;;29898:23:0;;;;;29942:15;-1:-1:-1;;;;;29942:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29932:4;29937:1;29932:7;;;;;;-1:-1:-1;;;29932:7:0;;;;;;;;;;;;;;:32;-1:-1:-1;;;;;29932:32:0;;;-1:-1:-1;;;;;29932:32:0;;;;;29975:62;29992:4;30007:15;30025:11;29975:8;:62::i;:::-;30048:196;;-1:-1:-1;;;30048:196:0;;-1:-1:-1;;;;;30048:15:0;:66;;;;:196;;30129:11;;30155:1;;30171:4;;30198;;30218:15;;30048:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30258:360;30339:62;30356:4;30371:15;30389:11;30339:8;:62::i;:::-;30412:15;-1:-1:-1;;;;;30412:31:0;;30451:9;30484:4;30504:11;30530:1;30546;30562:7;6918;6945:6;-1:-1:-1;;;;;6945:6:0;;6872:87;30562:7;30412:198;;;;;;-1:-1:-1;;;;;;30412:198:0;;;-1:-1:-1;;;;;3452:15:1;;;30412:198:0;;;3434:34:1;3484:18;;;3477:34;;;;3527:18;;;3520:34;;;;3570:18;;;3563:34;3634:15;;;3613:19;;;3606:44;30584:15:0;3666:19:1;;;3659:35;3368:19;;30412:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;30258:360;;:::o;27095:312::-;27141:7;;:12;:34;;;;-1:-1:-1;27157:13:0;;:18;27141:34;27138:46;;;27095:312::o;27138:46::-;27212:7;;;27194:15;:25;27256:15;;;27230:23;:41;27306:13;;;27282:21;:37;-1:-1:-1;27330:11:0;;;;27352:19;;;;27382:17;27095:312::o;32670:629::-;32773:15;32790:23;32815:12;32829:23;32854:12;32868:18;32888:20;32912:19;32923:7;32912:10;:19::i;:::-;32772:159;;;;;;;;;;;;;;32960:28;32980:7;32960;:15;32968:6;-1:-1:-1;;;;;32960:15:0;-1:-1:-1;;;;;32960:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;32942:15:0;;;;;;:7;:15;;;;;;;;:46;;;;33017:7;:15;;;;:28;;33037:7;33017:19;:28::i;:::-;-1:-1:-1;;;;;32999:15:0;;;;;;;:7;:15;;;;;;:46;;;;33077:18;;;;;;;:39;;33100:15;33077:22;:39::i;:::-;-1:-1:-1;;;;;33056:18:0;;;;;;:7;:18;;;;;:60;33130:26;33145:10;33130:14;:26::i;:::-;33167:30;33184:12;33167:16;:30::i;:::-;33208:23;33220:4;33226;33208:11;:23::i;:::-;33264:9;-1:-1:-1;;;;;33247:44:0;33256:6;-1:-1:-1;;;;;33247:44:0;;33275:15;33247:44;;;;9987:25:1;;9975:2;9960:18;;9942:76;33247:44:0;;;;;;;;32670:629;;;;;;;;;;:::o;32015:649::-;32116:15;32133:23;32158:12;32172:23;32197:12;32211:18;32231:20;32255:19;32266:7;32255:10;:19::i;:::-;32115:159;;;;;;;;;;;;;;32303:28;32323:7;32303;:15;32311:6;-1:-1:-1;;;;;32303:15:0;-1:-1:-1;;;;;32303:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;32285:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;32363:18;;;;;:7;:18;;;;;:39;;32386:15;32363:22;:39::i;:::-;-1:-1:-1;;;;;32342:18:0;;;;;;:7;:18;;;;;;;;:60;;;;32434:7;:18;;;;:39;;32457:15;32434:22;:39::i;31444:565::-;31543:15;31560:23;31585:12;31599:23;31624:12;31638:18;31658:20;31682:19;31693:7;31682:10;:19::i;:::-;31542:159;;;;;;;;;;;;;;31730:28;31750:7;31730;:15;31738:6;-1:-1:-1;;;;;31730:15:0;-1:-1:-1;;;;;31730:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;21759:697::-;21858:15;21875:23;21900:12;21914:23;21939:12;21953:18;21973:20;21997:19;22008:7;21997:10;:19::i;:::-;21857:159;;;;;;;;;;;;;;22045:28;22065:7;22045;:15;22053:6;-1:-1:-1;;;;;22045:15:0;-1:-1:-1;;;;;22045:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;22027:15:0;;;;;;:7;:15;;;;;;;;:46;;;;22102:7;:15;;;;:28;;22122:7;22102:19;:28::i;26587:154::-;26651:7;26678:55;26717:5;26678:20;26690:7;;26678;:11;;:20;;;;:::i;26923:166::-;26993:7;27020:61;27065:5;27020:26;27032:13;;27020:7;:11;;:26;;;;:::i;26747:170::-;26819:7;26846:63;26893:5;26846:28;26858:15;;26846:7;:11;;:28;;;;:::i;25793:355::-;25856:19;25879:10;:8;:10::i;:::-;25856:33;-1:-1:-1;25900:18:0;25921:27;:10;25856:33;25921:14;:27::i;:::-;26000:4;25984:22;;;;:7;:22;;;;;;25900:48;;-1:-1:-1;25984:38:0;;25900:48;25984:26;:38::i;:::-;25975:4;25959:22;;;;:7;:22;;;;;;;;:63;;;;26036:11;:26;;;;;;26033:107;;;26118:4;26102:22;;;;:7;:22;;;;;;:38;;26129:10;26102:26;:38::i;:::-;26093:4;26077:22;;;;:7;:22;;;;;:63;26033:107;25793:355;;;:::o;26154:427::-;26221:19;26244:10;:8;:10::i;:::-;26221:33;-1:-1:-1;26265:20:0;26288:29;:12;26221:33;26288:16;:29::i;:::-;26373:25;;-1:-1:-1;;;;;26373:25:0;26365:34;;;;:7;:34;;;;;;26265:52;;-1:-1:-1;26365:52:0;;26265;26365:38;:52::i;:::-;26336:25;;;-1:-1:-1;;;;;26336:25:0;;;26328:34;;;;:7;:34;;;;;;;;:89;;;;26443:25;;;;;26431:38;;:11;:38;;;;;;;26428:145;;;26529:25;;-1:-1:-1;;;;;26529:25:0;26521:34;;;;:7;:34;;;;;;:52;;26560:12;26521:38;:52::i;:::-;26492:25;;-1:-1:-1;;;;;26492:25:0;26484:34;;;;:7;:34;;;;;:89;26154:427;;;:::o;23439:147::-;23517:7;;:17;;23529:4;23517:11;:17::i;:::-;23507:7;:27;23558:10;;:20;;23573:4;23558:14;:20::i;:::-;23545:10;:33;-1:-1:-1;;23439:147:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:1;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:1;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:1;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1649:6;1657;1710:2;1698:9;1689:7;1685:23;1681:32;1678:2;;;1731:6;1723;1716:22;1678:2;1775:9;1762:23;1794:31;1819:5;1794:31;:::i;:::-;1844:5;1896:2;1881:18;;;;1868:32;;-1:-1:-1;;;1668:238:1:o;1911:190::-;1967:6;2020:2;2008:9;1999:7;1995:23;1991:32;1988:2;;;2041:6;2033;2026:22;1988:2;2069:26;2085:9;2069:26;:::i;2106:190::-;2165:6;2218:2;2206:9;2197:7;2193:23;2189:32;2186:2;;;2239:6;2231;2224:22;2186:2;-1:-1:-1;2267:23:1;;2176:120;-1:-1:-1;2176:120:1:o;2301:258::-;2366:6;2374;2427:2;2415:9;2406:7;2402:23;2398:32;2395:2;;;2448:6;2440;2433:22;2395:2;2489:9;2476:23;2466:33;;2518:35;2549:2;2538:9;2534:18;2518:35;:::i;:::-;2508:45;;2385:174;;;;;:::o;2564:316::-;2652:6;2660;2668;2721:2;2709:9;2700:7;2696:23;2692:32;2689:2;;;2742:6;2734;2727:22;2689:2;2776:9;2770:16;2760:26;;2826:2;2815:9;2811:18;2805:25;2795:35;;2870:2;2859:9;2855:18;2849:25;2839:35;;2679:201;;;;;:::o;4132:603::-;4244:4;4273:2;4302;4291:9;4284:21;4334:6;4328:13;4377:6;4372:2;4361:9;4357:18;4350:34;4402:4;4415:140;4429:6;4426:1;4423:13;4415:140;;;4524:14;;;4520:23;;4514:30;4490:17;;;4509:2;4486:26;4479:66;4444:10;;4415:140;;;4573:6;4570:1;4567:13;4564:2;;;4643:4;4638:2;4629:6;4618:9;4614:22;4610:31;4603:45;4564:2;-1:-1:-1;4719:2:1;4698:15;-1:-1:-1;;4694:29:1;4679:45;;;;4726:2;4675:54;;4253:482;-1:-1:-1;;;4253:482:1:o;7846:356::-;8048:2;8030:21;;;8067:18;;;8060:30;8126:34;8121:2;8106:18;;8099:62;8193:2;8178:18;;8020:182::o;10023:983::-;10285:4;10333:3;10322:9;10318:19;10364:6;10353:9;10346:25;10390:2;10428:6;10423:2;10412:9;10408:18;10401:34;10471:3;10466:2;10455:9;10451:18;10444:31;10495:6;10530;10524:13;10561:6;10553;10546:22;10599:3;10588:9;10584:19;10577:26;;10638:2;10630:6;10626:15;10612:29;;10659:4;10672:195;10686:6;10683:1;10680:13;10672:195;;;10751:13;;-1:-1:-1;;;;;10747:39:1;10735:52;;10842:15;;;;10807:12;;;;10783:1;10701:9;10672:195;;;-1:-1:-1;;;;;;;10923:32:1;;;;10918:2;10903:18;;10896:60;-1:-1:-1;;;10987:3:1;10972:19;10965:35;10884:3;10294:712;-1:-1:-1;;;10294:712:1:o;11524:128::-;11564:3;11595:1;11591:6;11588:1;11585:13;11582:2;;;11601:18;;:::i;:::-;-1:-1:-1;11637:9:1;;11572:80::o;11657:217::-;11697:1;11723;11713:2;;-1:-1:-1;;;11748:31:1;;11802:4;11799:1;11792:15;11830:4;11755:1;11820:15;11713:2;-1:-1:-1;11859:9:1;;11703:171::o;11879:168::-;11919:7;11985:1;11981;11977:6;11973:14;11970:1;11967:21;11962:1;11955:9;11948:17;11944:45;11941:2;;;11992:18;;:::i;:::-;-1:-1:-1;12032:9:1;;11931:116::o;12052:125::-;12092:4;12120:1;12117;12114:8;12111:2;;;12125:18;;:::i;:::-;-1:-1:-1;12162:9:1;;12101:76::o;12182:380::-;12261:1;12257:12;;;;12304;;;12325:2;;12379:4;12371:6;12367:17;12357:27;;12325:2;12432;12424:6;12421:14;12401:18;12398:38;12395:2;;;12478:10;12473:3;12469:20;12466:1;12459:31;12513:4;12510:1;12503:15;12541:4;12538:1;12531:15;12395:2;;12237:325;;;:::o;12567:135::-;12606:3;-1:-1:-1;;12627:17:1;;12624:2;;;12647:18;;:::i;:::-;-1:-1:-1;12694:1:1;12683:13;;12614:88::o;12707:127::-;12768:10;12763:3;12759:20;12756:1;12749:31;12799:4;12796:1;12789:15;12823:4;12820:1;12813:15;12839:131;-1:-1:-1;;;;;12914:31:1;;12904:42;;12894:2;;12960:1;12957;12950:12;12894:2;12884:86;:::o

Swarm Source

ipfs://58718df59fb9b5f0df0f016b85384c7ac7b83657c51e5c4cabf9dedb642f473d
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.