Contract 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9

 
 
Txn Hash
Block
From
To
Value [Txn Fee]
0x11c0a06414e1bc9712c04edff147fb148f4d5cfce210305e5de34533f92e08fe94744702021-07-25 20:08:511 day 46 mins ago0x9ca988d60d37c332ef8071343cfb9f6d61a9ab54 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0x2f7f34173618a01c43adcede7e6fc883ba718616a56a085c3699802efafe0ff694092332021-07-23 13:15:263 days 7 hrs ago0xce4095a3b707d3bdcfdae6ba1900b4aefaf458bf IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x0043c14f8cb58c2dfdddb7f6a34a3bffb86c764767bfe80fe78955cd8c17fb5493900352021-07-22 21:12:503 days 23 hrs ago0x51b663cb98bc7dd7d01eec3f53bc7eb81696faa2 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0xefc8c009e9217e6c8fec771b31b09b28780e92dd64dad75fde110fa44ccedaac91927392021-07-16 0:42:2610 days 20 hrs ago0xc41e2c1e161eb245ac46c5e33d294171e06f040e IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x5610661c66d90c0ce1d53b9edb1945d5a528006c5e1c0be51d72d42bc1d3203191829192021-07-15 16:31:1811 days 4 hrs ago0x9067238d7e1d11cc8f4718bd8c339b0799a8576c IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0xf69c90998665aebfc7dba0b29c35a2c8be246e3ab016376d31916cabc1eb4cae91039152021-07-12 22:39:4813 days 22 hrs ago0x0666638dcca7b84725524a91ff6ce1342d37ab0b IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x418bfb00455da0b5503896c19d13133a5c801327aed9021441cb4247ba3a6c5990696692021-07-11 18:07:1215 days 2 hrs ago0x54ba6c68a6da13a41127ccd14c5e5d6a88605387 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0xd9e0d4bf4a6fd31c219b3f50df83d899d5b173ec5ade2e91d736d1c75df8d36690236982021-07-10 3:48:3416 days 17 hrs ago0xe1ccf26dfdd963c55a2b49e166fdd007b3537a58 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0x2b4365842866e50267db93cb5374e97c61c15156051838a74f4953989a53dcdf90061552021-07-09 13:11:1817 days 7 hrs ago0x86caf6cda978bf6d6f2bb4c9e450759fc77234be IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000125655
0x2eabab571d047329628edb48fa2b5fe488f19b655f8e5f90a7f0b8c5ddd5c39289681022021-07-08 5:27:2918 days 15 hrs ago0xa26ac0f5265a3419558bb830d04e351da14b80a9 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0xe805a0b85a062d7791e63ebadd1d22eb837a3b39ac3f4dbd4eb9937db9b97b3689203522021-07-06 13:38:2520 days 7 hrs ago0x2d815240a61731c75fa01b2793e1d3ed09f289d0 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x39896a5572716ea05a5fa4699dbddc022e97d4ebcbb6a07bde736d29ccefb5d385601912021-06-23 23:26:5032 days 21 hrs ago0x3c3cdeb7e985fd1b6432aeb94546f54596e219da IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x2c0c4230e3c72e7e712cdc911a20c045bb0e3fec40f7588998ddc821d82674e385582832021-06-23 21:50:3932 days 23 hrs ago0xf313166a5f4e6d81b400f67ea008496ee0717801 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x6243b1744b07c7782f220e5113a5f2751e084533250ee2759413cb727375f3c384323512021-06-19 12:25:4137 days 8 hrs ago0xee2deb069f70db3f835ae8d2d023480c1c905b4f IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000220335
0x5ea49303d9b1757a782c65b294c97f9ac1921e30d3028374d675dcc13cf6432084063042021-06-18 14:31:4638 days 6 hrs ago0xd1c1d363f4fb86e93a35e70a480deab1b5575977 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x921581e1b850cb8d7596f8e605061fa7eb9d24f602ed26d18f21d302cbedda4584028882021-06-18 11:39:3838 days 9 hrs ago0x305d9d1b842a9716fcc98c74cd7effe2d3cb0741 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0x5b028f903238da3b325a07e4bba93901b2b5ef532404c25d5e87fafc5704dfa883978592021-06-18 7:26:0938 days 13 hrs ago0x6b57a320f9689bc571b197b8193179d52b930def IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x3834359ad5c0c830db349e02dcd789111302184d10596b13fa859517b56cde4082646342021-06-13 15:10:5743 days 5 hrs ago0xc70afdff3d94fd559cd3d0dc6fcae210586558f4 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.00007237
0x0a59835a9861e21ffb391a1d3b32aa8460cd328f6e0a2ca10d13160a17e9a5c581811872021-06-10 17:16:5846 days 3 hrs ago0xd789e4568783122df3d88df95a0beec57edb7247 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0xb4d18e70f7cc8c0f48ef6b3f34be87ad6a6487f253659b15f2ada314e8e6231c81810472021-06-10 17:09:5846 days 3 hrs ago0xd789e4568783122df3d88df95a0beec57edb7247 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0x3717366b6c333dc828ded2b89ddf9c03d6db81b2c624cc7d8c2f764c4f55b7e281389602021-06-09 5:57:1547 days 14 hrs ago0x6d14025610c529f5ebd47a6aee5819cfbc54dca3 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0x1fa2da458803517c60eda47f4675bbaf915ded0ae45778e6254ac8df1e6e094881288562021-06-08 21:29:3347 days 23 hrs ago0x27753b69496917bc00c6d38e9f056d7d76dfb740 IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0x25d24e2018ded2b44fcd0855c16bc4e2d0008a7a8aa5d078bf36451e3ccecc2781244332021-06-08 17:48:2448 days 3 hrs ago0x61dfbc019da5f4f352c3732a021f1c548f9a8d0d IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000265986
0xf98f64be388e0de2f710fe435355d216fbd2783a9b72af8ce9af9f5ff924d7d679447102021-06-02 11:40:4254 days 9 hrs ago0x646f54df6ab2ae8bb94d03c144ef10100bea73df IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
0xea974c6299ec0108a1cf640b194afd9cf1108374257144830d5e953033b4d79e79247672021-06-01 19:00:5655 days 1 hr ago0x93ed32454c5c47cf954620a01011113d217fbddd IN  0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB0.000221655
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xf961dee161efd8386400519fabd6b6314fc815da2f15a912a245d2e24b5e8fec54713322021-03-07 11:59:33141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 Berry Data: BRY Token0 BNB
0xf961dee161efd8386400519fabd6b6314fc815da2f15a912a245d2e24b5e8fec54713322021-03-07 11:59:33141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 BakerySwap: BAKE Token0 BNB
0xf961dee161efd8386400519fabd6b6314fc815da2f15a912a245d2e24b5e8fec54713322021-03-07 11:59:33141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 BakerySwap: BAKE Token0 BNB
0xf961dee161efd8386400519fabd6b6314fc815da2f15a912a245d2e24b5e8fec54713322021-03-07 11:59:33141 days 8 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0xf961dee161efd8386400519fabd6b6314fc815da2f15a912a245d2e24b5e8fec54713322021-03-07 11:59:33141 days 8 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x1b6c48cd471208158f10bc5990899481990c6958aa2e267da6e2b0a994d4cff254712902021-03-07 11:57:27141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 0x01bf7c66c6bd861915cdaae475042d3c4bae16a70 BNB
0x1b6c48cd471208158f10bc5990899481990c6958aa2e267da6e2b0a994d4cff254712902021-03-07 11:57:27141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 Berry Data: BRY Token0 BNB
0x1b6c48cd471208158f10bc5990899481990c6958aa2e267da6e2b0a994d4cff254712902021-03-07 11:57:27141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 BakerySwap: BAKE Token0 BNB
0x1b6c48cd471208158f10bc5990899481990c6958aa2e267da6e2b0a994d4cff254712902021-03-07 11:57:27141 days 8 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x1b6c48cd471208158f10bc5990899481990c6958aa2e267da6e2b0a994d4cff254712902021-03-07 11:57:27141 days 8 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x2f349ac5228e7af7cf5bc714b32197c570e7cd927998d715b883379451f892b554712862021-03-07 11:57:15141 days 8 hrs ago 0x20ec291bb8459b6145317e7126532ce7ece5056f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x2f349ac5228e7af7cf5bc714b32197c570e7cd927998d715b883379451f892b554712862021-03-07 11:57:15141 days 8 hrs ago 0x20ec291bb8459b6145317e7126532ce7ece5056f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x465ca566d05675da608c92c226c690fad9e859faba7427c03d4a74c14f65960154712772021-03-07 11:56:48141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 0x01bf7c66c6bd861915cdaae475042d3c4bae16a70 BNB
0x465ca566d05675da608c92c226c690fad9e859faba7427c03d4a74c14f65960154712772021-03-07 11:56:48141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 Berry Data: BRY Token0 BNB
0x465ca566d05675da608c92c226c690fad9e859faba7427c03d4a74c14f65960154712772021-03-07 11:56:48141 days 8 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 BakerySwap: BAKE Token0 BNB
0x465ca566d05675da608c92c226c690fad9e859faba7427c03d4a74c14f65960154712772021-03-07 11:56:48141 days 8 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x465ca566d05675da608c92c226c690fad9e859faba7427c03d4a74c14f65960154712772021-03-07 11:56:48141 days 8 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x74e26fcf7c31460af8bef64e26072e9a8f52946eae01019b0c96a51f9f1276b154712562021-03-07 11:55:45141 days 9 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 Berry Data: BRY Token0 BNB
0x74e26fcf7c31460af8bef64e26072e9a8f52946eae01019b0c96a51f9f1276b154712562021-03-07 11:55:45141 days 9 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 BakerySwap: BAKE Token0 BNB
0x74e26fcf7c31460af8bef64e26072e9a8f52946eae01019b0c96a51f9f1276b154712562021-03-07 11:55:45141 days 9 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 Berry Data: BRY Token0 BNB
0x74e26fcf7c31460af8bef64e26072e9a8f52946eae01019b0c96a51f9f1276b154712562021-03-07 11:55:45141 days 9 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x74e26fcf7c31460af8bef64e26072e9a8f52946eae01019b0c96a51f9f1276b154712562021-03-07 11:55:45141 days 9 hrs ago 0xcde540d7eafe93ac5fe6233bee57e1270d3e330f 0x79249e6b65030902671c5fa85d79e3ec28e4b1b90 BNB
0x7aecc9d8397b105a8f1798332c08bb1f68114afcd5bc4d63fc217bfd262fc2ff54711142021-03-07 11:48:39141 days 9 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 Berry Data: BRY Token0 BNB
0x7aecc9d8397b105a8f1798332c08bb1f68114afcd5bc4d63fc217bfd262fc2ff54711142021-03-07 11:48:39141 days 9 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 BakerySwap: BAKE Token0 BNB
0x7aecc9d8397b105a8f1798332c08bb1f68114afcd5bc4d63fc217bfd262fc2ff54711142021-03-07 11:48:39141 days 9 hrs ago 0x79249e6b65030902671c5fa85d79e3ec28e4b1b9 BakerySwap: BAKE Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x559e3d9611e9cb8a77c11335bdac49621382188b

