Contract 0x831753DD7087CaC61aB5644b308642cc1c33Dc13 7

 
Token migration announcement. Quickswap token contract has migrated to a new address.

Contract Overview

QuickSwap: Old QUICK Token
Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x708565119b5a503dd3d33fd1b7f0b0d310d4be285e096ea54440b86c3b8139f0Approve366061262022-12-09 5:32:2223 mins ago0x4df76915da5c4d62a0a7479a0aaa0d3774763dd8 IN  QuickSwap: Old QUICK Token0 MATIC0.001436050869 30.508186978
0xe26fb9f2a96585e825f6dacf8ccd6a8baa920cc6be03ff897a09311426c66ac3Approve366060572022-12-09 5:30:0025 mins ago0xea1a19804db91e157c914f5ab34d2e82410347bd IN  QuickSwap: Old QUICK Token0 MATIC0.001497870471 31.821513712
0x514f040e727838c57ebf459e1770011fa4855600fc2004ffc3852b5f4edd648fApprove366057102022-12-09 5:18:0637 mins ago0xb2969d3429e99e4846e5be4df47d74ba87069e0d IN  QuickSwap: Old QUICK Token0 MATIC0.001540744032 32.732341206
0x51ffa69747133d76cb0f9b5b604f1e2257af5899ec7729f3db06635a4a3a3be7Approve366053752022-12-09 5:06:0549 mins ago0x8472801d482a85a4c4e0e11ea9578b4a12d68edd IN  QuickSwap: Old QUICK Token0 MATIC0.001413589383 30.031003877
0xf1b6ff7aa60f1d1b459370adac17143e53713ea6bfb66c0340bcbb91729f2667Approve366044212022-12-09 4:31:131 hr 24 mins ago0x7faef1c4caf90375bd4f8126f7dec1c05b847c74 IN  QuickSwap: Old QUICK Token0 MATIC0.001433206357 30.447756746
0x49ad6e0e3332d8f157548d655e1cf6c2072e417a16449d6cd07bb5b70bb42c10Approve366043322022-12-09 4:28:071 hr 27 mins ago0x5666afb8ffd4e2f44c703e6728e802137638b2db IN  QuickSwap: Old QUICK Token0 MATIC0.001433822444 30.460845199
0xebd3ebbc1b72886e167aededb505bdce26cbb9406f616e41c63f8c7dd7ef17dcTransfer366021142022-12-09 3:09:422 hrs 46 mins ago0x5c7bed3cca42e4562877ed88b9aa0f5898ed59b0 IN  QuickSwap: Old QUICK Token0 MATIC0.002607093656 64.637617315
0x48d5c053ed729c2bfe011f731201ca972fd52cc08b7de5f06b7a569b0d1f4c29Transfer366019942022-12-09 3:05:342 hrs 50 mins ago0x0f867e44b86e79b31be1f55ea94952666d50eff4 IN  QuickSwap: Old QUICK Token0 MATIC0.001965028349 48.718905863
0x924df23fb3dba5ad1595adf9099befd80562fff2e74ddf5af879b9126bb5ff28Transfer366016822022-12-09 2:54:503 hrs 1 min ago0x419fd465d8f6f5c3a789398c31bebc82bafb0cfa IN  QuickSwap: Old QUICK Token0 MATIC0.004458912051 125.440613612
0xb6708771526335293c09a29d2ca9b0e53a75978d535f58e0220b8ad343b3baafTransfer366014192022-12-09 2:45:483 hrs 10 mins ago0x419fd465d8f6f5c3a789398c31bebc82bafb0cfa IN  QuickSwap: Old QUICK Token0 MATIC0.005800327336 143.85018938
0xf45cf25bd9999e3f84d31ba7cf0d1c1fca03f865763e43106b480e5fa067f1bcApprove365984802022-12-09 1:00:264 hrs 55 mins ago0xb5411c69e851fc3eb6bade0da5fe805c30e5aa82 IN  QuickSwap: Old QUICK Token0 MATIC0.001737995558 36.922851822
0x6a06c9b4667c4d768afc7d87691b88bb024f7359c7c2608f73f937c29794b09aApprove365969502022-12-09 0:05:425 hrs 50 mins ago0x559a602abcbcd811907e71ffc00b4e0a76e78638 IN  QuickSwap: Old QUICK Token0 MATIC0.00155334333
0xe1015bfb4f1d3146d7e311d3da3ce19882fb712f8d3e2420e21ee950668afaf8Approve365968912022-12-09 0:03:405 hrs 52 mins ago0x5eb95c67cdb280b1b675f94f30a0e47160382ef7 IN  QuickSwap: Old QUICK Token0 MATIC0.001480571628 31.454008382
0x1525b961265e079114375bc1225e14dad8c6487700d7a9801ace9a07129c4c17Transfer365968062022-12-09 0:00:465 hrs 55 mins ago0x9ac5637d295fea4f51e086c329d791cc157b1c84 IN  QuickSwap: Old QUICK Token0 MATIC0.003002630188 52.268742624
0x5d18295d6a95f5d1a08ed12fe51632f19276efa4865e690a98f7775ba830b96eApprove365962172022-12-08 23:37:596 hrs 17 mins ago0x13dcedc26b71959f8f5cb780ac440b9163fd98d8 IN  QuickSwap: Old QUICK Token0 MATIC0.001741497741 36.997253974
0x8ed0f25a876485cf508715da336d1e476dc7e61912e0a277a9b4e42727b787b9Approve365952452022-12-08 23:02:276 hrs 53 mins ago0x3309cc354d6f7daa5d13be1b0fdee8c423e5c8c1 IN  QuickSwap: Old QUICK Token0 MATIC0.001521678354 32.327300352
0xe356f99ef49165263124b1e8b32b52ede65430e316f68f1718566f16c1555aebApprove365936422022-12-08 22:06:397 hrs 49 mins ago0x3967276b41fddad5cb3200c51cec429d37ffe4e3 IN  QuickSwap: Old QUICK Token0 MATIC0.001670392426 35.486656901
0x8b430afb2eca600cb51c7442b47c3db5ea88959766bab8dd98e36b8a21ed2038Approve365934732022-12-08 21:59:277 hrs 56 mins ago0x690151847567f47c72d8752a224223ab32bd94e0 IN  QuickSwap: Old QUICK Token0 MATIC0.001488990402 31.632861045
0x333b5b15238a04f74df1e6b58d41bfcd601b03405f2dd6110271ab57446ae7aeApprove365933102022-12-08 21:51:418 hrs 4 mins ago0x2d7236385dfd456a6c0f56a4cdf29bda6955812e IN  QuickSwap: Old QUICK Token0 MATIC0.001584776868 33.667796919
0xc9d090dc6d40c1b4e595a09236db4131b875a788238beada6d3f9f13c9407c15Approve365932392022-12-08 21:49:158 hrs 6 mins ago0xa7517a6fb53713935e04e524ea043597b1c86abd IN  QuickSwap: Old QUICK Token0 MATIC0.001673041894 35.680903717
0xe65c4f8b9b75f060128c335d8886c911ebd4e4aa44b5b30a81349be78c51b6a9Approve365907692022-12-08 20:18:459 hrs 37 mins ago0x4c0902bdc2dc87c49a318e01d85c4c40d38e1140 IN  QuickSwap: Old QUICK Token0 MATIC0.001477164319 31.381621796
0x1429126aca2a06acbfdcecfab15bd281e719330963a5b91180f2fb0628939d58Approve365901412022-12-08 19:55:0110 hrs ago0xf3025bd3a64c8e499b6e5ef6c79fa2a1ae47b41c IN  QuickSwap: Old QUICK Token0 MATIC0.004182640451 88.85811755
0x4366eb1af29dfe58026fd403f09cc82e92e3fe3dbd2b02a02a689dcede1a6b76Approve365897902022-12-08 19:37:4510 hrs 18 mins ago0xb667d424946c18a76e7dc2e8473714cbe3a7aa4e IN  QuickSwap: Old QUICK Token0 MATIC0.001621188777 34.441349824
0xc85a32263608a91b4e6d166a6cf651bc3a3360113520955d157e9bf3923caebfApprove365894102022-12-08 19:23:4310 hrs 32 mins ago0x1aba64c3535dd573ddac5b922ee61e158b99f1b8 IN  QuickSwap: Old QUICK Token0 MATIC0.002757291902 58.577296061
0xd62271091678a79ce9353e7974e9277e6c1c93e0a7632942602a7cbd6ade70b3Approve365883802022-12-08 18:47:0911 hrs 8 mins ago0xb34bec11e20ea60fcb13411d92a7d932669473cc IN  QuickSwap: Old QUICK Token0 MATIC0.007888625319 167.589924142
[ Download CSV Export 

OVERVIEW

Token migration announcement. Quickswap contract has migrated to 0xB5C064F955D8e7F38fE0460C556a72987494eE17.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x14f65d3df671ad6e7c12fa1235b1c04dc6275d921fbca2c75a46838bf0709fbd254661412022-03-01 18:16:33282 days 11 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.751555068773273495 MATIC
0x84c12ccdd1dd5fc7e373c3df855e830e6666c5af0fcaa94c318323e4f0b057b0173133872021-07-27 6:14:55499 days 23 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.751555068773273495 MATIC
0x7a4951610367b9ecc9287fea04d3cc3ef3b1580e2e27c8f36e97547333272da2172158552021-07-24 11:18:09502 days 18 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.671826714536302114 MATIC
0x21a7df4d83e159eb98fb41ab882e58f4de28fd30915f9da725d92e07b988ee10172128362021-07-24 9:18:05502 days 20 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.671826714536302114 MATIC
0x7491edf3c0c9cef09a54a8108b1835e82b55bd111bbfe8bc4e1129aa33b18415172126932021-07-24 9:11:57502 days 20 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.671826714536302114 MATIC
0x80ad723457bfe610d036b020f390a797c4410c2accc490cfab0546a12053c119172125412021-07-24 9:06:41502 days 20 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.671826714536302114 MATIC
0xee92f0354857b1ffae946d0abaa8bd7d947351df2390f95ef9761f49aec864e8172122682021-07-24 8:55:11502 days 21 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.671826714536302114 MATIC
0x400cfa41fd98b323350c18ad6a9b98d7bb0bfefb65c347cee5e6b1fc4501ce6a172120912021-07-24 8:49:05502 days 21 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.671826714536302114 MATIC
0x899a8d7794be63fc81fcd8027da86888905c4811ddecb0839b6de5d5c10ad90e168060902021-07-13 5:42:45514 days 13 mins ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.671826714536302114 MATIC
0xf23d220b1ade99bd520c1f12c636aed2ba17d48ecea721dcd188d59a05e39e21167095352021-07-10 14:07:14516 days 15 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.556497490996899788 MATIC
0x9aa4a9ca66020b29be018cbce2f5c70c2610cb3013ad0d28edb40192f23e199f167094632021-07-10 14:03:26516 days 15 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.556497490996899788 MATIC
0x09bb01d76ff6df154338832cb5ac594dd854ca5df67892023da7f0e15b3f8188166515132021-07-08 21:17:24518 days 8 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.535072329387678601 MATIC
0x15a1ae937d7b9ebe5d548d76765e742caca6bfae16532fa32ca22397c509495f166395022021-07-08 11:58:56518 days 17 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.535072329387678601 MATIC
0xb84d9a1a457865b1f3eca2a370ff8367d46ca40477594434168326a9a43b006c166381682021-07-08 10:53:52518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.484805701957123366 MATIC
0x9ba56d6debcbfe68cad37fc150639b048d8f24865395721c662535394cf34e82166376392021-07-08 10:26:47518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.458472921416062911 MATIC
0x5f3dedc1b8dc1164a50245c6c19862c6e20c8ba4b66e848ebe6fb20bf2f8da74166376082021-07-08 10:25:25518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.43124905539431771 MATIC
0x105e970fa12e142d6faebfd28f9e1f8d5f508346091a40d431b160cc32da9969166375962021-07-08 10:25:01518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.43124905539431771 MATIC
0xf7e04571508916f473b8e48129a8dca8be1b881a4d3c29f194aa98d95499cb1a166375962021-07-08 10:25:01518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.43124905539431771 MATIC
0x80f7660d9f1bb7e6ba0bb02722b46d83b448227d549e3034758f9ec111d98696166375962021-07-08 10:25:01518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.43124905539431771 MATIC
0xae0c028e5c886da9ee67a8c6c898823fc233042b0e12556738d1835f426fdc3c166375952021-07-08 10:24:59518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.43124905539431771 MATIC
0x85c0a0052e914e7eaded1d77a824d9475180cbb738cd502bf8621f9e3ef0945a166375362021-07-08 10:22:57518 days 19 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.302744479289364129 MATIC
0x905574eb94303b826e52aa97f44687d7fa6b61faafbdba265263fababa05e085166279322021-07-08 4:35:44519 days 1 hr ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.264917207086557844 MATIC
0xd79a7d05438150dcf4715a112b8a5a5672bce57e230ce2311ddb8211cc5a5f29166279172021-07-08 4:35:14519 days 1 hr ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.264917207086557844 MATIC
0x63494987a13c23234761a994b8895cc178fe57b9b85217dac16fc4835c195caa166265562021-07-08 3:46:16519 days 2 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.191767815461683424 MATIC
0x26461a084c9d3355ae5f0875a53cf17125b97555f9872bf1c60487d925c549c5166253872021-07-08 3:01:50519 days 2 hrs ago 0xdbdabf15e4d8a8a1690197c4ee9dfacda85b4d30 QuickSwap: Old QUICK Token23.191767815461683424 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Quick

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-05-18
*/

/**
 *Submitted for verification at Etherscan.io on 2020-09-16
*/

/**
 *Submitted for verification at Etherscan.io on 2020-09-15
*/

pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol
// Subject to the MIT license.

/**
 * @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 addition of two unsigned integers, reverting with custom message on overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, errorMessage);

        return c;
    }

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

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot underflow.
     */
    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 multiplication of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b, string memory errorMessage) 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, errorMessage);

        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) {
        // Solidity only automatically asserts when dividing by 0
        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;
    }
}

contract Quick {
    /// @notice EIP-20 token name for this token
    string public constant name = "Quickswap";

    /// @notice EIP-20 token symbol for this token
    string public constant symbol = "QUICK";

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

    /// @notice Total number of tokens in circulation
    uint public totalSupply = 0; // QUICK

    /// @notice Allowance amounts on behalf of others
    mapping (address => mapping (address => uint96)) internal allowances;

    /// @notice Official record of token balances for each account
    mapping (address => uint96) internal balances;

    /// @notice A record of each accounts delegate
    mapping (address => address) public delegates;

    /// @notice A checkpoint for marking number of votes from a given block
    struct Checkpoint {
        uint32 fromBlock;
        uint96 votes;
    }

    /// @notice A record of votes checkpoints for each account, by index
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    /// @notice The number of checkpoints for each account
    mapping (address => uint32) public numCheckpoints;

    /// @notice The EIP-712 typehash for the contract's domain
    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");

    /// @notice The EIP-712 typehash for the delegation struct used by the contract
    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

    /// @notice The EIP-712 typehash for the permit struct used by the contract
    bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

    /// @notice A record of states for signing / validating signatures
    mapping (address => uint) public nonces;

    address public gateway;

    /// @notice An event thats emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    /// @notice An event thats emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

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

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

    /**
     * @notice Construct a new Quick token
     * @param gateway_ The gateway contract address
     */
    constructor(address gateway_) public {

        gateway = gateway_;
    }

    /**
     * @notice called when token is deposited on root chain
     * @dev Should be callable only by ChildChainManager
     * Should handle deposit by minting the required amount for user
     * Make sure minting is done only by this function
     * @param user user address for whom deposit is being done
     * @param depositData abi encoded amount
     */
    function deposit(address user, bytes calldata depositData)
        external
    {
        require(msg.sender == gateway,  "Invalid access");
        uint256 rawAmount = abi.decode(depositData, (uint256));
        uint96 amount = safe96(rawAmount, "Quick::deposit: amount exceeds 96 bits");

        _mint(user, amount);
    }

    /**
     * @notice called when user wants to withdraw tokens back to root chain
     * @dev Should burn user's tokens. This transaction will be verified when exiting on root chain
     * @param rawAmount amount of tokens to withdraw
     */
    function withdraw(uint256 rawAmount) external {
        uint96 amount = safe96(rawAmount, "Quick::withdraw: amount exceeds 96 bits");
        _burn(msg.sender, amount);
    }

    /**
     * @notice Get the number of tokens `spender` is approved to spend on behalf of `account`
     * @param account The address of the account holding the funds
     * @param spender The address of the account spending the funds
     * @return The number of tokens approved
     */
    function allowance(address account, address spender) external view returns (uint) {
        return allowances[account][spender];
    }

    /**
     * @notice Approve `spender` to transfer up to `amount` from `src`
     * @dev This will overwrite the approval amount for `spender`
     *  and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
     * @param spender The address of the account which may transfer tokens
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @return Whether or not the approval succeeded
     */
    function approve(address spender, uint rawAmount) external returns (bool) {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "Quick::approve: amount exceeds 96 bits");
        }

        allowances[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);
        return true;
    }

    /**
     * @notice Triggers an approval from owner to spends
     * @param owner The address to approve from
     * @param spender The address to be approved
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @param deadline The time at which to expire the signature
     * @param v The recovery byte of the signature
     * @param r Half of the ECDSA signature pair
     * @param s Half of the ECDSA signature pair
     */
    function permit(address owner, address spender, uint rawAmount, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "Quick::permit: amount exceeds 96 bits");
        }

        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, rawAmount, nonces[owner]++, deadline));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "Quick::permit: invalid signature");
        require(signatory == owner, "Quick::permit: unauthorized");
        require(now <= deadline, "Quick::permit: signature expired");

        allowances[owner][spender] = amount;

        emit Approval(owner, spender, amount);
    }

    /**
     * @notice Get the number of tokens held by the `account`
     * @param account The address of the account to get the balance of
     * @return The number of tokens held
     */
    function balanceOf(address account) external view returns (uint) {
        return balances[account];
    }

    /**
     * @notice Transfer `amount` tokens from `msg.sender` to `dst`
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transfer(address dst, uint rawAmount) external returns (bool) {
        uint96 amount = safe96(rawAmount, "Quick::transfer: amount exceeds 96 bits");
        _transferTokens(msg.sender, dst, amount);
        return true;
    }

    /**
     * @notice Transfer `amount` tokens from `src` to `dst`
     * @param src The address of the source account
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transferFrom(address src, address dst, uint rawAmount) external returns (bool) {
        address spender = msg.sender;
        uint96 spenderAllowance = allowances[src][spender];
        uint96 amount = safe96(rawAmount, "Quick::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "Quick::transferFrom: transfer amount exceeds spender allowance");
            allowances[src][spender] = newAllowance;

            emit Approval(src, spender, newAllowance);
        }

        _transferTokens(src, dst, amount);
        return true;
    }

    /**
     * @notice Delegate votes from `msg.sender` to `delegatee`
     * @param delegatee The address to delegate votes to
     */
    function delegate(address delegatee) public {
        return _delegate(msg.sender, delegatee);
    }

    /**
     * @notice Delegates votes from signatory to `delegatee`
     * @param delegatee The address to delegate votes to
     * @param nonce The contract state required to match the signature
     * @param expiry The time at which to expire the signature
     * @param v The recovery byte of the signature
     * @param r Half of the ECDSA signature pair
     * @param s Half of the ECDSA signature pair
     */
    function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "Quick::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "Quick::delegateBySig: invalid nonce");
        require(now <= expiry, "Quick::delegateBySig: signature expired");
        return _delegate(signatory, delegatee);
    }

    /**
     * @notice Gets the current votes balance for `account`
     * @param account The address to get votes balance
     * @return The number of current votes for `account`
     */
    function getCurrentVotes(address account) external view returns (uint96) {
        uint32 nCheckpoints = numCheckpoints[account];
        return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
    }

    /**
     * @notice Determine the prior number of votes for an account as of a block number
     * @dev Block number must be a finalized block or else this function will revert to prevent misinformation.
     * @param account The address of the account to check
     * @param blockNumber The block number to get the vote balance at
     * @return The number of votes the account had as of the given block
     */
    function getPriorVotes(address account, uint blockNumber) public view returns (uint96) {
        require(blockNumber < block.number, "Quick::getPriorVotes: not yet determined");

        uint32 nCheckpoints = numCheckpoints[account];
        if (nCheckpoints == 0) {
            return 0;
        }

        // First check most recent balance
        if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
            return checkpoints[account][nCheckpoints - 1].votes;
        }

        // Next check implicit zero balance
        if (checkpoints[account][0].fromBlock > blockNumber) {
            return 0;
        }

        uint32 lower = 0;
        uint32 upper = nCheckpoints - 1;
        while (upper > lower) {
            uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow
            Checkpoint memory cp = checkpoints[account][center];
            if (cp.fromBlock == blockNumber) {
                return cp.votes;
            } else if (cp.fromBlock < blockNumber) {
                lower = center;
            } else {
                upper = center - 1;
            }
        }
        return checkpoints[account][lower].votes;
    }

    function _delegate(address delegator, address delegatee) internal {
        address currentDelegate = delegates[delegator];
        uint96 delegatorBalance = balances[delegator];
        delegates[delegator] = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, delegatorBalance);
    }

    function _transferTokens(address src, address dst, uint96 amount) internal {
        require(src != address(0), "Quick::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "Quick::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "Quick::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "Quick::_transferTokens: transfer amount overflows");
        emit Transfer(src, dst, amount);

        _moveDelegates(delegates[src], delegates[dst], amount);
    }

    function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                uint32 srcRepNum = numCheckpoints[srcRep];
                uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint96 srcRepNew = sub96(srcRepOld, amount, "Quick::_moveVotes: vote amount underflows");
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                uint32 dstRepNum = numCheckpoints[dstRep];
                uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint96 dstRepNew = add96(dstRepOld, amount, "Quick::_moveVotes: vote amount overflows");
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {
      uint32 blockNumber = safe32(block.number, "Quick::_writeCheckpoint: block number exceeds 32 bits");

      if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
          checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
      } else {
          checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
          numCheckpoints[delegatee] = nCheckpoints + 1;
      }

      emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
    }

    function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function safe96(uint n, string memory errorMessage) internal pure returns (uint96) {
        require(n < 2**96, errorMessage);
        return uint96(n);
    }

    function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        uint96 c = a + b;
        require(c >= a, errorMessage);
        return c;
    }

    function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        require(b <= a, errorMessage);
        return a - b;
    }

    function getChainId() internal pure returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }

    function _mint(address dst, uint rawAmount) internal {
        require(dst != address(0), "Quick::mint: cannot transfer to the zero address");

        // mint the amount
        uint96 amount = safe96(rawAmount, "Quick::mint: amount exceeds 96 bits");
        totalSupply = safe96(SafeMath.add(totalSupply, amount), "Quick::mint: totalSupply exceeds 96 bits");

        // transfer the amount to the recipient
        balances[dst] = add96(balances[dst], amount, "Quick::mint: transfer amount overflows");
        emit Transfer(address(0), dst, amount);

    }

    function _burn(address account, uint96 amount) internal {
        require(account != address(0), "Quick:: burn from the zero address");

        balances[account] = sub96(balances[account], amount, "Quick:: burn amount exceeds balance");
        totalSupply = sub96(safe96(totalSupply, "Quick:: totalSupply exceeds 96 bits"), amount, "Quick:: burn amount exceeds total supply");
        emit Transfer(account, address(0), amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"gateway_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes","name":"depositData","type":"bytes"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gateway","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052600080553480156200001557600080fd5b506040516200280b3803806200280b833981016040819052620000389162000071565b600780546001600160a01b0319166001600160a01b0392909216919091179055620000c6565b80516200006b81620000ac565b92915050565b6000602082840312156200008457600080fd5b60006200009284846200005e565b949350505050565b60006001600160a01b0382166200006b565b620000b7816200009a565b8114620000c357600080fd5b50565b61273580620000d66000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063c3cda5201161007c578063c3cda520146102cc578063cf2c52cb146102df578063d505accf146102f2578063dd62ed3e14610305578063e7a324dc14610318578063f1127ed81461032057610158565b806370a0823114610258578063782d6fe11461026b5780637ecebe001461028b57806395d89b411461029e578063a9059cbb146102a6578063b4b5ea57146102b957610158565b80632e1a7d4d116101155780632e1a7d4d146101e057806330adf81f146101f5578063313ce567146101fd578063587cde1e146102125780635c19a95c146102255780636fcfff451461023857610158565b806306fdde031461015d578063095ea7b31461017b578063116191b61461019b57806318160ddd146101b057806320606b70146101c557806323b872dd146101cd575b600080fd5b610165610341565b604051610172919061221d565b60405180910390f35b61018e610189366004611a41565b610366565b6040516101729190612119565b6101a3610425565b604051610172919061210b565b6101b8610434565b6040516101729190612127565b6101b861043a565b61018e6101db366004611902565b610451565b6101f36101ee366004611b28565b61059a565b005b6101b86105ce565b6102056105da565b6040516101729190612327565b6101a36102203660046118a2565b6105df565b6101f36102333660046118a2565b6105fa565b61024b6102463660046118a2565b610607565b60405161017291906122fe565b6101b86102663660046118a2565b61061f565b61027e610279366004611a41565b610643565b6040516101729190612343565b6101b86102993660046118a2565b61085a565b61016561086c565b61018e6102b4366004611a41565b61088d565b61027e6102c73660046118a2565b6108c9565b6101f36102da366004611a71565b610939565b6101f36102ed3660046119eb565b610b24565b6101f361030036600461194f565b610b9e565b6101b86103133660046118c8565b610e8b565b6101b8610ebf565b61033361032e366004611af8565b610ecb565b60405161017292919061230c565b604051806040016040528060098152602001680517569636b737761760bc1b81525081565b60008060001983141561037c57506000196103a1565b61039e836040518060600160405280602681526020016124cc60269139610f00565b90505b3360008181526001602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610411908590612335565b60405180910390a360019150505b92915050565b6007546001600160a01b031681565b60005481565b604051610446906120f5565b604051809103902081565b6001600160a01b03831660009081526001602090815260408083203380855290835281842054825160608101909352602680845291936001600160601b039091169285926104a992889291906124cc90830139610f00565b9050866001600160a01b0316836001600160a01b0316141580156104d657506001600160601b0382811614155b1561058057600061050083836040518060600160405280603e815260200161259e603e9139610f2f565b6001600160a01b038981166000818152600160209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610576908590612335565b60405180910390a3505b61058b878783610f6e565b600193505050505b9392505050565b60006105be8260405180606001604052806027815260200161245160279139610f00565b90506105ca3382611119565b5050565b604051610446906120ea565b601281565b6003602052600090815260409020546001600160a01b031681565b610604338261126e565b50565b60056020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600260205260409020546001600160601b031690565b600043821061066d5760405162461bcd60e51b81526004016106649061229e565b60405180910390fd5b6001600160a01b03831660009081526005602052604090205463ffffffff168061069b57600091505061041f565b6001600160a01b038416600090815260046020908152604080832063ffffffff600019860181168552925290912054168310610717576001600160a01b03841660009081526004602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b0316905061041f565b6001600160a01b038416600090815260046020908152604080832083805290915290205463ffffffff1683101561075257600091505061041f565b600060001982015b8163ffffffff168163ffffffff16111561081557600282820363ffffffff16048103610784611816565b506001600160a01b038716600090815260046020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b031691810191909152908714156107f05760200151945061041f9350505050565b805163ffffffff168711156108075781935061080e565b6001820392505b505061075a565b506001600160a01b038516600090815260046020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60066020526000908152604090205481565b60405180604001604052806005815260200164515549434b60d81b81525081565b6000806108b28360405180606001604052806027815260200161257760279139610f00565b90506108bf338583610f6e565b5060019392505050565b6001600160a01b03811660009081526005602052604081205463ffffffff16806108f4576000610593565b6001600160a01b0383166000908152600460209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03169392505050565b6000604051610947906120f5565b6040805191829003822082820190915260098252680517569636b737761760bc1b6020909201919091527f84356cec62b4776fab815ae779598e1a4af2765a01721362a1125b8fe66ddb3c61099a6112f8565b306040516020016109ae94939291906121cd565b60405160208183030381529060405280519060200120905060006040516109d490612100565b6040519081900381206109ef918a908a908a9060200161218f565b60405160208183030381529060405280519060200120905060008282604051602001610a1c9291906120b9565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610a599493929190612202565b6020604051602081039080840390855afa158015610a7b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610aae5760405162461bcd60e51b81526004016106649061224e565b6001600160a01b03811660009081526006602052604090208054600181019091558914610aed5760405162461bcd60e51b81526004016106649061226e565b87421115610b0d5760405162461bcd60e51b81526004016106649061228e565b610b17818b61126e565b505050505b505050505050565b6007546001600160a01b03163314610b4e5760405162461bcd60e51b8152600401610664906122ce565b6000610b5c82840184611b28565b90506000610b82826040518060600160405280602681526020016126cd60269139610f00565b9050610b9785826001600160601b03166112fc565b5050505050565b6000600019861415610bb35750600019610bd8565b610bd58660405180606001604052806025815260200161267160259139610f00565b90505b6000604051610be6906120f5565b6040805191829003822082820190915260098252680517569636b737761760bc1b6020909201919091527f84356cec62b4776fab815ae779598e1a4af2765a01721362a1125b8fe66ddb3c610c396112f8565b30604051602001610c4d94939291906121cd565b6040516020818303038152906040528051906020012090506000604051610c73906120ea565b604080519182900382206001600160a01b038d16600090815260066020908152929020805460018101909155610cb59391928e928e928e9290918e9101612135565b60405160208183030381529060405280519060200120905060008282604051602001610ce29291906120b9565b604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051610d1f9493929190612202565b6020604051602081039080840390855afa158015610d41573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d745760405162461bcd60e51b8152600401610664906122be565b8b6001600160a01b0316816001600160a01b031614610da55760405162461bcd60e51b81526004016106649061227e565b88421115610dc55760405162461bcd60e51b81526004016106649061225e565b84600160008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055508a6001600160a01b03168c6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610e759190612335565b60405180910390a3505050505050505050505050565b6001600160a01b0391821660009081526001602090815260408083209390941682529190915220546001600160601b031690565b60405161044690612100565b600460209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b600081600160601b8410610f275760405162461bcd60e51b8152600401610664919061221d565b509192915050565b6000836001600160601b0316836001600160601b031611158290610f665760405162461bcd60e51b8152600401610664919061221d565b505050900390565b6001600160a01b038316610f945760405162461bcd60e51b8152600401610664906122ae565b6001600160a01b038216610fba5760405162461bcd60e51b8152600401610664906122de565b6001600160a01b038316600090815260026020908152604091829020548251606081019093526037808452611005936001600160601b03909216928592919061269690830139610f2f565b6001600160a01b03848116600090815260026020908152604080832080546001600160601b0319166001600160601b0396871617905592861682529082902054825160608101909352603180845261106d949190911692859290919061247890830139611447565b6001600160a01b038381166000818152600260205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110da908590612335565b60405180910390a36001600160a01b0380841660009081526003602052604080822054858416835291205461111492918216911683611483565b505050565b6001600160a01b03821661113f5760405162461bcd60e51b8152600401610664906122ee565b6001600160a01b03821660009081526002602090815260409182902054825160608101909352602380845261118a936001600160601b03909216928592919061264e90830139610f2f565b60026000846001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055506112196111fa60005460405180606001604052806023815260200161262b60239139610f00565b8260405180606001604052806028815260200161252760289139610f2f565b6001600160601b031660009081556040516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611262908590612335565b60405180910390a35050565b6001600160a01b03808316600081815260036020818152604080842080546002845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46112f2828483611483565b50505050565b4690565b6001600160a01b0382166113225760405162461bcd60e51b81526004016106649061222e565b6000611346826040518060600160405280602381526020016124a960239139610f00565b905061137e611360600054836001600160601b0316611615565b60405180606001604052806028815260200161254f60289139610f00565b6001600160601b0390811660009081556001600160a01b0385168152600260209081526040918290205482516060810190935260268084526113d0949190911692859290919061260590830139611447565b6001600160a01b03841660008181526002602052604080822080546001600160601b0319166001600160601b03959095169490941790935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061143a908590612335565b60405180910390a3505050565b6000838301826001600160601b03808716908316101561147a5760405162461bcd60e51b8152600401610664919061221d565b50949350505050565b816001600160a01b0316836001600160a01b0316141580156114ae57506000816001600160601b0316115b15611114576001600160a01b03831615611566576001600160a01b03831660009081526005602052604081205463ffffffff1690816114ee57600061152d565b6001600160a01b0385166000908152600460209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061155482856040518060600160405280602981526020016125dc60299139610f2f565b90506115628684848461163a565b5050505b6001600160a01b03821615611114576001600160a01b03821660009081526005602052604081205463ffffffff1690816115a15760006115e0565b6001600160a01b0384166000908152600460209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000611607828560405180606001604052806028815260200161242960289139611447565b9050610b1c8584848461163a565b6000828201838110156105935760405162461bcd60e51b81526004016106649061223e565b600061165e436040518060600160405280603581526020016124f2603591396117ef565b905060008463ffffffff161180156116a757506001600160a01b038516600090815260046020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611706576001600160a01b0385166000908152600460209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b038516021790556117a5565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600483528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600590935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516117e0929190612351565b60405180910390a25050505050565b600081600160201b8410610f275760405162461bcd60e51b8152600401610664919061221d565b604080518082019091526000808252602082015290565b803561041f816123f9565b803561041f8161240d565b60008083601f84011261185557600080fd5b50813567ffffffffffffffff81111561186d57600080fd5b60208301915083600182028301111561188557600080fd5b9250929050565b803561041f81612416565b803561041f8161241f565b6000602082840312156118b457600080fd5b60006118c0848461182d565b949350505050565b600080604083850312156118db57600080fd5b60006118e7858561182d565b92505060206118f88582860161182d565b9150509250929050565b60008060006060848603121561191757600080fd5b6000611923868661182d565b93505060206119348682870161182d565b925050604061194586828701611838565b9150509250925092565b600080600080600080600060e0888a03121561196a57600080fd5b60006119768a8a61182d565b97505060206119878a828b0161182d565b96505060406119988a828b01611838565b95505060606119a98a828b01611838565b94505060806119ba8a828b01611897565b93505060a06119cb8a828b01611838565b92505060c06119dc8a828b01611838565b91505092959891949750929550565b600080600060408486031215611a0057600080fd5b6000611a0c868661182d565b935050602084013567ffffffffffffffff811115611a2957600080fd5b611a3586828701611843565b92509250509250925092565b60008060408385031215611a5457600080fd5b6000611a60858561182d565b92505060206118f885828601611838565b60008060008060008060c08789031215611a8a57600080fd5b6000611a96898961182d565b9650506020611aa789828a01611838565b9550506040611ab889828a01611838565b9450506060611ac989828a01611897565b9350506080611ada89828a01611838565b92505060a0611aeb89828a01611838565b9150509295509295509295565b60008060408385031215611b0b57600080fd5b6000611b17858561182d565b92505060206118f88582860161188c565b600060208284031215611b3a57600080fd5b60006118c08484611838565b611b4f8161237e565b82525050565b611b4f81612389565b611b4f8161238e565b611b4f611b738261238e565b61238e565b6000611b838261236c565b611b8d8185612370565b9350611b9d8185602086016123c3565b611ba6816123ef565b9093019392505050565b6000611bbd603083612370565b7f517569636b3a3a6d696e743a2063616e6e6f74207472616e7366657220746f2081526f746865207a65726f206164647265737360801b602082015260400192915050565b6000611c0f600283612379565b61190160f01b815260020192915050565b6000611c2d601b83612370565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611c66602783612370565b7f517569636b3a3a64656c656761746542795369673a20696e76616c6964207369815266676e617475726560c81b602082015260400192915050565b6000611caf602083612370565b7f517569636b3a3a7065726d69743a207369676e61747572652065787069726564815260200192915050565b6000611ce8602383612370565b7f517569636b3a3a64656c656761746542795369673a20696e76616c6964206e6f8152626e636560e81b602082015260400192915050565b6000611d2d601b83612370565b7f517569636b3a3a7065726d69743a20756e617574686f72697a65640000000000815260200192915050565b6000611d66602783612370565b7f517569636b3a3a64656c656761746542795369673a207369676e617475726520815266195e1c1a5c995960ca1b602082015260400192915050565b6000611daf605283612379565b7f5065726d69742861646472657373206f776e65722c616464726573732073706581527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63656020820152712c75696e7432353620646561646c696e652960701b604082015260520192915050565b6000611e29602883612370565b7f517569636b3a3a6765745072696f72566f7465733a206e6f74207965742064658152671d195c9b5a5b995960c21b602082015260400192915050565b6000611e73604383612379565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b6000611ede603d83612370565b7f517569636b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207481527f72616e736665722066726f6d20746865207a65726f2061646472657373000000602082015260400192915050565b6000611f3d602083612370565b7f517569636b3a3a7065726d69743a20696e76616c6964207369676e6174757265815260200192915050565b6000611f76600e83612370565b6d496e76616c69642061636365737360901b815260200192915050565b6000611fa0603b83612370565b7f517569636b3a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207481527f72616e7366657220746f20746865207a65726f20616464726573730000000000602082015260400192915050565b6000611fff602283612370565b7f517569636b3a3a206275726e2066726f6d20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612043603a83612379565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0192915050565b611b4f8161239d565b611b4f816123a6565b611b4f816123b8565b611b4f816123ac565b60006120c482611c02565b91506120d08285611b67565b6020820191506120e08284611b67565b5060200192915050565b600061041f82611da2565b600061041f82611e66565b600061041f82612036565b6020810161041f8284611b46565b6020810161041f8284611b55565b6020810161041f8284611b5e565b60c081016121438289611b5e565b6121506020830188611b46565b61215d6040830187611b46565b61216a6060830186611b5e565b6121776080830185611b5e565b61218460a0830184611b5e565b979650505050505050565b6080810161219d8287611b5e565b6121aa6020830186611b46565b6121b76040830185611b5e565b6121c46060830184611b5e565b95945050505050565b608081016121db8287611b5e565b6121e86020830186611b5e565b6121f56040830185611b5e565b6121c46060830184611b46565b608081016122108287611b5e565b6121aa602083018661209e565b602080825281016105938184611b78565b6020808252810161041f81611bb0565b6020808252810161041f81611c20565b6020808252810161041f81611c59565b6020808252810161041f81611ca2565b6020808252810161041f81611cdb565b6020808252810161041f81611d20565b6020808252810161041f81611d59565b6020808252810161041f81611e1c565b6020808252810161041f81611ed1565b6020808252810161041f81611f30565b6020808252810161041f81611f69565b6020808252810161041f81611f93565b6020808252810161041f81611ff2565b6020810161041f8284612095565b6040810161231a8285612095565b61059360208301846120b0565b6020810161041f828461209e565b6020810161041f82846120a7565b6020810161041f82846120b0565b6040810161235f82856120a7565b61059360208301846120a7565b5190565b90815260200190565b919050565b600061041f82612391565b151590565b90565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b6001600160601b031690565b600061041f826123ac565b60005b838110156123de5781810151838201526020016123c6565b838111156112f25750506000910152565b601f01601f191690565b6124028161237e565b811461060457600080fd5b6124028161238e565b6124028161239d565b612402816123a656fe517569636b3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773517569636b3a3a77697468647261773a20616d6f756e7420657863656564732039362062697473517569636b3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773517569636b3a3a6d696e743a20616d6f756e7420657863656564732039362062697473517569636b3a3a617070726f76653a20616d6f756e7420657863656564732039362062697473517569636b3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473517569636b3a3a206275726e20616d6f756e74206578636565647320746f74616c20737570706c79517569636b3a3a6d696e743a20746f74616c537570706c7920657863656564732039362062697473517569636b3a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473517569636b3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365517569636b3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773517569636b3a3a6d696e743a207472616e7366657220616d6f756e74206f766572666c6f7773517569636b3a3a20746f74616c537570706c7920657863656564732039362062697473517569636b3a3a206275726e20616d6f756e7420657863656564732062616c616e6365517569636b3a3a7065726d69743a20616d6f756e7420657863656564732039362062697473517569636b3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365517569636b3a3a6465706f7369743a20616d6f756e7420657863656564732039362062697473a365627a7a723158206fbb73905322d6fe560a494811880e9c468720793c15cc30d295d7985b1dab676c6578706572696d656e74616cf564736f6c63430005110040000000000000000000000000a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa

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

000000000000000000000000a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa

-----Decoded View---------------
Arg [0] : gateway_ (address): 0xa6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa


Deployed ByteCode Sourcemap

6777:16717:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6777:16717:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6849:41;;;:::i;:::-;;;;;;;;;;;;;;;;11682:420;;;;;;;;;:::i;:::-;;;;;;;;8742:22;;;:::i;:::-;;;;;;;;7152:27;;;:::i;:::-;;;;;;;;8053:122;;;:::i;14774:674::-;;;;;;;;;:::i;10587:177::-;;;;;;;;;:::i;:::-;;8476:137;;;:::i;7053:35::-;;;:::i;:::-;;;;;;;;7503:45;;;;;;;;;:::i;15596:102::-;;;;;;;;;:::i;7931:49::-;;;;;;;;;:::i;:::-;;;;;;;;13853:108;;;;;;;;;:::i;17778:1219::-;;;;;;;;;:::i;:::-;;;;;;;;8694:39;;;;;;;;;:::i;6951:::-;;;:::i;14225:239::-;;;;;;;;;:::i;17125:222::-;;;;;;;;;:::i;16132:792::-;;;;;;;;;:::i;9996:333::-;;;;;;;;;:::i;12592:1058::-;;;;;;;;;:::i;11068:136::-;;;;;;;;;:::i;8269:117::-;;;:::i;7792:70::-;;;;;;;;;:::i;:::-;;;;;;;;;6849:41;;;;;;;;;;;;;;-1:-1:-1;;;6849:41:0;;;;:::o;11682:420::-;11750:4;11767:13;-1:-1:-1;;11795:9:0;:21;11791:174;;;-1:-1:-1;;;11791:174:0;;;11894:59;11901:9;11894:59;;;;;;;;;;;;;;;;;:6;:59::i;:::-;11885:68;;11791:174;11988:10;11977:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;11977:31:0;;;;;;;;;;;:40;;-1:-1:-1;;;;;;11977:40:0;-1:-1:-1;;;;;11977:40:0;;;;;12035:37;;11977:31;;11988:10;12035:37;;;;11977:40;;12035:37;;;;;;;;;;12090:4;12083:11;;;11682:420;;;;;:::o;8742:22::-;;;-1:-1:-1;;;;;8742:22:0;;:::o;7152:27::-;;;;:::o;8053:122::-;8095:80;;;;;;;;;;;;;;8053:122;:::o;14774:674::-;-1:-1:-1;;;;;14938:15:0;;14856:4;14938:15;;;:10;:15;;;;;;;;14891:10;14938:24;;;;;;;;;;14989:59;;;;;;;;;;;;14891:10;;-1:-1:-1;;;;;14938:24:0;;;;14856:4;;14989:59;;14996:9;;14989:59;;;;;;;:6;:59::i;:::-;14973:75;;15076:3;-1:-1:-1;;;;;15065:14:0;:7;-1:-1:-1;;;;;15065:14:0;;;:48;;;;-1:-1:-1;;;;;;15083:30:0;;;;;15065:48;15061:312;;;15130:19;15152:97;15158:16;15176:6;15152:97;;;;;;;;;;;;;;;;;:5;:97::i;:::-;-1:-1:-1;;;;;15264:15:0;;;;;;;:10;:15;;;;;;;;:24;;;;;;;;;;;;;;:39;;-1:-1:-1;;;;;;15264:39:0;-1:-1:-1;;;;;15264:39:0;;;;;15325:36;15264:39;;-1:-1:-1;15264:24:0;;15325:36;;;;15264:39;;15325:36;;;;;;;;;;15061:312;;15385:33;15401:3;15406;15411:6;15385:15;:33::i;:::-;15436:4;15429:11;;;;;14774:674;;;;;;:::o;10587:177::-;10644:13;10660:60;10667:9;10660:60;;;;;;;;;;;;;;;;;:6;:60::i;:::-;10644:76;;10731:25;10737:10;10749:6;10731:5;:25::i;:::-;10587:177;;:::o;8476:137::-;8518:95;;;;;;7053:35;7086:2;7053:35;:::o;7503:45::-;;;;;;;;;;;;-1:-1:-1;;;;;7503:45:0;;:::o;15596:102::-;15658:32;15668:10;15680:9;15658;:32::i;:::-;15596:102;:::o;7931:49::-;;;;;;;;;;;;;;;:::o;13853:108::-;-1:-1:-1;;;;;13936:17:0;13912:4;13936:17;;;:8;:17;;;;;;-1:-1:-1;;;;;13936:17:0;;13853:108::o;17778:1219::-;17857:6;17898:12;17884:11;:26;17876:79;;;;-1:-1:-1;;;17876:79:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17990:23:0;;17968:19;17990:23;;;:14;:23;;;;;;;;18028:17;18024:58;;18069:1;18062:8;;;;;18024:58;-1:-1:-1;;;;;18142:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;18163:16:0;;18142:38;;;;;;;;;:48;;:63;-1:-1:-1;18138:147:0;;-1:-1:-1;;;;;18229:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;18250:16:0;;;;18229:38;;;;;;;;:44;-1:-1:-1;;;18229:44:0;;-1:-1:-1;;;;;18229:44:0;;-1:-1:-1;18222:51:0;;18138:147;-1:-1:-1;;;;;18346:20:0;;;;;;:11;:20;;;;;;;;:23;;;;;;;;:33;:23;:33;:47;-1:-1:-1;18342:88:0;;;18417:1;18410:8;;;;;18342:88;18442:12;-1:-1:-1;;18484:16:0;;18511:428;18526:5;18518:13;;:5;:13;;;18511:428;;;18590:1;18573:13;;;18572:19;;;18564:27;;18633:20;;:::i;:::-;-1:-1:-1;;;;;;18656:20:0;;;;;;:11;:20;;;;;;;;:28;;;;;;;;;;;;;18633:51;;;;;;;;;;;;;;;-1:-1:-1;;;18633:51:0;;;-1:-1:-1;;;;;18633:51:0;;;;;;;;;18703:27;;18699:229;;;18758:8;;;;-1:-1:-1;18751:15:0;;-1:-1:-1;;;;18751:15:0;18699:229;18792:12;;:26;;;-1:-1:-1;18788:140:0;;;18847:6;18839:14;;18788:140;;;18911:1;18902:6;:10;18894:18;;18788:140;18511:428;;;;;-1:-1:-1;;;;;;18956:20:0;;;;;;:11;:20;;;;;;;;:27;;;;;;;;;;:33;-1:-1:-1;;;;;;;;18956:33:0;;;;;-1:-1:-1;;17778:1219:0;;;;:::o;8694:39::-;;;;;;;;;;;;;:::o;6951:::-;;;;;;;;;;;;;;-1:-1:-1;;;6951:39:0;;;;:::o;14225:239::-;14290:4;14307:13;14323:60;14330:9;14323:60;;;;;;;;;;;;;;;;;:6;:60::i;:::-;14307:76;;14394:40;14410:10;14422:3;14427:6;14394:15;:40::i;:::-;-1:-1:-1;14452:4:0;;14225:239;-1:-1:-1;;;14225:239:0:o;17125:222::-;-1:-1:-1;;;;;17231:23:0;;17190:6;17231:23;;;:14;:23;;;;;;;;17272:16;:67;;17338:1;17272:67;;;-1:-1:-1;;;;;17291:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;17312:16:0;;17291:38;;;;;;;;;:44;-1:-1:-1;;;17291:44:0;;-1:-1:-1;;;;;17291:44:0;17265:74;17125:222;-1:-1:-1;;;17125:222:0:o;16132:792::-;16248:23;8095:80;;;;;;;;;;;;;;;;16328:4;;;;;;;;;-1:-1:-1;;;16328:4:0;;;;;;;;16312:22;16336:12;:10;:12::i;:::-;16358:4;16284:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16284:80:0;;;16274:91;;;;;;16248:117;;16376:18;8315:71;;;;;;;;;;;;;;;16407:57;;16439:9;;16450:5;;16457:6;;16407:57;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16407:57:0;;;16397:68;;;;;;16376:89;;16476:14;16532:15;16549:10;16503:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16503:57:0;;;16493:68;;;;;;16476:85;;16572:17;16592:26;16602:6;16610:1;16613;16616;16592:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;16592:26:0;;-1:-1:-1;;16592:26:0;;;-1:-1:-1;;;;;;;16637:23:0;;16629:75;;;;-1:-1:-1;;;16629:75:0;;;;;;;;;-1:-1:-1;;;;;16732:17:0;;;;;;:6;:17;;;;;:19;;;;;;;;16723:28;;16715:76;;;;-1:-1:-1;;;16715:76:0;;;;;;;;;16817:6;16810:3;:13;;16802:65;;;;-1:-1:-1;;;16802:65:0;;;;;;;;;16885:31;16895:9;16906;16885;:31::i;:::-;16878:38;;;;16132:792;;;;;;;:::o;9996:333::-;10111:7;;-1:-1:-1;;;;;10111:7:0;10097:10;:21;10089:49;;;;-1:-1:-1;;;10089:49:0;;;;;;;;;10149:17;10169:34;;;;10180:11;10169:34;;;10149:54;;10214:13;10230:59;10237:9;10230:59;;;;;;;;;;;;;;;;;:6;:59::i;:::-;10214:75;;10302:19;10308:4;10314:6;-1:-1:-1;;;;;10302:19:0;:5;:19::i;:::-;9996:333;;;;;:::o;12592:1058::-;12722:13;-1:-1:-1;;12750:9:0;:21;12746:173;;;-1:-1:-1;;;12746:173:0;;;12849:58;12856:9;12849:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;12840:67;;12746:173;12931:23;8095:80;;;;;;;;;;;;;;;;13011:4;;;;;;;;;-1:-1:-1;;;13011:4:0;;;;;;;;12995:22;13019:12;:10;:12::i;:::-;13041:4;12967:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12967:80:0;;;12957:91;;;;;;12931:117;;13059:18;8518:95;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13145:13:0;;;;;;:6;:13;;;;;;;:15;;;;;;;;13090:81;;8518:95;;13118:5;;13125:7;;13134:9;;13145:15;;13162:8;;13090:81;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13090:81:0;;;13080:92;;;;;;13059:113;;13183:14;13239:15;13256:10;13210:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13210:57:0;;;13200:68;;;;;;13183:85;;13279:17;13299:26;13309:6;13317:1;13320;13323;13299:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;13299:26:0;;-1:-1:-1;;13299:26:0;;;-1:-1:-1;;;;;;;13344:23:0;;13336:68;;;;-1:-1:-1;;;13336:68:0;;;;;;;;;13436:5;-1:-1:-1;;;;;13423:18:0;:9;-1:-1:-1;;;;;13423:18:0;;13415:58;;;;-1:-1:-1;;;13415:58:0;;;;;;;;;13499:8;13492:3;:15;;13484:60;;;;-1:-1:-1;;;13484:60:0;;;;;;;;;13586:6;13557:10;:17;13568:5;-1:-1:-1;;;;;13557:17:0;-1:-1:-1;;;;;13557:17:0;;;;;;;;;;;;:26;13575:7;-1:-1:-1;;;;;13557:26:0;-1:-1:-1;;;;;13557:26:0;;;;;;;;;;;;;:35;;;;;-1:-1:-1;;;;;13557:35:0;;;;;-1:-1:-1;;;;;13557:35:0;;;;;;13626:7;-1:-1:-1;;;;;13610:32:0;13619:5;-1:-1:-1;;;;;13610:32:0;;13635:6;13610:32;;;;;;;;;;;;;;;12592:1058;;;;;;;;;;;;:::o;11068:136::-;-1:-1:-1;;;;;11168:19:0;;;11144:4;11168:19;;;:10;:19;;;;;;;;:28;;;;;;;;;;;;-1:-1:-1;;;;;11168:28:0;;11068:136::o;8269:117::-;8315:71;;;;;;7792:70;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7792:70:0;;-1:-1:-1;;;;;7792:70:0;;:::o;21770:161::-;21845:6;21883:12;-1:-1:-1;;;21872:9:0;;21864:32;;;;-1:-1:-1;;;21864:32:0;;;;;;;;;;-1:-1:-1;21921:1:0;;21770:161;-1:-1:-1;;21770:161:0:o;22135:165::-;22221:6;22253:1;-1:-1:-1;;;;;22248:6:0;:1;-1:-1:-1;;;;;22248:6:0;;;22256:12;22240:29;;;;;-1:-1:-1;;;22240:29:0;;;;;;;;;;-1:-1:-1;;;22287:5:0;;;22135:165::o;19388:618::-;-1:-1:-1;;;;;19482:17:0;;19474:91;;;;-1:-1:-1;;;19474:91:0;;;;;;;;;-1:-1:-1;;;;;19584:17:0;;19576:89;;;;-1:-1:-1;;;19576:89:0;;;;;;;;;-1:-1:-1;;;;;19700:13:0;;;;;;:8;:13;;;;;;;;;;19694:87;;;;;;;;;;;;;;-1:-1:-1;;;;;19700:13:0;;;;19715:6;;19694:87;;;;;;;:5;:87::i;:::-;-1:-1:-1;;;;;19678:13:0;;;;;;;:8;:13;;;;;;;;:103;;-1:-1:-1;;;;;;19678:103:0;-1:-1:-1;;;;;19678:103:0;;;;;;19814:13;;;;;;;;;;19808:81;;;;;;;;;;;;;;19814:13;;;;;19829:6;;19808:81;;;;;;;;:5;:81::i;:::-;-1:-1:-1;;;;;19792:13:0;;;;;;;:8;:13;;;;;;;:97;;-1:-1:-1;;;;;;19792:97:0;-1:-1:-1;;;;;19792:97:0;;;;;;;;;;;19905:26;;;;;;;;;;19924:6;;19905:26;;;;;;;;;;-1:-1:-1;;;;;19959:14:0;;;;;;;:9;:14;;;;;;;19975;;;;;;;;19944:54;;19959:14;;;;19975;19991:6;19944:14;:54::i;:::-;19388:618;;;:::o;23049:442::-;-1:-1:-1;;;;;23124:21:0;;23116:68;;;;-1:-1:-1;;;23116:68:0;;;;;;;;;-1:-1:-1;;;;;23223:17:0;;;;;;:8;:17;;;;;;;;;;23217:71;;;;;;;;;;;;;;-1:-1:-1;;;;;23223:17:0;;;;23242:6;;23217:71;;;;;;;:5;:71::i;:::-;23197:8;:17;23206:7;-1:-1:-1;;;;;23197:17:0;-1:-1:-1;;;;;23197:17:0;;;;;;;;;;;;;:91;;;;;-1:-1:-1;;;;;23197:91:0;;;;;-1:-1:-1;;;;;23197:91:0;;;;;;23313:117;23319:58;23326:11;;23319:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;23379:6;23313:117;;;;;;;;;;;;;;;;;:5;:117::i;:::-;-1:-1:-1;;;;;23299:131:0;:11;:131;;;23446:37;;-1:-1:-1;;;;;23446:37:0;;;;;;;23476:6;;23446:37;;;;;;;;;;23049:442;;:::o;19005:375::-;-1:-1:-1;;;;;19108:20:0;;;19082:23;19108:20;;;:9;:20;;;;;;;;;;19165:8;:19;;;;;;19195:20;;;;:32;;;-1:-1:-1;;;;;;19195:32:0;;;;;;;19245:54;;19108:20;;;;;-1:-1:-1;;;;;19165:19:0;;;;19195:32;;19108:20;;;19245:54;;19082:23;19245:54;19312:60;19327:15;19344:9;19355:16;19312:14;:60::i;:::-;19005:375;;;;:::o;22308:153::-;22418:9;22308:153;:::o;22469:572::-;-1:-1:-1;;;;;22541:17:0;;22533:78;;;;-1:-1:-1;;;22533:78:0;;;;;;;;;22652:13;22668:56;22675:9;22668:56;;;;;;;;;;;;;;;;;:6;:56::i;:::-;22652:72;;22749:85;22756:33;22769:11;;22782:6;-1:-1:-1;;;;;22756:33:0;:12;:33::i;:::-;22749:85;;;;;;;;;;;;;;;;;:6;:85::i;:::-;-1:-1:-1;;;;;22735:99:0;;;:11;:99;;;-1:-1:-1;;;;;22918:13:0;;;;:8;:13;;;;;;;;;;22912:70;;;;;;;;;;;;;;22918:13;;;;;22933:6;;22912:70;;;;;;;;:5;:70::i;:::-;-1:-1:-1;;;;;22896:13:0;;;;;;:8;:13;;;;;;:86;;-1:-1:-1;;;;;;22896:86:0;-1:-1:-1;;;;;22896:86:0;;;;;;;;;;;22998:33;;22896:13;;;22998:33;;;;23024:6;;22998:33;;;;;;;;;;22469:572;;;:::o;21939:188::-;22025:6;22055:5;;;22087:12;-1:-1:-1;;;;;22079:6:0;;;;;;;;22071:29;;;;-1:-1:-1;;;22071:29:0;;;;;;;;;;-1:-1:-1;22118:1:0;21939:188;-1:-1:-1;;;;21939:188:0:o;20014:941::-;20119:6;-1:-1:-1;;;;;20109:16:0;:6;-1:-1:-1;;;;;20109:16:0;;;:30;;;;;20138:1;20129:6;-1:-1:-1;;;;;20129:10:0;;20109:30;20105:843;;;-1:-1:-1;;;;;20160:20:0;;;20156:383;;-1:-1:-1;;;;;20220:22:0;;20201:16;20220:22;;;:14;:22;;;;;;;;;20280:13;:60;;20339:1;20280:60;;;-1:-1:-1;;;;;20296:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;20316:13:0;;20296:34;;;;;;;;;:40;-1:-1:-1;;;20296:40:0;;-1:-1:-1;;;;;20296:40:0;20280:60;20261:79;;20359:16;20378:69;20384:9;20395:6;20378:69;;;;;;;;;;;;;;;;;:5;:69::i;:::-;20359:88;;20466:57;20483:6;20491:9;20502;20513;20466:16;:57::i;:::-;20156:383;;;;-1:-1:-1;;;;;20559:20:0;;;20555:382;;-1:-1:-1;;;;;20619:22:0;;20600:16;20619:22;;;:14;:22;;;;;;;;;20679:13;:60;;20738:1;20679:60;;;-1:-1:-1;;;;;20695:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;20715:13:0;;20695:34;;;;;;;;;:40;-1:-1:-1;;;20695:40:0;;-1:-1:-1;;;;;20695:40:0;20679:60;20660:79;;20758:16;20777:68;20783:9;20794:6;20777:68;;;;;;;;;;;;;;;;;:5;:68::i;:::-;20758:87;;20864:57;20881:6;20889:9;20900;20911;20864:16;:57::i;1163:181::-;1221:7;1253:5;;;1277:6;;;;1269:46;;;;-1:-1:-1;;;1269:46:0;;;;;;;;20963:630;21081:18;21102:77;21109:12;21102:77;;;;;;;;;;;;;;;;;:6;:77::i;:::-;21081:98;;21209:1;21194:12;:16;;;:85;;;;-1:-1:-1;;;;;;21214:22:0;;;;;;:11;:22;;;;;;;;:65;-1:-1:-1;;21237:16:0;;21214:40;;;;;;;;;:50;:65;;;:50;;:65;21194:85;21190:329;;;-1:-1:-1;;;;;21294:22:0;;;;;;:11;:22;;;;;;;;-1:-1:-1;;21317:16:0;;21294:40;;;;;;;;;:57;;-1:-1:-1;;21294:57:0;-1:-1:-1;;;;;;;;21294:57:0;;;;;;21190:329;;;21419:33;;;;;;;;;;;;;;-1:-1:-1;;;;;21419:33:0;;;;;;;;;;-1:-1:-1;;;;;21380:22:0;;-1:-1:-1;21380:22:0;;;:11;:22;;;;;:36;;;;;;;;;;:72;;;;;;;;;-1:-1:-1;;;21380:72:0;-1:-1:-1;;21380:72:0;;;-1:-1:-1;;21380:72:0;;;;;;;;;;;;;;;21465:25;;;:14;:25;;;;;;;:44;;21380:72;21493:16;;21465:44;;;;;;;;;;;;;21190:329;21555:9;-1:-1:-1;;;;;21534:51:0;;21566:8;21576;21534:51;;;;;;;;;;;;;;;;20963:630;;;;;:::o;21601:161::-;21676:6;21714:12;-1:-1:-1;;;21703:9:0;;21695:32;;;;-1:-1:-1;;;21695:32:0;;;;;;;;;6777:16717;;;;;;;;;;-1:-1:-1;6777:16717:0;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:130;209:20;;234:33;209:20;234:33;;293:336;;;407:3;400:4;392:6;388:17;384:27;374:2;;425:1;422;415:12;374:2;-1:-1;445:20;;485:18;474:30;;471:2;;;517:1;514;507:12;471:2;551:4;543:6;539:17;527:29;;602:3;594:4;586:6;582:17;572:8;568:32;565:41;562:2;;;619:1;616;609:12;562:2;367:262;;;;;;774:128;840:20;;865:32;840:20;865:32;;909:126;974:20;;999:31;974:20;999:31;;1042:241;;1146:2;1134:9;1125:7;1121:23;1117:32;1114:2;;;1162:1;1159;1152:12;1114:2;1197:1;1214:53;1259:7;1239:9;1214:53;;;1204:63;1108:175;-1:-1;;;;1108:175;1290:366;;;1411:2;1399:9;1390:7;1386:23;1382:32;1379:2;;;1427:1;1424;1417:12;1379:2;1462:1;1479:53;1524:7;1504:9;1479:53;;;1469:63;;1441:97;1569:2;1587:53;1632:7;1623:6;1612:9;1608:22;1587:53;;;1577:63;;1548:98;1373:283;;;;;;1663:491;;;;1801:2;1789:9;1780:7;1776:23;1772:32;1769:2;;;1817:1;1814;1807:12;1769:2;1852:1;1869:53;1914:7;1894:9;1869:53;;;1859:63;;1831:97;1959:2;1977:53;2022:7;2013:6;2002:9;1998:22;1977:53;;;1967:63;;1938:98;2067:2;2085:53;2130:7;2121:6;2110:9;2106:22;2085:53;;;2075:63;;2046:98;1763:391;;;;;;2161:991;;;;;;;;2365:3;2353:9;2344:7;2340:23;2336:33;2333:2;;;2382:1;2379;2372:12;2333:2;2417:1;2434:53;2479:7;2459:9;2434:53;;;2424:63;;2396:97;2524:2;2542:53;2587:7;2578:6;2567:9;2563:22;2542:53;;;2532:63;;2503:98;2632:2;2650:53;2695:7;2686:6;2675:9;2671:22;2650:53;;;2640:63;;2611:98;2740:2;2758:53;2803:7;2794:6;2783:9;2779:22;2758:53;;;2748:63;;2719:98;2848:3;2867:51;2910:7;2901:6;2890:9;2886:22;2867:51;;;2857:61;;2827:97;2955:3;2974:53;3019:7;3010:6;2999:9;2995:22;2974:53;;;2964:63;;2934:99;3064:3;3083:53;3128:7;3119:6;3108:9;3104:22;3083:53;;;3073:63;;3043:99;2327:825;;;;;;;;;;;3159:490;;;;3299:2;3287:9;3278:7;3274:23;3270:32;3267:2;;;3315:1;3312;3305:12;3267:2;3350:1;3367:53;3412:7;3392:9;3367:53;;;3357:63;;3329:97;3485:2;3474:9;3470:18;3457:32;3509:18;3501:6;3498:30;3495:2;;;3541:1;3538;3531:12;3495:2;3569:64;3625:7;3616:6;3605:9;3601:22;3569:64;;;3559:74;;;;3436:203;3261:388;;;;;;3656:366;;;3777:2;3765:9;3756:7;3752:23;3748:32;3745:2;;;3793:1;3790;3783:12;3745:2;3828:1;3845:53;3890:7;3870:9;3845:53;;;3835:63;;3807:97;3935:2;3953:53;3998:7;3989:6;3978:9;3974:22;3953:53;;4029:865;;;;;;;4216:3;4204:9;4195:7;4191:23;4187:33;4184:2;;;4233:1;4230;4223:12;4184:2;4268:1;4285:53;4330:7;4310:9;4285:53;;;4275:63;;4247:97;4375:2;4393:53;4438:7;4429:6;4418:9;4414:22;4393:53;;;4383:63;;4354:98;4483:2;4501:53;4546:7;4537:6;4526:9;4522:22;4501:53;;;4491:63;;4462:98;4591:2;4609:51;4652:7;4643:6;4632:9;4628:22;4609:51;;;4599:61;;4570:96;4697:3;4716:53;4761:7;4752:6;4741:9;4737:22;4716:53;;;4706:63;;4676:99;4806:3;4825:53;4870:7;4861:6;4850:9;4846:22;4825:53;;;4815:63;;4785:99;4178:716;;;;;;;;;4901:364;;;5021:2;5009:9;5000:7;4996:23;4992:32;4989:2;;;5037:1;5034;5027:12;4989:2;5072:1;5089:53;5134:7;5114:9;5089:53;;;5079:63;;5051:97;5179:2;5197:52;5241:7;5232:6;5221:9;5217:22;5197:52;;5272:241;;5376:2;5364:9;5355:7;5351:23;5347:32;5344:2;;;5392:1;5389;5382:12;5344:2;5427:1;5444:53;5489:7;5469:9;5444:53;;5520:113;5603:24;5621:5;5603:24;;;5598:3;5591:37;5585:48;;;5640:104;5717:21;5732:5;5717:21;;5751:113;5834:24;5852:5;5834:24;;5871:152;5972:45;5992:24;6010:5;5992:24;;;5972:45;;6030:347;;6142:39;6175:5;6142:39;;;6193:71;6257:6;6252:3;6193:71;;;6186:78;;6269:52;6314:6;6309:3;6302:4;6295:5;6291:16;6269:52;;;6342:29;6364:6;6342:29;;;6333:39;;;;6122:255;-1:-1;;;6122:255;6731:385;;6891:67;6955:2;6950:3;6891:67;;;6991:34;6971:55;;-1:-1;;;7055:2;7046:12;;7039:40;7107:2;7098:12;;6877:239;-1:-1;;6877:239;7125:398;;7303:84;7385:1;7380:3;7303:84;;;-1:-1;;;7400:87;;7515:1;7506:11;;7289:234;-1:-1;;7289:234;7532:327;;7692:67;7756:2;7751:3;7692:67;;;7792:29;7772:50;;7850:2;7841:12;;7678:181;-1:-1;;7678:181;7868:376;;8028:67;8092:2;8087:3;8028:67;;;8128:34;8108:55;;-1:-1;;;8192:2;8183:12;;8176:31;8235:2;8226:12;;8014:230;-1:-1;;8014:230;8253:332;;8413:67;8477:2;8472:3;8413:67;;;8513:34;8493:55;;8576:2;8567:12;;8399:186;-1:-1;;8399:186;8594:372;;8754:67;8818:2;8813:3;8754:67;;;8854:34;8834:55;;-1:-1;;;8918:2;8909:12;;8902:27;8957:2;8948:12;;8740:226;-1:-1;;8740:226;8975:327;;9135:67;9199:2;9194:3;9135:67;;;9235:29;9215:50;;9293:2;9284:12;;9121:181;-1:-1;;9121:181;9311:376;;9471:67;9535:2;9530:3;9471:67;;;9571:34;9551:55;;-1:-1;;;9635:2;9626:12;;9619:31;9678:2;9669:12;;9457:230;-1:-1;;9457:230;9696:492;;9874:85;9956:2;9951:3;9874:85;;;9992:34;9972:55;;10061:34;10056:2;10047:12;;10040:56;-1:-1;;;10125:2;10116:12;;10109:42;10179:2;10170:12;;9860:328;-1:-1;;9860:328;10197:377;;10357:67;10421:2;10416:3;10357:67;;;10457:34;10437:55;;-1:-1;;;10521:2;10512:12;;10505:32;10565:2;10556:12;;10343:231;-1:-1;;10343:231;10583:477;;10761:85;10843:2;10838:3;10761:85;;;10879:34;10859:55;;10948:34;10943:2;10934:12;;10927:56;-1:-1;;;11012:2;11003:12;;10996:27;11051:2;11042:12;;10747:313;-1:-1;;10747:313;11069:398;;11229:67;11293:2;11288:3;11229:67;;;11329:34;11309:55;;11398:31;11393:2;11384:12;;11377:53;11458:2;11449:12;;11215:252;-1:-1;;11215:252;11476:332;;11636:67;11700:2;11695:3;11636:67;;;11736:34;11716:55;;11799:2;11790:12;;11622:186;-1:-1;;11622:186;11817:314;;11977:67;12041:2;12036:3;11977:67;;;-1:-1;;;12057:37;;12122:2;12113:12;;11963:168;-1:-1;;11963:168;12140:396;;12300:67;12364:2;12359:3;12300:67;;;12400:34;12380:55;;12469:29;12464:2;12455:12;;12448:51;12527:2;12518:12;;12286:250;-1:-1;;12286:250;12545:371;;12705:67;12769:2;12764:3;12705:67;;;12805:34;12785:55;;-1:-1;;;12869:2;12860:12;;12853:26;12907:2;12898:12;;12691:225;-1:-1;;12691:225;12925:431;;13103:85;13185:2;13180:3;13103:85;;;13221:34;13201:55;;13290:28;13285:2;13276:12;;13269:50;13347:2;13338:12;;13089:267;-1:-1;;13089:267;13484:110;13565:23;13582:5;13565:23;;13601:107;13680:22;13696:5;13680:22;;13715:124;13797:36;13827:5;13797:36;;13846:110;13927:23;13944:5;13927:23;;13963:650;;14218:148;14362:3;14218:148;;;14211:155;;14377:75;14448:3;14439:6;14377:75;;;14474:2;14469:3;14465:12;14458:19;;14488:75;14559:3;14550:6;14488:75;;;-1:-1;14585:2;14576:12;;14199:414;-1:-1;;14199:414;14620:372;;14819:148;14963:3;14819:148;;14999:372;;15198:148;15342:3;15198:148;;15378:372;;15577:148;15721:3;15577:148;;15757:213;15875:2;15860:18;;15889:71;15864:9;15933:6;15889:71;;15977:201;16089:2;16074:18;;16103:65;16078:9;16141:6;16103:65;;16185:213;16303:2;16288:18;;16317:71;16292:9;16361:6;16317:71;;16405:771;16663:3;16648:19;;16678:71;16652:9;16722:6;16678:71;;;16760:72;16828:2;16817:9;16813:18;16804:6;16760:72;;;16843;16911:2;16900:9;16896:18;16887:6;16843:72;;;16926;16994:2;16983:9;16979:18;16970:6;16926:72;;;17009:73;17077:3;17066:9;17062:19;17053:6;17009:73;;;17093;17161:3;17150:9;17146:19;17137:6;17093:73;;;16634:542;;;;;;;;;;17183:547;17385:3;17370:19;;17400:71;17374:9;17444:6;17400:71;;;17482:72;17550:2;17539:9;17535:18;17526:6;17482:72;;;17565;17633:2;17622:9;17618:18;17609:6;17565:72;;;17648;17716:2;17705:9;17701:18;17692:6;17648:72;;;17356:374;;;;;;;;17737:547;17939:3;17924:19;;17954:71;17928:9;17998:6;17954:71;;;18036:72;18104:2;18093:9;18089:18;18080:6;18036:72;;;18119;18187:2;18176:9;18172:18;18163:6;18119:72;;;18202;18270:2;18259:9;18255:18;18246:6;18202:72;;18291:539;18489:3;18474:19;;18504:71;18478:9;18548:6;18504:71;;;18586:68;18650:2;18639:9;18635:18;18626:6;18586:68;;18837:293;18971:2;18985:47;;;18956:18;;19046:74;18956:18;19106:6;19046:74;;19445:407;19636:2;19650:47;;;19621:18;;19711:131;19621:18;19711:131;;19859:407;20050:2;20064:47;;;20035:18;;20125:131;20035:18;20125:131;;20273:407;20464:2;20478:47;;;20449:18;;20539:131;20449:18;20539:131;;20687:407;20878:2;20892:47;;;20863:18;;20953:131;20863:18;20953:131;;21101:407;21292:2;21306:47;;;21277:18;;21367:131;21277:18;21367:131;;21515:407;21706:2;21720:47;;;21691:18;;21781:131;21691:18;21781:131;;21929:407;22120:2;22134:47;;;22105:18;;22195:131;22105:18;22195:131;;22343:407;22534:2;22548:47;;;22519:18;;22609:131;22519:18;22609:131;;22757:407;22948:2;22962:47;;;22933:18;;23023:131;22933:18;23023:131;;23171:407;23362:2;23376:47;;;23347:18;;23437:131;23347:18;23437:131;;23585:407;23776:2;23790:47;;;23761:18;;23851:131;23761:18;23851:131;;23999:407;24190:2;24204:47;;;24175:18;;24265:131;24175:18;24265:131;;24413:407;24604:2;24618:47;;;24589:18;;24679:131;24589:18;24679:131;;25047:209;25163:2;25148:18;;25177:69;25152:9;25219:6;25177:69;;25263:316;25405:2;25390:18;;25419:69;25394:9;25461:6;25419:69;;;25499:70;25565:2;25554:9;25550:18;25541:6;25499:70;;25586:205;25700:2;25685:18;;25714:67;25689:9;25754:6;25714:67;;25798:211;25915:2;25900:18;;25929:70;25904:9;25972:6;25929:70;;26016:209;26132:2;26117:18;;26146:69;26121:9;26188:6;26146:69;;26232:320;26376:2;26361:18;;26390:70;26365:9;26433:6;26390:70;;;26471:71;26538:2;26527:9;26523:18;26514:6;26471:71;;26559:118;26643:12;;26614:63;26814:163;26917:19;;;26966:4;26957:14;;26910:67;26986:145;27122:3;27100:31;-1:-1;27100:31;27139:91;;27201:24;27219:5;27201:24;;27237:85;27303:13;27296:21;;27279:43;27329:72;27391:5;27374:27;27408:121;-1:-1;;;;;27470:54;;27453:76;27615:88;27687:10;27676:22;;27659:44;27710:81;27781:4;27770:16;;27753:38;27798:104;-1:-1;;;;;27859:38;;27842:60;27909:106;;27987:23;28004:5;27987:23;;28023:268;28088:1;28095:101;28109:6;28106:1;28103:13;28095:101;;;28176:11;;;28170:18;28157:11;;;28150:39;28131:2;28124:10;28095:101;;;28211:6;28208:1;28205:13;28202:2;;;-1:-1;;28276:1;28258:16;;28251:27;28072:219;28380:97;28468:2;28448:14;-1:-1;;28444:28;;28428:49;28485:117;28554:24;28572:5;28554:24;;;28547:5;28544:35;28534:2;;28593:1;28590;28583:12;28609:117;28678:24;28696:5;28678:24;;28857:115;28925:23;28942:5;28925:23;;28979:113;29046:22;29062:5;29046:22;

Swarm Source

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