Contract Name:
BakerySwapPair

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 999999 runs

Other Settings:
istanbul EvmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-09-14
*/

pragma solidity >=0.5.0;

interface IBakerySwapPair {
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);

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

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

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

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    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 (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to) external returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IBakerySwapBEP20 {
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);

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

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

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

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;
}
// SPDX-License-Identifier: MIT

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, 'SafeMath: addition overflow');

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, 'SafeMath: subtraction overflow');
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, 'SafeMath: division by zero');
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, 'SafeMath: modulo by zero');
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

    function min(uint256 x, uint256 y) internal pure returns (uint256 z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint256 y) internal pure returns (uint256 z) {
        if (y > 3) {
            z = y;
            uint256 x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}

// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))

// range: [0, 2**112 - 1]
// resolution: 1 / 2**112

library UQ112x112 {
    uint224 constant Q112 = 2**112;

    // encode a uint112 as a UQ112x112
    function encode(uint112 y) internal pure returns (uint224 z) {
        z = uint224(y) * Q112; // never overflows
    }

    // divide a UQ112x112 by a uint112, returning a UQ112x112
    function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {
        z = x / uint224(y);
    }
}
// SPDX-License-Identifier: GPL-3.0-or-later

interface IBEP20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the token decimals.
     */
    function decimals() external view returns (uint8);

    /**
     * @dev Returns the token symbol.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the token name.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the bep token owner.
     */
    function getOwner() external view returns (address);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address _owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IBakerySwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint256);

    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(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

contract BakerySwapBEP20 is IBakerySwapBEP20 {
    using SafeMath for uint256;

    string public constant name = 'Bakery LPs';
    string public constant symbol = 'BLP';
    uint8 public constant decimals = 18;
    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    bytes32 public DOMAIN_SEPARATOR;
    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    mapping(address => uint256) public nonces;

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

    constructor() public {
        uint256 chainId;
        assembly {
            chainId := chainid
        }
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                chainId,
                address(this)
            )
        );
    }

    function _mint(address to, uint256 value) internal {
        totalSupply = totalSupply.add(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint256 value) internal {
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Transfer(from, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) private {
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function approve(address spender, uint256 value) external returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

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

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool) {
        if (allowance[from][msg.sender] != uint256(-1)) {
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external {
        require(deadline >= block.timestamp, 'BakerySwapBEP20: EXPIRED');
        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
            )
        );
        address recoveredAddress = ecrecover(digest, v, r, s);
        require(recoveredAddress != address(0) && recoveredAddress == owner, 'BakerySwapBEP20: INVALID_SIGNATURE');
        _approve(owner, spender, value);
    }
}

contract BakerySwapPair is IBakerySwapPair, BakerySwapBEP20 {
    using SafeMath for uint256;
    using UQ112x112 for uint224;

    uint256 public constant MINIMUM_LIQUIDITY = 10**3;
    bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));

    address public factory;
    address public token0;
    address public token1;

    uint112 private reserve0; // uses single storage slot, accessible via getReserves
    uint112 private reserve1; // uses single storage slot, accessible via getReserves
    uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves

    uint256 public price0CumulativeLast;
    uint256 public price1CumulativeLast;
    uint256 public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event

    uint256 private unlocked = 1;
    modifier lock() {
        require(unlocked == 1, 'BakerySwapPair: LOCKED');
        unlocked = 0;
        _;
        unlocked = 1;
    }

    function getReserves()
    public
    view
    returns (
        uint112 _reserve0,
        uint112 _reserve1,
        uint32 _blockTimestampLast
    )
    {
        _reserve0 = reserve0;
        _reserve1 = reserve1;
        _blockTimestampLast = blockTimestampLast;
    }

    function _safeTransfer(
        address token,
        address to,
        uint256 value
    ) private {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'BakerySwapPair: TRANSFER_FAILED');
    }

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);
    event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

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

    // called once by the factory at time of deployment
    function initialize(address _token0, address _token1) external {
        require(msg.sender == factory, 'BakerySwapPair: FORBIDDEN'); // sufficient check
        token0 = _token0;
        token1 = _token1;
    }

    // update reserves and, on the first call per block, price accumulators
    function _update(
        uint256 balance0,
        uint256 balance1,
        uint112 _reserve0,
        uint112 _reserve1
    ) private {
        require(balance0 <= uint112(-1) && balance1 <= uint112(-1), 'BakerySwapPair: OVERFLOW');
        uint32 blockTimestamp = uint32(block.timestamp % 2**32);
        uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired
        if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {
            // * never overflows, and + overflow is desired
            price0CumulativeLast += uint256(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) * timeElapsed;
            price1CumulativeLast += uint256(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) * timeElapsed;
        }
        reserve0 = uint112(balance0);
        reserve1 = uint112(balance1);
        blockTimestampLast = blockTimestamp;
        emit Sync(reserve0, reserve1);
    }

    // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)
    function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {
        address feeTo = IBakerySwapFactory(factory).feeTo();
        feeOn = feeTo != address(0);
        uint256 _kLast = kLast; // gas savings
        if (feeOn) {
            if (_kLast != 0) {
                uint256 rootK = SafeMath.sqrt(uint256(_reserve0).mul(_reserve1));
                uint256 rootKLast = SafeMath.sqrt(_kLast);
                if (rootK > rootKLast) {
                    uint256 numerator = totalSupply.mul(rootK.sub(rootKLast));
                    uint256 denominator = rootK.mul(5).add(rootKLast);
                    uint256 liquidity = numerator / denominator;
                    if (liquidity > 0) _mint(feeTo, liquidity);
                }
            }
        } else if (_kLast != 0) {
            kLast = 0;
        }
    }

    // this low-level function should be called from a contract which performs important safety checks
    function mint(address to) external lock returns (uint256 liquidity) {
        (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings
        uint256 balance0 = IBEP20(token0).balanceOf(address(this));
        uint256 balance1 = IBEP20(token1).balanceOf(address(this));
        uint256 amount0 = balance0.sub(_reserve0);
        uint256 amount1 = balance1.sub(_reserve1);

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        if (_totalSupply == 0) {
            liquidity = SafeMath.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);
            _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens
        } else {
            liquidity = SafeMath.min(amount0.mul(_totalSupply) / _reserve0, amount1.mul(_totalSupply) / _reserve1);
        }
        require(liquidity > 0, 'BakerySwapPair: INSUFFICIENT_LIQUIDITY_MINTED');
        _mint(to, liquidity);

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Mint(msg.sender, amount0, amount1);
    }

    // this low-level function should be called from a contract which performs important safety checks
    function burn(address to) external lock returns (uint256 amount0, uint256 amount1) {
        (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings
        address _token0 = token0; // gas savings
        address _token1 = token1; // gas savings
        uint256 balance0 = IBEP20(_token0).balanceOf(address(this));
        uint256 balance1 = IBEP20(_token1).balanceOf(address(this));
        uint256 liquidity = balanceOf[address(this)];

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint256 _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution
        amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution
        require(amount0 > 0 && amount1 > 0, 'BakerySwapPair: INSUFFICIENT_LIQUIDITY_BURNED');
        _burn(address(this), liquidity);
        _safeTransfer(_token0, to, amount0);
        _safeTransfer(_token1, to, amount1);
        balance0 = IBEP20(_token0).balanceOf(address(this));
        balance1 = IBEP20(_token1).balanceOf(address(this));

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint256(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Burn(msg.sender, amount0, amount1, to);
    }

    // this low-level function should be called from a contract which performs important safety checks
    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to
    ) external lock {
        require(amount0Out > 0 || amount1Out > 0, 'BakerySwapPair: INSUFFICIENT_OUTPUT_AMOUNT');
        (uint112 _reserve0, uint112 _reserve1, ) = getReserves(); // gas savings
        require(amount0Out < _reserve0 && amount1Out < _reserve1, 'BakerySwapPair: INSUFFICIENT_LIQUIDITY');

        uint256 balance0;
        uint256 balance1;
        {
            // scope for _token{0,1}, avoids stack too deep errors
            address _token0 = token0;
            address _token1 = token1;
            require(to != _token0 && to != _token1, 'BakerySwapPair: INVALID_TO');
            if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens
            if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens
            balance0 = IBEP20(_token0).balanceOf(address(this));
            balance1 = IBEP20(_token1).balanceOf(address(this));
        }
        uint256 amount0In = balance0 > _reserve0 - amount0Out ? balance0 - (_reserve0 - amount0Out) : 0;
        uint256 amount1In = balance1 > _reserve1 - amount1Out ? balance1 - (_reserve1 - amount1Out) : 0;
        require(amount0In > 0 || amount1In > 0, 'BakerySwapPair: INSUFFICIENT_INPUT_AMOUNT');
        {
            // scope for reserve{0,1}Adjusted, avoids stack too deep errors
            uint256 balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));
            uint256 balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));
            require(
                balance0Adjusted.mul(balance1Adjusted) >= uint256(_reserve0).mul(_reserve1).mul(1000**2),
                'BakerySwapPair: K'
            );
        }

        _update(balance0, balance1, _reserve0, _reserve1);
        emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);
    }

    // force balances to match reserves
    function skim(address to) external lock {
        address _token0 = token0; // gas savings
        address _token1 = token1; // gas savings
        _safeTransfer(_token0, to, IBEP20(_token0).balanceOf(address(this)).sub(reserve0));
        _safeTransfer(_token1, to, IBEP20(_token1).balanceOf(address(this)).sub(reserve1));
    }

    // force reserves to match balances
    function sync() external lock {
        _update(IBEP20(token0).balanceOf(address(this)), IBEP20(token1).balanceOf(address(this)), reserve0, reserve1);
    }
}

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","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"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"swap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526001600c5534801561001557600080fd5b506040514690806052612c9f8239604080519182900360520182208282018252600a83526942616b657279204c507360b01b6020938401528151808301835260018152603160f81b908401528151808401919091527f5ed039ad5f03c2661cf61a8d716c2a77f59bd0432e1ff6204eaae6153df7eacc818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c09094019052825192019190912060035550600580546001600160a01b03191633179055612b9a806101056000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80636d9a640a116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610580578063d505accf14610588578063dd62ed3e146105e6578063fff6cae914610621576101b9565b8063ba9a7a561461053d578063bc25cf7714610545578063c45a015514610578576101b9565b80637ecebe00116100d35780637ecebe001461047d57806389afcb44146104b057806395d89b41146104fc578063a9059cbb14610504576101b9565b80636d9a640a1461040357806370a08231146104425780637464fc3d14610475576101b9565b806330adf81f11610166578063485cc95511610140578063485cc955146103835780635909c0d5146103c05780635a3d5493146103c85780636a627842146103d0576101b9565b806330adf81f14610355578063313ce5671461035d5780633644e5151461037b576101b9565b80630dfe1681116101975780630dfe1681146102c757806318160ddd146102f857806323b872dd14610312576101b9565b806306fdde03146101be5780630902f1ac1461023b578063095ea7b31461027a575b600080fd5b6101c6610629565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102005781810151838201526020016101e8565b50505050905090810190601f16801561022d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610243610662565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b6102b36004803603604081101561029057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356106b7565b604080519115158252519081900360200190f35b6102cf6106ce565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103006106ea565b60408051918252519081900360200190f35b6102b36004803603606081101561032857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106f0565b6103006107cf565b6103656107f3565b6040805160ff9092168252519081900360200190f35b6103006107f8565b6103be6004803603604081101561039957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166107fe565b005b6103006108d7565b6103006108dd565b610300600480360360208110156103e657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108e3565b6103be6004803603606081101561041957600080fd5b508035906020810135906040013573ffffffffffffffffffffffffffffffffffffffff16610ca9565b6103006004803603602081101561045857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661128d565b61030061129f565b6103006004803603602081101561049357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112a5565b6104e3600480360360208110156104c657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112b7565b6040805192835260208301919091528051918290030190f35b6101c6611754565b6102b36004803603604081101561051a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561178d565b61030061179a565b6103be6004803603602081101561055b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166117a0565b6102cf611996565b6102cf6119b2565b6103be600480360360e081101561059e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356119ce565b610300600480360360408110156105fc57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611c84565b6103be611ca1565b6040518060400160405280600a81526020017f42616b657279204c50730000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b60006106c4338484611e87565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146107ba5773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610788908363ffffffff611ef616565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b6107c5848484611f3f565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff16331461088457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f42616b65727953776170506169723a20464f5242494444454e00000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461095657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f42616b65727953776170506169723a204c4f434b454400000000000000000000604482015290519081900360640190fd5b6000600c81905580610966610662565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d6020811015610a0a57600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015610a8357600080fd5b505afa158015610a97573d6000803e3d6000fd5b505050506040513d6020811015610aad57600080fd5b505190506000610ad3836dffffffffffffffffffffffffffff871663ffffffff611ef616565b90506000610af7836dffffffffffffffffffffffffffff871663ffffffff611ef616565b90506000610b058787612020565b60005490915080610b4e57610b3a6103e8610b2e610b29878763ffffffff6121ac16565b61221f565b9063ffffffff611ef616565b9850610b4960006103e8612271565b610bab565b610ba86dffffffffffffffffffffffffffff8916610b72868463ffffffff6121ac16565b81610b7957fe5b046dffffffffffffffffffffffffffff8916610b9b868563ffffffff6121ac16565b81610ba257fe5b04612321565b98505b60008911610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612a50602d913960400191505060405180910390fd5b610c0e8a8a612271565b610c1a86868a8a612337565b8115610c5c57600854610c58906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121ac16565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b600c54600114610d1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f42616b65727953776170506169723a204c4f434b454400000000000000000000604482015290519081900360640190fd5b6000600c5582151580610d2d5750600082115b610d82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612a7d602a913960400191505060405180910390fd5b600080610d8d610662565b5091509150816dffffffffffffffffffffffffffff1685108015610dc05750806dffffffffffffffffffffffffffff1684105b610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612af26026913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff918216919081169087168214801590610e7a57508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b610ee557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f42616b65727953776170506169723a20494e56414c49445f544f000000000000604482015290519081900360640190fd5b8815610ef657610ef682888b6125f3565b8715610f0757610f0781888a6125f3565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610f7357600080fd5b505afa158015610f87573d6000803e3d6000fd5b505050506040513d6020811015610f9d57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d602081101561103957600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168890038311611063576000611079565b87856dffffffffffffffffffffffffffff160383035b9050600087856dffffffffffffffffffffffffffff1603831161109d5760006110b3565b87856dffffffffffffffffffffffffffff160383035b905060008211806110c45750600081115b611119576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612aa76029913960400191505060405180910390fd5b600061114161112f84600363ffffffff6121ac16565b610b2e876103e863ffffffff6121ac16565b9050600061115961112f84600363ffffffff6121ac16565b9050611191620f42406111856dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121ac16565b9063ffffffff6121ac16565b6111a1838363ffffffff6121ac16565b101561120e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f42616b65727953776170506169723a204b000000000000000000000000000000604482015290519081900360640190fd5b505061121c84848888612337565b60408051838152602081018390528082018b9052606081018a9052905173ffffffffffffffffffffffffffffffffffffffff89169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c5550505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461132b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f42616b65727953776170506169723a204c4f434b454400000000000000000000604482015290519081900360640190fd5b6000600c8190558061133b610662565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156113bd57600080fd5b505afa1580156113d1573d6000803e3d6000fd5b505050506040513d60208110156113e757600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561145b57600080fd5b505afa15801561146f573d6000803e3d6000fd5b505050506040513d602081101561148557600080fd5b5051306000908152600160205260408120549192506114a48888612020565b600054909150806114bb848763ffffffff6121ac16565b816114c257fe5b049a50806114d6848663ffffffff6121ac16565b816114dd57fe5b04995060008b1180156114f0575060008a115b611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612b39602d913960400191505060405180910390fd5b61154f3084612800565b61155a878d8d6125f3565b611565868d8c6125f3565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b1580156115d157600080fd5b505afa1580156115e5573d6000803e3d6000fd5b505050506040513d60208110156115fb57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b15801561166d57600080fd5b505afa158015611681573d6000803e3d6000fd5b505050506040513d602081101561169757600080fd5b505193506116a785858b8b612337565b81156116e9576008546116e5906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121ac16565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600381526020017f424c50000000000000000000000000000000000000000000000000000000000081525081565b60006106c4338484611f3f565b6103e881565b600c5460011461181157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f42616b65727953776170506169723a204c4f434b454400000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff94851694909316926118ed92859287926118e8926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156118b057600080fd5b505afa1580156118c4573d6000803e3d6000fd5b505050506040513d60208110156118da57600080fd5b50519063ffffffff611ef616565b6125f3565b600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905161198c92849287926118e8926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156118b057600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611a3d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f42616b6572795377617042455032303a20455850495245440000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611b9e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611c1957508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612ad06022913960400191505060405180910390fd5b611c79898989611e87565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611d1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f42616b65727953776170506169723a204c4f434b454400000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611e809273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611d8957600080fd5b505afa158015611d9d573d6000803e3d6000fd5b505050506040513d6020811015611db357600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611e2657600080fd5b505afa158015611e3a573d6000803e3d6000fd5b505050506040513d6020811015611e5057600080fd5b50516008546dffffffffffffffffffffffffffff808216916e010000000000000000000000000000900416612337565b6001600c55565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000611f3883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128c5565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054611f75908263ffffffff611ef616565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054611fb7908263ffffffff61297616565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561208b57600080fd5b505afa15801561209f573d6000803e3d6000fd5b505050506040513d60208110156120b557600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061219857801561219357600061210c610b296dffffffffffffffffffffffffffff88811690881663ffffffff6121ac16565b905060006121198361221f565b905080821115612190576000612147612138848463ffffffff611ef616565b6000549063ffffffff6121ac16565b9050600061216c8361216086600563ffffffff6121ac16565b9063ffffffff61297616565b9050600081838161217957fe5b049050801561218c5761218c8782612271565b5050505b50505b6121a4565b80156121a4576000600b555b505092915050565b6000826121bb575060006106c8565b828202828482816121c857fe5b0414611f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b186021913960400191505060405180910390fd5b60006003821115612262575080600160028204015b8181101561225c5780915060028182858161224b57fe5b04018161225457fe5b049050612234565b5061226c565b811561226c575060015b919050565b600054612284908263ffffffff61297616565b600090815573ffffffffffffffffffffffffffffffffffffffff83168152600160205260409020546122bc908263ffffffff61297616565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106123305781611f38565b5090919050565b6dffffffffffffffffffffffffffff841180159061236357506dffffffffffffffffffffffffffff8311155b6123ce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f42616b65727953776170506169723a204f564552464c4f570000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c01000000000000000000000000000000000000000000000000000000009004811682039081161580159061241e57506dffffffffffffffffffffffffffff841615155b801561243957506dffffffffffffffffffffffffffff831615155b156124e9578063ffffffff1661247c85612452866129ea565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a0e16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff81166124bc84612452876129ea565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106126f957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016126bc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461275b576040519150601f19603f3d011682016040523d82523d6000602084013e612760565b606091505b509150915081801561278e57508051158061278e575080806020019051602081101561278b57600080fd5b50515b6127f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f42616b65727953776170506169723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054612836908263ffffffff611ef616565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612870908263ffffffff611ef616565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6000818484111561296e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561293357818101518382015260200161291b565b50505050905090810190601f1680156129605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611f3857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612a4757fe5b04939250505056fe42616b65727953776170506169723a20494e53554646494349454e545f4c49515549444954595f4d494e54454442616b65727953776170506169723a20494e53554646494349454e545f4f55545055545f414d4f554e5442616b65727953776170506169723a20494e53554646494349454e545f494e5055545f414d4f554e5442616b6572795377617042455032303a20494e56414c49445f5349474e415455524542616b65727953776170506169723a20494e53554646494349454e545f4c4951554944495459536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7742616b65727953776170506169723a20494e53554646494349454e545f4c49515549444954595f4255524e4544a265627a7a723158206e8968bba9bf0ef7ee55acf935c8da51fc24bd4de3768de6b4eafe9c278bf4e064736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429

Deployed ByteCode Sourcemap

18142:9980:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18142:9980:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14572:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14572:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19167:285;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16716:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16716:150:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;18460:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14707:26;;;:::i;:::-;;;;;;;;;;;;;;;;17024:341;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17024:341:0;;;;;;;;;;;;;;;;;;:::i;15007:108::-;;;:::i;14665:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14864:31;;;:::i;20347:215::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20347:215:0;;;;;;;;;;;:::i;:::-;;18790:35;;;:::i;18832:::-;;;:::i;22636:1276::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22636:1276:0;;;;:::i;25567:1962::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25567:1962:0;;;;;;;;;;;;;;:::i;14740:44::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14740:44:0;;;;:::i;18874:20::-;;;:::i;15122:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15122:41:0;;;;:::i;24024:1431::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24024:1431:0;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14621:37;;;:::i;16874:142::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16874:142:0;;;;;;;;;:::i;18278:49::-;;;:::i;27578:334::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27578:334:0;;;;:::i;18431:22::-;;;:::i;18488:21::-;;;:::i;17373:762::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;17373:762:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14791:64::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14791:64:0;;;;;;;;;;;:::i;27961:158::-;;;:::i;14572:42::-;;;;;;;;;;;;;;;;;;;:::o;19167:285::-;19354:8;;;;;;;19385;;;;;;;19426:18;;;;;;19167:285::o;16716:150::-;16783:4;16800:36;16809:10;16821:7;16830:5;16800:8;:36::i;:::-;-1:-1:-1;16854:4:0;16716:150;;;;;:::o;18460:21::-;;;;;;:::o;14707:26::-;;;;:::o;17024:341::-;17160:15;;;17139:4;17160:15;;;:9;:15;;;;;;;;17176:10;17160:27;;;;;;;;17199:2;17160:42;17156:143;;17249:15;;;;;;;:9;:15;;;;;;;;17265:10;17249:27;;;;;;;;:38;;17281:5;17249:38;:31;:38;:::i;:::-;17219:15;;;;;;;:9;:15;;;;;;;;17235:10;17219:27;;;;;;;:68;17156:143;17309:26;17319:4;17325:2;17329:5;17309:9;:26::i;:::-;-1:-1:-1;17353:4:0;17024:341;;;;;:::o;15007:108::-;15049:66;15007:108;:::o;14665:35::-;14698:2;14665:35;:::o;14864:31::-;;;;:::o;20347:215::-;20443:7;;;;20429:10;:21;20421:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20511:6;:16;;;;;;;;;;;;;;20538:6;:16;;;;;;;;;;;20347:215::o;18790:35::-;;;;:::o;18832:::-;;;;:::o;22636:1276::-;22685:17;19053:8;;19065:1;19053:13;19045:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19115:1;19104:8;:12;;;19115:1;22758:13;:11;:13::i;:::-;-1:-1:-1;22823:6:0;;22816:39;;;;;;22849:4;22816:39;;;;;;22715:56;;-1:-1:-1;22715:56:0;;-1:-1:-1;22797:16:0;;22823:6;;;;;22816:24;;:39;;;;;;;;;;;;;;22823:6;22816:39;;;5:2:-1;;;;30:1;27;20:12;5:2;22816:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22816:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22816:39:0;22892:6;;22885:39;;;;;;22918:4;22885:39;;;;;;22816;;-1:-1:-1;22866:16:0;;22892:6;;;;;22885:24;;:39;;;;;22816;;22885;;;;;;;;22892:6;22885:39;;;5:2:-1;;;;30:1;27;20:12;5:2;22885:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22885:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22885:39:0;;-1:-1:-1;22935:15:0;22953:23;:8;:23;;;;:12;:23;:::i;:::-;22935:41;-1:-1:-1;22987:15:0;23005:23;:8;:23;;;;:12;:23;:::i;:::-;22987:41;;23041:10;23054:30;23063:9;23074;23054:8;:30::i;:::-;23095:20;23118:11;23041:43;;-1:-1:-1;23222:17:0;23218:361;;23268:58;18322:5;23268:35;23282:20;:7;23294;23282:20;:11;:20;:::i;:::-;23268:13;:35::i;:::-;:39;:58;:39;:58;:::i;:::-;23256:70;;23341:36;23355:1;18322:5;23341;:36::i;:::-;23218:361;;;23477:90;23490:37;;;:25;:7;23502:12;23490:25;:11;:25;:::i;:::-;:37;;;;;;23529;;;:25;:7;23541:12;23529:25;:11;:25;:::i;:::-;:37;;;;;;23477:12;:90::i;:::-;23465:102;;23218:361;23609:1;23597:9;:13;23589:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23671:20;23677:2;23681:9;23671:5;:20::i;:::-;23704:49;23712:8;23722;23732:9;23743;23704:7;:49::i;:::-;23768:5;23764:50;;;23805:8;;23783:31;;23805:8;23791;;;;23805;;;;23783:31;:21;:31;:::i;:::-;23775:5;:39;23764:50;23870:34;;;;;;;;;;;;;;23875:10;;23870:34;;;;;;;;-1:-1:-1;;19150:1:0;19139:8;:12;-1:-1:-1;22636:1276:0;;;-1:-1:-1;;;;;;22636:1276:0:o;25567:1962::-;19053:8;;19065:1;19053:13;19045:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19115:1;19104:8;:12;25700:14;;;;:32;;;25731:1;25718:10;:14;25700:32;25692:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25791:17;25810;25833:13;:11;:13::i;:::-;25790:56;;;;;25893:9;25880:22;;:10;:22;:48;;;;;25919:9;25906:22;;:10;:22;25880:48;25872:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26139:6;;26178;;25984:16;;;;26139:6;;;;;26178;;;;26207:13;;;;;;;:30;;;26230:7;26224:13;;:2;:13;;;;26207:30;26199:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26287:14;;26283:58;;26303:38;26317:7;26326:2;26330:10;26303:13;:38::i;:::-;26394:14;;26390:58;;26410:38;26424:7;26433:2;26437:10;26410:13;:38::i;:::-;26508:40;;;;;;26542:4;26508:40;;;;;;:25;;;;;;:40;;;;;;;;;;;;;;:25;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;26508:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26508:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26508:40:0;26574;;;;;;26608:4;26574:40;;;;;;26508;;-1:-1:-1;26574:25:0;;;;;;:40;;;;;26508;;26574;;;;;;;;:25;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;26574:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26574:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26574:40:0;;-1:-1:-1;26636:17:0;;-1:-1:-1;;26667:22:0;;;;;;26656:33;;:75;;26730:1;26656:75;;;26716:10;26704:9;:22;;;26692:8;:35;26656:75;26636:95;;26742:17;26785:10;26773:9;:22;;;26762:8;:33;:75;;26836:1;26762:75;;;26822:10;26810:9;:22;;;26798:8;:35;26762:75;26742:95;;26868:1;26856:9;:13;:30;;;;26885:1;26873:9;:13;26856:30;26848:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27035:24;27062:40;27085:16;:9;27099:1;27085:16;:13;:16;:::i;:::-;27062:18;:8;27075:4;27062:18;:12;:18;:::i;:40::-;27035:67;-1:-1:-1;27117:24:0;27144:40;27167:16;:9;27181:1;27167:16;:13;:16;:::i;27144:40::-;27117:67;-1:-1:-1;27267:46:0;27305:7;27267:33;;:18;;;;:33;;;:22;:33;:::i;:::-;:37;:46;:37;:46;:::i;:::-;27225:38;:16;27246;27225:38;:20;:38;:::i;:::-;:88;;27199:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19127:1;;27390:49;27398:8;27408;27418:9;27429;27390:7;:49::i;:::-;27455:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27460:10;;27455:66;;;;;;;;;-1:-1:-1;;19150:1:0;19139:8;:12;-1:-1:-1;;;;;;;25567:1962:0:o;14740:44::-;;;;;;;;;;;;;:::o;18874:20::-;;;;:::o;15122:41::-;;;;;;;;;;;;;:::o;24024:1431::-;24073:15;24090;19053:8;;19065:1;19053:13;19045:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19115:1;19104:8;:12;;;19115:1;24161:13;:11;:13::i;:::-;-1:-1:-1;24218:6:0;;24268;;24319:40;;;;;;24353:4;24319:40;;;;;;24118:56;;-1:-1:-1;24118:56:0;;-1:-1:-1;24218:6:0;;;;;24268;;;24200:15;;24218:6;;24319:25;;:40;;;;;;;;;;;;;;24218:6;24319:40;;;5:2:-1;;;;30:1;27;20:12;5:2;24319:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24319:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24319:40:0;24389;;;;;;24423:4;24389:40;;;;;;24319;;-1:-1:-1;24370:16:0;;24389:25;;;;;;:40;;;;;24319;;24389;;;;;;;:25;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;24389:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24389:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24389:40:0;24478:4;24440:17;24460:24;;;:9;24389:40;24460:24;;;;;24389:40;;-1:-1:-1;24510:30:0;24519:9;24530;24510:8;:30::i;:::-;24551:20;24574:11;24497:43;;-1:-1:-1;24574:11:0;24684:23;:9;24698:8;24684:23;:13;:23;:::i;:::-;:38;;;;;;;-1:-1:-1;24817:12:0;24791:23;:9;24805:8;24791:23;:13;:23;:::i;:::-;:38;;;;;;24781:48;;24906:1;24896:7;:11;:26;;;;;24921:1;24911:7;:11;24896:26;24888:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24983:31;24997:4;25004:9;24983:5;:31::i;:::-;25025:35;25039:7;25048:2;25052:7;25025:13;:35::i;:::-;25071;25085:7;25094:2;25098:7;25071:13;:35::i;:::-;25128:40;;;;;;25162:4;25128:40;;;;;;:25;;;;;;:40;;;;;;;;;;;;;;:25;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;25128:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25128:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25128:40:0;25190;;;;;;25224:4;25190:40;;;;;;25128;;-1:-1:-1;25190:25:0;;;;;;:40;;;;;25128;;25190;;;;;;;;:25;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;25190:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25190:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25190:40:0;;-1:-1:-1;25243:49:0;25251:8;25190:40;25271:9;25282;25243:7;:49::i;:::-;25307:5;25303:50;;;25344:8;;25322:31;;25344:8;25330;;;;25344;;;;25322:31;:21;:31;:::i;:::-;25314:5;:39;25303:50;25409:38;;;;;;;;;;;;;;;;;;25414:10;;25409:38;;;;;;;;;;;19127:1;;;;;;;;;19150;19139:8;:12;;;;24024:1431;;;:::o;14621:37::-;;;;;;;;;;;;;;;;;;;:::o;16874:142::-;16937:4;16954:32;16964:10;16976:2;16980:5;16954:9;:32::i;18278:49::-;18322:5;18278:49;:::o;27578:334::-;19053:8;;19065:1;19053:13;19045:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19115:1;19104:8;:12;27647:6;;27697;;27801:8;;27756:40;;;;;;27790:4;27756:40;;;;;;27647:6;;;;;27697;;;;27729:82;;27647:6;;27752:2;;27756:54;;27801:8;;;27647:6;;27756:25;;:40;;;;;;;;;;;;;;;27647:6;27756:40;;;5:2:-1;;;;30:1;27;20:12;5:2;27756:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27756:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27756:40:0;;:54;:44;:54;:::i;:::-;27729:13;:82::i;:::-;27894:8;;27849:40;;;;;;27883:4;27849:40;;;;;;27822:82;;27836:7;;27845:2;;27849:54;;27894:8;;;;;;27849:25;;;;;;:40;;;;;;;;;;;;;;;:25;:40;;;5:2:-1;;;;30:1;27;20:12;27822:82:0;-1:-1:-1;;19150:1:0;19139:8;:12;-1:-1:-1;27578:334:0:o;18431:22::-;;;;;;:::o;18488:21::-;;;;;;:::o;17373:762::-;17595:15;17583:8;:27;;17575:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17755:16;;17851:13;;;;17650:14;17851:13;;;:6;:13;;;;;;;;:15;;;;;;;;;17800:77;;15049:66;17800:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;17800:77:0;;;;;17790:88;;;;;;17691:202;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;17691:202:0;;;;;;17667:237;;;;;;;;;17942:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17650:14;;17851:15;17942:26;;;;;-1:-1:-1;17942:26:0;;;;;;;;;;17851:15;17942:26;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;17942:26:0;;;;;;-1:-1:-1;;17987:30:0;;;;;;;:59;;;18041:5;18021:25;;:16;:25;;;17987:59;17979:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18096:31;18105:5;18112:7;18121:5;18096:8;:31::i;:::-;17373:762;;;;;;;;;:::o;14791:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;27961:158::-;19053:8;;19065:1;19053:13;19045:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19115:1;19104:8;:12;28017:6;;28010:39;;;;;;28043:4;28010:39;;;;;;28002:109;;28017:6;;;28010:24;;:39;;;;;;;;;;;;;;28017:6;28010:39;;;5:2:-1;;;;30:1;27;20:12;5:2;28010:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28010:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28010:39:0;28058:6;;28051:39;;;;;;28084:4;28051:39;;;;;;28058:6;;;;;28051:24;;:39;;;;;28010;;28051;;;;;;;;28058:6;28051:39;;;5:2:-1;;;;30:1;27;20:12;5:2;28051:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28051:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28051:39:0;28092:8;;;;;;;28102;;;;28002:7;:109::i;:::-;19150:1;19139:8;:12;27961:158::o;16237:206::-;16355:16;;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;16404:31;;;;;;;;;;;;;;;;;16237:206;;;:::o;5407:136::-;5465:7;5492:43;5496:1;5499;5492:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5485:50;5407:136;-1:-1:-1;;;5407:136:0:o;16451:257::-;16582:15;;;;;;;:9;:15;;;;;;:26;;16602:5;16582:26;:19;:26;:::i;:::-;16564:15;;;;;;;;:9;:15;;;;;;:44;;;;16635:13;;;;;;;:24;;16653:5;16635:24;:17;:24;:::i;:::-;16619:13;;;;;;;;:9;:13;;;;;;;;;:40;;;;16675:25;;;;;;;16619:13;;16675:25;;;;;;;;;;;;;16451:257;;;:::o;21657:867::-;21730:10;21753:13;21788:7;;;;;;;;;;;21769:33;;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21769:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21769:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21769:35:0;21870:5;;21823:19;;;;;;;-1:-1:-1;21769:35:0;;-1:-1:-1;21870:5:0;21901:616;;21931:11;;21927:520;;21963:13;21979:48;21993:33;;:18;;;;:33;;;:22;:33;:::i;21979:48::-;21963:64;;22046:17;22066:21;22080:6;22066:13;:21::i;:::-;22046:41;;22118:9;22110:5;:17;22106:326;;;22152:17;22172:37;22188:20;:5;22198:9;22188:20;:9;:20;:::i;:::-;22172:11;;;:37;:15;:37;:::i;:::-;22152:57;-1:-1:-1;22232:19:0;22254:27;22271:9;22254:12;:5;22264:1;22254:12;:9;:12;:::i;:::-;:16;:27;:16;:27;:::i;:::-;22232:49;;22304:17;22336:11;22324:9;:23;;;;;;;-1:-1:-1;22374:13:0;;22370:42;;22389:23;22395:5;22402:9;22389:5;:23::i;:::-;22106:326;;;;21927:520;;;21901:616;;;22468:11;;22464:53;;22504:1;22496:5;:9;22464:53;21657:867;;;;;;:::o;6331:471::-;6389:7;6634:6;6630:47;;-1:-1:-1;6664:1:0;6657:8;;6630:47;6701:5;;;6705:1;6701;:5;:1;6725:5;;;;;:10;6717:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9729:312;9777:9;9807:1;9803;:5;9799:235;;;-1:-1:-1;9829:1:0;9865;9861;9857:5;;:9;9881:92;9892:1;9888;:5;9881:92;;;9918:1;9914:5;;9956:1;9951;9947;9943;:5;;;;;;:9;9942:15;;;;;;9938:19;;9881:92;;;9799:235;;;;9994:6;;9990:44;;-1:-1:-1;10021:1:0;9990:44;9729:312;;;:::o;15805:204::-;15881:11;;:22;;15897:5;15881:22;:15;:22;:::i;:::-;15867:11;:36;;;15930:13;;;;;:9;:13;;;;;;:24;;15948:5;15930:24;:17;:24;:::i;:::-;15914:13;;;;;;;:9;:13;;;;;;;;:40;;;;15970:31;;;;;;;15914:13;;;;15970:31;;;;;;;;;;15805:204;;:::o;9506:105::-;9564:9;9594:1;9590;:5;:13;;9602:1;9590:13;;;-1:-1:-1;9598:1:0;;9586:17;-1:-1:-1;9506:105:0:o;20647:920::-;20808:23;;;;;;:50;;-1:-1:-1;20835:23:0;;;;20808:50;20800:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21002:18;;20929:23;:15;:23;;;21002:18;;;;;20985:35;;;21058:15;;;;;;:33;;-1:-1:-1;21077:14:0;;;;;21058:33;:51;;;;-1:-1:-1;21095:14:0;;;;;21058:51;21054:342;;;21267:11;21211:67;;21219:44;21253:9;21219:27;21236:9;21219:16;:27::i;:::-;:33;;;:44;:33;:44;:::i;:::-;21187:20;:91;;21211:53;;;;;:67;;;;21187:91;;;21317:67;;;21325:44;21359:9;21325:27;21342:9;21325:16;:27::i;:44::-;21293:20;:91;;21317:53;;;;;:67;;;;21293:91;;;21054:342;21406:8;:28;;;;;;;;;;;;21445;;;;;;;;;;;;21484:35;;;;;;;;;;;;21535:24;;;21540:8;;;21535:24;;21550:8;;;;;;;21535:24;;;;;;;;;;;;;;;;;20647:920;;;;;;:::o;19460:329::-;18386:34;;;;;;;;;;;;;;;;;19625:43;;19614:10;19625:43;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;19625:43:0;;;;;;25:18:-1;;;61:17;;19625:43:0;182:15:-1;19625:43:0;179:29:-1;160:49;;19614:55:0;;;;19579:12;;19593:17;;19614:10;;;19625:43;19614:55;;;25:18:-1;19614:55:0;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;19614:55:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;19578:91:0;;;;19688:7;:57;;;;-1:-1:-1;19700:11:0;;:16;;:44;;;19731:4;19720:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19720:24:0;19700:44;19680:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19460:329;;;;;:::o;16017:212::-;16099:15;;;;;;;:9;:15;;;;;;:26;;16119:5;16099:26;:19;:26;:::i;:::-;16081:15;;;;;;;:9;:15;;;;;:44;;;;16150:11;:22;;16166:5;16150:22;:15;:22;:::i;:::-;16136:11;:36;;;16188:33;;;;;;;;;;;;;;;;;;;;;;16017:212;;:::o;5846:226::-;5966:7;6002:12;5994:6;;;;5986:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5986:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6038:5:0;;;5846:226::o;4943:181::-;5001:7;5033:5;;;5057:6;;;;5049:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10314:120;10390:10;;10259:6;10390:17;;10314:120::o;10505:108::-;10565:9;10595:10;;;10591:14;;;10595:10;10591:14;;;;;;10505:108;-1:-1:-1;;;10505:108:0:o

Swarm Source

bzzr://6e8968bba9bf0ef7ee55acf935c8da51fc24bd4de3768de6b4eafe9c278bf4e0
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.