MON Price: $0.020301 (-4.57%)

Contract

0x07964f135f276412b3182a3B2407b8dd45000000

Overview

MON Balance

Monad Chain LogoMonad Chain LogoMonad Chain Logo5,396.569105030953303035 MON

MON Value

$109.56 (@ $0.02/MON)

Token Holdings

More Info

Private Name Tags

Transaction Hash
Method
Block
From
To
Aggregate507487012026-01-24 6:14:534 days ago1769235293IN
0x07964f13...d45000000
20 MON0.05318416102.29101569
Aggregate503935112026-01-22 14:44:426 days ago1769093082IN
0x07964f13...d45000000
14,446.62831792 MON0.05683038104.125
Aggregate490301772026-01-16 6:36:0112 days ago1768545361IN
0x07964f13...d45000000
0 MON0.04375697102.22757398
Aggregate490300682026-01-16 6:35:1712 days ago1768545317IN
0x07964f13...d45000000
0 MON0.05509537102.475
Aggregate488437492026-01-15 9:40:5513 days ago1768470055IN
0x07964f13...d45000000
1,000 MON0.03826632105.555
Exact Input V3Sw...488096302026-01-15 5:51:5113 days ago1768456311IN
0x07964f13...d45000000
0 MON0.0441321102.2
Aggregate484659342026-01-13 15:24:1415 days ago1768317854IN
0x07964f13...d45000000
32,948.7519375 MON0.06835901111.275
Aggregate484366952026-01-13 12:08:5615 days ago1768306136IN
0x07964f13...d45000000
0 MON0.07647211114.66666666
Exact Input V3Sw...481322692026-01-12 2:16:0817 days ago1768184168IN
0x07964f13...d45000000
0 MON0.05833759103.025
Aggregate481006432026-01-11 22:44:4317 days ago1768171483IN
0x07964f13...d45000000
1 MON0.05283464102.2
Exact Input V3Sw...481004982026-01-11 22:43:4517 days ago1768171425IN
0x07964f13...d45000000
1 MON0.05272232102.2
Aggregate473125022026-01-08 6:55:3320 days ago1767855333IN
0x07964f13...d45000000
0 MON0.04821978102.79125
Exact Input V3Sw...472474482026-01-07 23:40:4221 days ago1767829242IN
0x07964f13...d45000000
1,295.25281367 MON0.06787099133.58433548
Exact Input V3Sw...472450882026-01-07 23:24:5521 days ago1767828295IN
0x07964f13...d45000000
643.05330977 MON0.06397457120.16666666
Exact Input V3Sw...472060562026-01-07 19:04:0421 days ago1767812644IN
0x07964f13...d45000000
0 MON0.05580553102.025
Aggregate471896322026-01-07 17:14:1921 days ago1767806059IN
0x07964f13...d45000000
19.31980543 MON0.05487872102.255
Exact Input V3Sw...471113292026-01-07 8:31:0221 days ago1767774662IN
0x07964f13...d45000000
0 MON0.07087879129.58206104
Aggregate471112852026-01-07 8:30:4421 days ago1767774644IN
0x07964f13...d45000000
0 MON0.10536668131.99809156
Exact Input V3Sw...471088432026-01-07 8:14:2521 days ago1767773665IN
0x07964f13...d45000000
0 MON0.05771241102
Aggregate471077622026-01-07 8:07:1221 days ago1767773232IN
0x07964f13...d45000000
740 MON0.0554731102
Aggregate470862682026-01-07 5:43:3721 days ago1767764617IN
0x07964f13...d45000000
49.95762494 MON0.06152225156.65
Aggregate470224142026-01-06 22:37:1422 days ago1767739034IN
0x07964f13...d45000000
93.886 MON0.04237505102.475
Exact Input V3Sw...468494562026-01-06 3:19:2623 days ago1767669566IN
0x07964f13...d45000000
0 MON0.07794797102.30225055
Aggregate468482962026-01-06 3:11:3523 days ago1767669095IN
0x07964f13...d45000000
42,359.78729618 MON0.05604607102.75275
Aggregate466579542026-01-05 5:50:5923 days ago1767592259IN
0x07964f13...d45000000
97,894.79210513 MON0.05579171102.21631986
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
507487012026-01-24 6:14:534 days ago1769235293
0x07964f13...d45000000
0 MON
507487012026-01-24 6:14:534 days ago1769235293
0x07964f13...d45000000
19.94 MON
507487012026-01-24 6:14:534 days ago1769235293
0x07964f13...d45000000
0 MON
503935112026-01-22 14:44:426 days ago1769093082
0x07964f13...d45000000
0 MON
503935112026-01-22 14:44:426 days ago1769093082
0x07964f13...d45000000
14,403.28843297 MON
503935112026-01-22 14:44:426 days ago1769093082
0x07964f13...d45000000
0 MON
490301772026-01-16 6:36:0112 days ago1768545361
0x07964f13...d45000000
0 MON
490301772026-01-16 6:36:0112 days ago1768545361
0x07964f13...d45000000
0 MON
490301772026-01-16 6:36:0112 days ago1768545361
0x07964f13...d45000000
0 MON
490300682026-01-16 6:35:1712 days ago1768545317
0x07964f13...d45000000
0 MON
490300682026-01-16 6:35:1712 days ago1768545317
0x07964f13...d45000000
0 MON
490300682026-01-16 6:35:1712 days ago1768545317
0x07964f13...d45000000
0 MON
490300682026-01-16 6:35:1712 days ago1768545317
0x07964f13...d45000000
0 MON
490300682026-01-16 6:35:1712 days ago1768545317
0x07964f13...d45000000
0 MON
488437492026-01-15 9:40:5513 days ago1768470055
0x07964f13...d45000000
0 MON
488437492026-01-15 9:40:5513 days ago1768470055
0x07964f13...d45000000
997 MON
488437492026-01-15 9:40:5513 days ago1768470055
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
488096302026-01-15 5:51:5113 days ago1768456311
0x07964f13...d45000000
0 MON
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TransitSwapRouterV5

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
// SPDX-License-Identifier: MIT
pragma solidity =0.8.20;

import "./UniswapV2Router.sol";
import "./UniswapV3Router.sol";
import "./AggregateRouter.sol";
import "./CrossRouter.sol";

contract TransitSwapRouterV5 is UniswapV2Router, UniswapV3Router, AggregateRouter, CrossRouter  {

    function withdrawTokens(address[] memory tokens, address recipient) external onlyExecutor {
        for (uint index; index < tokens.length; index++) {
            uint amount;
            if (TransferHelper.isETH(tokens[index])) {
                amount = address(this).balance;
                TransferHelper.safeTransferETH(recipient, amount);
            } else {
                amount = IERC20(tokens[index]).balanceOf(address(this));
                TransferHelper.safeTransferWithoutRequire(tokens[index], recipient, amount);
            }
            emit Withdraw(tokens[index], msg.sender, recipient, amount);
        }
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract CrossRouter is BaseCore {

    using SafeMath for uint256;

    constructor() {}

    function cross(CrossDescription calldata desc) external payable nonReentrant whenNotPaused(FunctionFlag.cross) {
        require(desc.calls.length > 0, "data should be not zero");
        require(desc.amount > 0, "amount should be greater than 0");
        require(_cross_caller_allowed[desc.caller], "invalid caller");
        
        uint256 swapAmount = executeFunds(FunctionFlag.cross, desc.srcToken, desc.wrappedToken, desc.caller, desc.amount, desc.fee, desc.signature);

        {
            (bool success, bytes memory result) = desc.caller.call{value:swapAmount}(desc.calls);
            if (!success) {
                revert(RevertReasonParser.parse(result, "TransitCrossV5:"));
            }
            TransferHelper.safeApprove(desc.srcToken, desc.caller, 0);
        }

        _emitTransit(desc.srcToken, desc.dstToken, desc.dstReceiver, desc.amount, 0, desc.toChain, desc.channel);
    } 
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract AggregateRouter is BaseCore {

    using SafeMath for uint256;

    constructor() {

    }

    function aggregateAndGasUsed(TransitSwapDescription calldata desc, CallbytesDescription calldata callbytesDesc) external payable returns (uint256 returnAmount, uint256 gasUsed) {
        uint256 gasLeftBefore = gasleft();
        returnAmount = _executeAggregate(desc, callbytesDesc);
        gasUsed = gasLeftBefore - gasleft();
    }

    function aggregate(TransitSwapDescription calldata desc, CallbytesDescription calldata callbytesDesc) external payable returns (uint256 returnAmount) {
        returnAmount = _executeAggregate(desc, callbytesDesc);
    }

    function _executeAggregate(TransitSwapDescription calldata desc, CallbytesDescription calldata callbytesDesc) internal nonReentrant whenNotPaused(FunctionFlag.executeAggregate) returns (uint256 returnAmount) {
        require(callbytesDesc.calldatas.length > 0, "data should be not zero");
        require(desc.amount > 0, "amount should be greater than 0");
        require(desc.dstReceiver != address(0), "receiver should be not address(0)");
        require(desc.minReturnAmount > 0, "minReturnAmount should be greater than 0");
        require(_wrapped_allowed[desc.wrappedToken], "invalid wrapped address");

        uint256 toBeforeBalance;
        address bridgeAddress = _aggregate_bridge;
        uint256 swapAmount = executeFunds(FunctionFlag.executeAggregate, desc.srcToken, desc.wrappedToken, bridgeAddress, desc.amount, desc.fee, desc.signature);

        if (TransferHelper.isETH(desc.dstToken)) {
            toBeforeBalance = desc.dstReceiver.balance;
        } else {
            toBeforeBalance = IERC20(desc.dstToken).balanceOf(desc.dstReceiver);
        }

        {
            //bytes4(keccak256(bytes('callbytes(CallbytesDescription)')));
            (bool success, bytes memory result) = bridgeAddress.call{value : swapAmount}(abi.encodeWithSelector(0x3f3204d2, callbytesDesc));
            if (!success) {
                revert(RevertReasonParser.parse(result, "TransitSwap:"));
            }
        }

        if (TransferHelper.isETH(desc.dstToken)) {
            returnAmount = desc.dstReceiver.balance.sub(toBeforeBalance);
        } else {
            returnAmount = IERC20(desc.dstToken).balanceOf(desc.dstReceiver).sub(toBeforeBalance);
        }
        require(returnAmount >= desc.minReturnAmount, "Too little received");

        _emitTransit(desc.srcToken, desc.dstToken, desc.dstReceiver, desc.amount, returnAmount, 0, desc.channel);

    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract UniswapV3Router is BaseCore {

    using SafeMath for uint256;

    uint256 private constant _ZERO_FOR_ONE_MASK = 1 << 255;
    uint160 private constant MIN_SQRT_RATIO = 4295128739;
    uint160 private constant MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342;

    constructor() {}

    fallback() external {
        (int256 amount0Delta, int256 amount1Delta, bytes memory _data) = abi.decode(msg.data[4:], (int256,int256,bytes));
        _executeCallback(amount0Delta, amount1Delta, _data);
    }

    function pancakeV3SwapCallback(
        int256 amount0Delta,
        int256 amount1Delta,
        bytes calldata _data
    ) external {
        _executeCallback(amount0Delta, amount1Delta, _data);
    }

    function uniswapV3SwapCallback(
        int256 amount0Delta,
        int256 amount1Delta,
        bytes calldata _data
    ) external {
        _executeCallback(amount0Delta, amount1Delta, _data);
    }

    function _executeCallback(
        int256 amount0Delta,
        int256 amount1Delta,
        bytes memory _data
    ) internal {
        require(amount0Delta > 0 || amount1Delta > 0, "M0 or M1"); // swaps entirely within 0-liquidity regions are not supported
        (uint256 pool, bytes memory tokenInAndPoolSalt) = abi.decode(_data, (uint256, bytes));
        (address tokenIn, bytes32 poolSalt) = abi.decode(tokenInAndPoolSalt, (address, bytes32));
        _verifyCallback(pool, poolSalt, msg.sender);

        uint256 amountToPay = uint256(amount1Delta);
        if (amount0Delta > 0) {
            amountToPay = uint256(amount0Delta);
        }

        TransferHelper.safeTransfer(tokenIn, msg.sender, amountToPay);
    }

    function exactInputV3SwapAndGasUsed(ExactInputV3SwapParams calldata params) external payable returns (uint256 returnAmount, uint256 gasUsed) {
        uint256 gasLeftBefore = gasleft();
        returnAmount = _executeV3Swap(params);
        gasUsed = gasLeftBefore - gasleft();

    }

    function exactInputV3Swap(ExactInputV3SwapParams calldata params) external payable returns (uint256 returnAmount) {
        returnAmount = _executeV3Swap(params);
    }

    function _executeV3Swap(ExactInputV3SwapParams calldata params) internal nonReentrant whenNotPaused(FunctionFlag.executeV3Swap) returns (uint256 returnAmount) {
        require(params.pools.length > 0, "Empty pools");
        require(params.deadline >= block.timestamp, "Expired");
        require(_wrapped_allowed[params.wrappedToken], "Invalid wrapped address");
        address tokenIn = params.srcToken;
        address tokenOut = params.dstToken;

        uint256 toBeforeBalance;
        bool isToETH;
        if (TransferHelper.isETH(params.srcToken)) {
            tokenIn = params.wrappedToken;
        }
        uint256 actualAmountIn = executeFunds(FunctionFlag.executeV3Swap, params.srcToken, params.wrappedToken, address(0), params.amount, params.fee, params.signature);

        if (TransferHelper.isETH(params.dstToken)) {
            tokenOut = params.wrappedToken;
            toBeforeBalance = IERC20(params.wrappedToken).balanceOf(address(this));
            isToETH = true;
        } else {
            toBeforeBalance = IERC20(params.dstToken).balanceOf(params.dstReceiver);
        }

        {
            uint256 len = params.pools.length;
            address recipient = address(this);
            bytes memory tokenInAndPoolSalt;
            if (len > 1) {
                address thisTokenIn = tokenIn;
                address thisTokenOut = address(0);
                for (uint256 i; i < len; i++) {
                    uint256 thisPool = params.pools[i];
                    (thisTokenIn, tokenInAndPoolSalt) = _verifyPool(thisTokenIn, thisTokenOut, thisPool);
                    if (i == len - 1 && !isToETH) {
                        recipient = params.dstReceiver;
                        thisTokenOut = tokenOut;
                    } 
                    actualAmountIn = _swap(recipient, thisPool, tokenInAndPoolSalt, actualAmountIn);
                }
                returnAmount = actualAmountIn;
            } else {
                (, tokenInAndPoolSalt) = _verifyPool(tokenIn, tokenOut, params.pools[0]);
                if (!isToETH) {
                    recipient = params.dstReceiver;
                }
                returnAmount = _swap(recipient, params.pools[0], tokenInAndPoolSalt, actualAmountIn);
            }
        }

        if (isToETH) {
            returnAmount = IERC20(params.wrappedToken).balanceOf(address(this)).sub(toBeforeBalance);
            require(returnAmount >= params.minReturnAmount, "Too little received");
            TransferHelper.safeWithdraw(params.wrappedToken, returnAmount);
            TransferHelper.safeTransferETH(params.dstReceiver, returnAmount);
        } else {
            returnAmount = IERC20(params.dstToken).balanceOf(params.dstReceiver).sub(toBeforeBalance);
            require(returnAmount >= params.minReturnAmount, "Too little received");
        }
        
        _emitTransit(params.srcToken, params.dstToken, params.dstReceiver, params.amount, returnAmount, 0, params.channel);

    }

    function _swap(address recipient, uint256 pool, bytes memory tokenInAndPoolSalt, uint256 amount) internal returns (uint256 amountOut) {
        bool zeroForOne = pool & _ZERO_FOR_ONE_MASK == 0;
        if (zeroForOne) {
            (, int256 amount1) =
                IUniswapV3Pool(address(uint160(pool))).swap(
                    recipient,
                    zeroForOne,
                    amount.toInt256(),
                    MIN_SQRT_RATIO + 1,
                    abi.encode(pool, tokenInAndPoolSalt)
                );
            amountOut = SafeMath.toUint256(-amount1);
        } else {
            (int256 amount0,) =
                IUniswapV3Pool(address(uint160(pool))).swap(
                    recipient,
                    zeroForOne,
                    amount.toInt256(),
                    MAX_SQRT_RATIO - 1,
                    abi.encode(pool, tokenInAndPoolSalt)
                );
            amountOut = SafeMath.toUint256(-amount0);
        }
    }

    function _verifyPool(address tokenIn, address tokenOut, uint256 pool) internal view returns (address nextTokenIn, bytes memory tokenInAndPoolSalt) {
        IUniswapV3Pool iPool = IUniswapV3Pool(address(uint160(pool)));
        address token0 = iPool.token0();
        address token1 = iPool.token1();
        uint24 fee = iPool.fee();
        bytes32 poolSalt = keccak256(abi.encode(token0, token1, fee));

        bool zeroForOne = pool & _ZERO_FOR_ONE_MASK == 0;
        if (zeroForOne) {
            require(tokenIn == token0, "Bad pool");
            if (tokenOut != address(0)) {
                require(tokenOut == token1, "Bad pool");
            }
            nextTokenIn = token1;
            tokenInAndPoolSalt = abi.encode(token0, poolSalt);
        } else {
            require(tokenIn == token1, "Bad pool");
            if (tokenOut != address(0)) {
                require(tokenOut == token0, "Bad pool");
            }
            nextTokenIn = token0;
            tokenInAndPoolSalt = abi.encode(token1, poolSalt);
        }
        _verifyCallback(pool, poolSalt, address(uint160(pool)));
    }

    function _verifyCallback(uint256 pool, bytes32 poolSalt, address caller) internal view {
        uint poolDigit = pool >> 248 & 0xf;
        UniswapV3Pool memory v3Pool = _uniswapV3_factory_allowed[poolDigit];
        require(v3Pool.factory != address(0), "Callback bad pool indexed");
        address calcPool = address(
            uint160(
                uint256(
                    keccak256(
                        abi.encodePacked(
                            hex'ff',
                            v3Pool.factory,
                            poolSalt,
                            v3Pool.initCodeHash
                        )
                    )
                )
            )
        );
        require(calcPool == caller, "Callback bad pool");
    }

}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./BaseCore.sol";

contract UniswapV2Router is BaseCore {

    using SafeMath for uint256;

    constructor() {

    }

    function _beforeSwap(ExactInputV2SwapParams calldata exactInput, bool supportingFeeOn) internal returns (bool isToETH, uint256 actualAmountIn, address[] memory paths, uint256 thisAddressBeforeBalance, uint256 toBeforeBalance) {
        require(exactInput.path.length == exactInput.pool.length + 1, "Invalid path");
        require(_wrapped_allowed[exactInput.wrappedToken], "Invalid wrapped address");

        (bool isToVault, uint256 vaultFee) = splitFee(exactInput.fee);
        actualAmountIn = calculateTradeFee(true, exactInput.amount, vaultFee, exactInput.signature);
        address[] memory path = exactInput.path;
        address dstToken = path[exactInput.path.length - 1];
        if (TransferHelper.isETH(exactInput.path[0])) {
            require(msg.value == exactInput.amount, "Invalid msg.value");
            if (isToVault) {
                TransferHelper.safeTransferETH(_vault, vaultFee);
            }
            path[0] = exactInput.wrappedToken;
            TransferHelper.safeDeposit(exactInput.wrappedToken, actualAmountIn);
        } else {
            if (supportingFeeOn) {
                actualAmountIn = IERC20(path[0]).balanceOf(address(this));
                TransferHelper.safeTransferFrom(path[0], msg.sender, address(this), exactInput.amount);
                actualAmountIn = IERC20(path[0]).balanceOf(address(this)).sub(actualAmountIn).sub(exactInput.fee);
            } else {
                TransferHelper.safeTransferFrom(path[0], msg.sender, address(this), exactInput.amount);
            }
            if (isToVault) {
                TransferHelper.safeTransferWithoutRequire(path[0], _vault, vaultFee);
            }
        }
        if (TransferHelper.isETH(dstToken)) {
            path[path.length - 1] = exactInput.wrappedToken;
            isToETH = true;
            thisAddressBeforeBalance = IERC20(exactInput.wrappedToken).balanceOf(address(this));
        } else {
            if (supportingFeeOn) {
                toBeforeBalance = IERC20(dstToken).balanceOf(exactInput.dstReceiver);
            }
        }
        paths = path;
    }

    function exactInputV2SwapAndGasUsed(ExactInputV2SwapParams calldata exactInput, uint256 deadline) external payable returns (uint256 returnAmount, uint256 gasUsed) {
        uint256 gasLeftBefore = gasleft();
        returnAmount = _executeV2Swap(exactInput, deadline);
        gasUsed = gasLeftBefore - gasleft();
    }

    function exactInputV2Swap(ExactInputV2SwapParams calldata exactInput, uint256 deadline) external payable returns (uint256 returnAmount) {
        returnAmount = _executeV2Swap(exactInput, deadline);
    }

    function _executeV2Swap(ExactInputV2SwapParams calldata exactInput, uint256 deadline) internal nonReentrant whenNotPaused(FunctionFlag.executeV2Swap) returns (uint256 returnAmount) {
        require(deadline >= block.timestamp, "Expired");
        
        bool supportingFeeOn = exactInput.router >> 248 & 0xf == 1;
        {
            (bool isToETH, uint256 actualAmountIn, address[] memory paths, uint256 thisAddressBeforeBalance, uint256 toBeforeBalance) = _beforeSwap(exactInput, supportingFeeOn);
            
            TransferHelper.safeTransfer(paths[0], exactInput.pool[0], actualAmountIn);

            if (supportingFeeOn) {
                if(isToETH) {
                    _swapSupportingFeeOnTransferTokens(address(uint160(exactInput.router)), paths, exactInput.pool, address(this));
                    returnAmount = IERC20(exactInput.wrappedToken).balanceOf(address(this)).sub(thisAddressBeforeBalance);
                } else {
                    _swapSupportingFeeOnTransferTokens(address(uint160(exactInput.router)), paths, exactInput.pool, exactInput.dstReceiver);
                    returnAmount = IERC20(paths[paths.length - 1]).balanceOf(exactInput.dstReceiver).sub(toBeforeBalance);
                }
            } else {
                uint[] memory amounts = IUniswapV2(address(uint160(exactInput.router))).getAmountsOut(actualAmountIn, paths);
                if(isToETH) {
                    _swap(amounts, paths, exactInput.pool, address(this));
                    returnAmount = IERC20(exactInput.wrappedToken).balanceOf(address(this)).sub(thisAddressBeforeBalance);
                } else {
                    _swap(amounts, paths, exactInput.pool, exactInput.dstReceiver);
                    returnAmount = IERC20(paths[paths.length - 1]).balanceOf(exactInput.dstReceiver).sub(toBeforeBalance);
                }
            }

            require(returnAmount >= exactInput.minReturnAmount, "Too little received");
            if (isToETH) {
                TransferHelper.safeWithdraw(exactInput.wrappedToken, returnAmount);
                TransferHelper.safeTransferETH(exactInput.dstReceiver, returnAmount);
            }
        }
        string memory channel = exactInput.channel;

        _emitTransit(exactInput.path[0], exactInput.path[exactInput.path.length - 1], exactInput.dstReceiver, exactInput.amount, returnAmount, 0, channel);
        
    }

    function _swap(uint[] memory amounts, address[] memory path, address[] memory pool, address _to) internal {
        for (uint i; i < path.length - 1; i++) {
            (address input, address output) = (path[i], path[i + 1]);
            (address token0,) = input < output ? (input, output) : (output, input);
            uint amountOut = amounts[i + 1];
            (uint amount0Out, uint amount1Out) = input == token0 ? (uint(0), amountOut) : (amountOut, uint(0));
            address to = i < path.length - 2 ? pool[i + 1] : _to;
            IUniswapV2(pool[i]).swap(
                amount0Out, amount1Out, to, new bytes(0)
            );
        }
    }

    function _swapSupportingFeeOnTransferTokens(address router, address[] memory path, address[] memory pool, address _to) internal virtual {
        for (uint i; i < path.length - 1; i++) {
            (address input, address output) = (path[i], path[i + 1]);
            (address token0,) = input < output ? (input, output) : (output, input);
            IUniswapV2 pair = IUniswapV2(pool[i]);
            uint amountInput;
            uint amountOutput;
            { // scope to avoid stack too deep errors
                (uint reserve0, uint reserve1,) = pair.getReserves();
                (uint reserveInput, uint reserveOutput) = input == token0 ? (reserve0, reserve1) : (reserve1, reserve0);
                amountInput = IERC20(input).balanceOf(address(pair)).sub(reserveInput);
                amountOutput = IUniswapV2(router).getAmountOut(amountInput, reserveInput, reserveOutput);
            }
            (uint amount0Out, uint amount1Out) = input == token0 ? (uint(0), amountOutput) : (amountOutput, uint(0));
            address to = i < path.length - 2 ? pool[i + 1] : _to;
            pair.swap(amount0Out, amount1Out, to, new bytes(0));
        }
    }

}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./libs/Pausable.sol";
import "./libs/ReentrancyGuard.sol";
import "./libs/TransferHelper.sol";
import "./libs/RevertReasonParser.sol";
import "./libs/SafeMath.sol";
import "./libs/Ownable.sol";
import "./interfaces/IERC20.sol";
import "./interfaces/IUniswapV2.sol";
import "./interfaces/IUniswapV3Pool.sol";


contract BaseCore is Ownable, Pausable, ReentrancyGuard {

    using SafeMath for uint256;

    struct ExactInputV2SwapParams {
        address dstReceiver;
        address wrappedToken;
        uint256 router;
        uint256 amount;
        uint256 minReturnAmount;
        uint256 fee;
        address[] path;
        address[] pool;
        bytes signature;
        string channel;
    }

    struct ExactInputV3SwapParams {
        address srcToken;
        address dstToken;
        address dstReceiver;
        address wrappedToken;
        uint256 amount;
        uint256 minReturnAmount;
        uint256 fee;
        uint256 deadline;
        uint256[] pools;
        bytes signature;
        string channel;
    }

    struct TransitSwapDescription {
        address srcToken;
        address dstToken;
        address dstReceiver;
        address wrappedToken;
        uint256 amount;
        uint256 minReturnAmount;
        uint256 fee;
        string channel;
        bytes signature;
    }

    struct CrossDescription {
        address srcToken;
        address dstToken;
        address caller;
        address dstReceiver;
        address wrappedToken;
        uint256 amount;
        uint256 fee;
        uint256 toChain;
        string channel;
        bytes calls;
        bytes signature;
    }

    struct CallbytesDescription {
        address srcToken;
        bytes calldatas;
    }

    struct UniswapV3Pool {
        address factory;
        bytes initCodeHash;
    }

    uint256 internal _aggregate_fee;
    uint256 internal _cross_fee;
    address internal _aggregate_bridge;
    address internal _fee_signer;
    address internal _vault;
    bytes32 public DOMAIN_SEPARATOR;
    //whitelist cross's caller
    mapping(address => bool) internal _cross_caller_allowed;
    //whitelist wrapped
    mapping(address => bool) internal _wrapped_allowed;
    //whitelist uniswap v3 factory
    mapping(uint => UniswapV3Pool) internal _uniswapV3_factory_allowed;
    bytes32 public constant CHECKFEE_TYPEHASH = keccak256("CheckFee(address payer,uint256 amount,uint256 fee)");

    event Receipt(address from, uint256 amount);
    event Withdraw(address indexed token, address indexed executor, address indexed recipient, uint amount);
    event ChangeWrappedAllowed(address[] wrappedTokens, bool[] newAllowed);
    event ChangeV3FactoryAllowed(uint256[] poolIndex, address[] factories, bytes[] initCodeHash);
    event ChangeCrossCallerAllowed(address[] callers);
    event ChangeFeeRate(bool isAggregate, uint256 newRate);
    event ChangeSigner(address preSigner, address newSigner);
    event ChangeAggregateBridge(address newBridge);
    event ChangeVault(address preVault, address newVault);
    event TransitSwapped(address indexed srcToken, address indexed dstToken, address indexed dstReceiver, uint256 amount, uint256 returnAmount, uint256 toChainID, string channel);
    
    constructor() Ownable(msg.sender) {
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes("TransitSwapV5")),
                keccak256(bytes("5")),
                block.chainid,
                address(this)
            )
        );
    }

    receive() external payable {
        emit Receipt(msg.sender, msg.value);
    }

    function calculateTradeFee(bool isAggregate, uint256 tradeAmount, uint256 fee, bytes calldata signature) internal view returns (uint256) {
        uint256 thisFee;
        if (isAggregate) {
            thisFee = tradeAmount.mul(_aggregate_fee).div(10000);
        } else {
            thisFee = tradeAmount.mul(_cross_fee).div(10000);
        }
        if (fee < thisFee) {
            require(verifySignature(tradeAmount, fee, signature), "Invalid signature fee");
        }
        return tradeAmount.sub(fee);
    }

    function _emitTransit(address srcToken, address dstToken, address dstReceiver, uint256 amount, uint256 returnAmount, uint256 toChainID, string memory channel) internal {
        emit TransitSwapped (
            srcToken, 
            dstToken, 
            dstReceiver,
            amount,
            returnAmount,
            toChainID,
            channel
        );
    }

    function changeFee(bool[] memory isAggregate, uint256[] memory newRate) external onlyExecutor {
        for (uint i; i < isAggregate.length; i++) {
            require(newRate[i] >= 0 && newRate[i] <= 1000, "fee rate is:0-1000");
            if (isAggregate[i]) {
                _aggregate_fee = newRate[i];
            } else {
                _cross_fee = newRate[i];
            }
            emit ChangeFeeRate(isAggregate[i], newRate[i]);
        }
    }

    function changeTransitProxy(address aggregator, address signer, address vault) external onlyExecutor {
        if (aggregator != address(0)) {
            _aggregate_bridge = aggregator;
            emit ChangeAggregateBridge(aggregator);
        }
        if (signer != address(0)) {
            address preSigner = _fee_signer;
            _fee_signer = signer;
            emit ChangeSigner(preSigner, signer);
        }
        if (vault != address(0)) {
            address preVault = _vault;
            _vault = vault;
            emit ChangeVault(preVault, vault);
        }
    }

    function changeAllowed(address[] calldata crossCallers, address[] calldata wrappedTokens) public onlyExecutor {
        if(crossCallers.length != 0){
            for (uint i; i < crossCallers.length; i++) {
                _cross_caller_allowed[crossCallers[i]] = !_cross_caller_allowed[crossCallers[i]];
            }
            emit ChangeCrossCallerAllowed(crossCallers);
        }
        if(wrappedTokens.length != 0) {
            bool[] memory newAllowed = new bool[](wrappedTokens.length);
            for (uint index; index < wrappedTokens.length; index++) {
                _wrapped_allowed[wrappedTokens[index]] = !_wrapped_allowed[wrappedTokens[index]];
                newAllowed[index] = _wrapped_allowed[wrappedTokens[index]];
            }
            emit ChangeWrappedAllowed(wrappedTokens, newAllowed);
        }
    }

    function changeUniswapV3FactoryAllowed(uint[] calldata poolIndex, address[] calldata factories, bytes[] calldata initCodeHash) public onlyExecutor {
        require(poolIndex.length == initCodeHash.length, "invalid data");
        require(factories.length == initCodeHash.length, "invalid data");
        uint len = factories.length;
        for (uint i; i < len; i++) {
            _uniswapV3_factory_allowed[poolIndex[i]] = UniswapV3Pool(factories[i],initCodeHash[i]);
        }
        emit ChangeV3FactoryAllowed(poolIndex, factories, initCodeHash);
    }

    function changePause(bool paused, FunctionFlag[] calldata flags) external onlyExecutor {
        uint len = flags.length;
        for (uint i; i < len; i++) {
            if (paused) {
                _pause(flags[i]);
            } else {
                _unpause(flags[i]);
            }
        }
    }

    function transitProxyAddress() external view returns (address bridgeProxy, address feeSigner) {
        bridgeProxy = _aggregate_bridge;
        feeSigner = _fee_signer;
    }

    function transitFee() external view returns (uint256, uint256, address) {
        return (_aggregate_fee, _cross_fee, _vault);
    }

    function transitAllowedQuery(address crossCaller, address wrappedToken, uint256 poolIndex) external view returns (bool isCrossCallerAllowed, bool isWrappedAllowed, UniswapV3Pool memory pool) {
        isCrossCallerAllowed = _cross_caller_allowed[crossCaller];
        isWrappedAllowed = _wrapped_allowed[wrappedToken];
        pool = _uniswapV3_factory_allowed[poolIndex];
    }

    function verifySignature(uint256 amount, uint256 fee, bytes calldata signature) internal view returns (bool) {
        bytes32 digest = keccak256(
            abi.encodePacked(
                "\x19\x01",
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(CHECKFEE_TYPEHASH, msg.sender, amount, fee))
            )
        );
        (uint8 v, bytes32 r, bytes32 s) = splitSignature(signature);
        address recovered = ecrecover(digest, v, r, s);
        return recovered == _fee_signer;
    }

    function splitSignature(bytes memory _signature) internal pure returns (uint8 v, bytes32 r, bytes32 s) {
        require(bytes(_signature).length == 65, "Invalid signature length");

        assembly {
            r := mload(add(_signature, 0x20))
            s := mload(add(_signature, 0x40))
            v := byte(0, mload(add(_signature, 0x60)))
        }

        return (v, r, s);
    }

    function splitFee(uint256 fee) internal view returns (bool isToVault, uint256 vaultFee) {
        uint vaultFlag = fee % 10;
        vaultFee = (fee.sub(vaultFlag)).div(10);
        if (vaultFlag == 1 && vaultFee > 0 && _vault != address(0)) {
            isToVault = true;
        }
    }

    function executeFunds(FunctionFlag flag, address srcToken, address wrappedToken, address caller, uint256 amount, uint256 fee, bytes calldata signature) internal returns (uint256 swapAmount) {
        (bool isToVault, uint256 vaultFee) = splitFee(fee);
        bool isAggregate = flag == FunctionFlag.cross ? false : true;
        uint256 actualAmountIn = calculateTradeFee(isAggregate, amount, vaultFee, signature);
        if (TransferHelper.isETH(srcToken)) {
            if (flag == FunctionFlag.cross) {
                require(msg.value >= amount, "invalid msg.value");
                swapAmount = msg.value.sub(vaultFee);
            } else {
                require(msg.value == amount, "invalid msg.value");
                swapAmount = actualAmountIn;
            }
            if (wrappedToken != address(0)) {
                require(_wrapped_allowed[wrappedToken], "Invalid wrapped address");
                if (flag == FunctionFlag.cross) {
                    TransferHelper.safeDeposit(wrappedToken, swapAmount);
                    TransferHelper.safeApprove(wrappedToken, caller, swapAmount);
                    swapAmount = 0;
                } else if (flag == FunctionFlag.executeV3Swap) {
                    TransferHelper.safeDeposit(wrappedToken, actualAmountIn);
                }
            }
            if (isToVault) {
                TransferHelper.safeTransferETH(_vault, vaultFee);
            }
        } else {
            TransferHelper.safeTransferFrom(srcToken, msg.sender, address(this), amount);
            if (flag == FunctionFlag.cross) {
                TransferHelper.safeApprove(srcToken, caller, actualAmountIn);
                swapAmount = msg.value;
            } else if (flag == FunctionFlag.executeAggregate) {
                TransferHelper.safeTransfer(srcToken, caller, actualAmountIn);
            } else if (flag == FunctionFlag.executeV3Swap) {
                swapAmount = actualAmountIn;
            }
            if (isToVault) {
                TransferHelper.safeTransferWithoutRequire(srcToken, _vault, vaultFee);
            }
        }
    }

}

// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0;

interface IUniswapV3Pool {
    function token0() external view returns (address);
    function token1() external view returns (address);
    function fee() external view returns (uint24);
    function swap(
        address recipient,
        bool zeroForOne,
        int256 amountSpecified,
        uint160 sqrtPriceLimitX96,
        bytes calldata data
    ) external returns (int256 amount0, int256 amount1);
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.9;

interface IUniswapV2 {
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountsOut(uint amountIn, address[] memory path) external view returns (uint[] memory amounts);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.9;

interface IERC20 {
    
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
 
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
// Add executor extension

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable {

    address private _executor;
    address private _pendingExecutor;
    bool internal _initialized;

    event ExecutorshipTransferStarted(address indexed previousExecutor, address indexed newExecutor);
    event ExecutorshipTransferred(address indexed previousExecutor, address indexed newExecutor);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor(address newExecutor) {
        require(!_initialized, "Ownable: initialized");
        _transferExecutorship(newExecutor);
        _initialized = true;
    }

    /**
     * @dev Throws if called by any account other than the executor.
     */
    modifier onlyExecutor() {
        _checkExecutor();
        _;
    }

    /**
     * @dev Returns the address of the current executor.
     */
    function executor() public view virtual returns (address) {
        return _executor;
    }

    /**
     * @dev Returns the address of the pending executor.
     */
    function pendingExecutor() public view virtual returns (address) {
        return _pendingExecutor;
    }

    /**
     * @dev Throws if the sender is not the executor.
     */
    function _checkExecutor() internal view virtual {
        require(executor() == msg.sender, "Ownable: caller is not the executor");
    }

    /**
     * @dev Transfers executorship of the contract to a new account (`newExecutor`).
     * Can only be called by the current executor.
     */
    function transferExecutorship(address newExecutor) public virtual onlyExecutor {
        _pendingExecutor = newExecutor;
        emit ExecutorshipTransferStarted(executor(), newExecutor);
    }

    function _transferExecutorship(address newExecutor) internal virtual {
        delete _pendingExecutor;
        address oldExecutor = _executor;
        _executor = newExecutor;
        emit ExecutorshipTransferred(oldExecutor, newExecutor);
    }

    function acceptExecutorship() external {
        address sender = msg.sender;
        require(pendingExecutor() == sender, "Ownable: caller is not the new executor");
        _transferExecutorship(sender);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;

library SafeMath {

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
    
    function div(uint x, uint y) internal pure returns (uint z) {
        require(y != 0 , 'ds-math-div-zero');
        z = x / y;
    }

    function toInt256(uint256 value) internal pure returns (int256) {
        require(value <= uint256(type(int256).max), "SafeCast: value doesn't fit in an int256");
        return int256(value);
    }

    function toUint256(int256 value) internal pure returns (uint256) {
        require(value >= 0, "SafeCast: value must be positive");
        return uint256(value);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;

library RevertReasonParser {
        function parse(bytes memory data, string memory prefix) internal pure returns (string memory) {
        // https://solidity.readthedocs.io/en/latest/control-structures.html#revert
        // We assume that revert reason is abi-encoded as Error(string)

        // 68 = 4-byte selector 0x08c379a0 + 32 bytes offset + 32 bytes length
        if (data.length >= 68 && data[0] == "\x08" && data[1] == "\xc3" && data[2] == "\x79" && data[3] == "\xa0") {
            string memory reason;
            // solhint-disable no-inline-assembly
            assembly {
                // 68 = 32 bytes data length + 4-byte selector + 32 bytes offset
                reason := add(data, 68)
            }
            /*
                revert reason is padded up to 32 bytes with ABI encoder: Error(string)
                also sometimes there is extra 32 bytes of zeros padded in the end:
                https://github.com/ethereum/solidity/issues/10170
                because of that we can't check for equality and instead check
                that string length + extra 68 bytes is less than overall data length
            */
            require(data.length >= 68 + bytes(reason).length, "Invalid revert reason");
            return string(abi.encodePacked(prefix, "Error(", reason, ")"));
        }
        // 36 = 4-byte selector 0x4e487b71 + 32 bytes integer
        else if (data.length == 36 && data[0] == "\x4e" && data[1] == "\x48" && data[2] == "\x7b" && data[3] == "\x71") {
            uint256 code;
            // solhint-disable no-inline-assembly
            assembly {
                // 36 = 32 bytes data length + 4-byte selector
                code := mload(add(data, 36))
            }
            return string(abi.encodePacked(prefix, "Panic(", _toHex(code), ")"));
        }

        return string(abi.encodePacked(prefix, "Unknown(", _toHex(data), ")"));
    }
    
    function _toHex(uint256 value) private pure returns(string memory) {
        return _toHex(abi.encodePacked(value));
    }

    function _toHex(bytes memory data) private pure returns(string memory) {
        bytes16 alphabet = 0x30313233343536373839616263646566;
        bytes memory str = new bytes(2 + data.length * 2);
        str[0] = "0";
        str[1] = "x";
        for (uint256 i = 0; i < data.length; i++) {
            str[2 * i + 2] = alphabet[uint8(data[i] >> 4)];
            str[2 * i + 3] = alphabet[uint8(data[i] & 0x0f)];
        }
        return string(str);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;

library TransferHelper {
    
    address private constant _ETH_ADDRESS = address(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE);
    address private constant _ZERO_ADDRESS = address(0);
    
    function isETH(address token) internal pure returns (bool) {
        return (token == _ZERO_ADDRESS || token == _ETH_ADDRESS);
    }
    
    function safeApprove(address token, address to, uint value) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED');
    }

    function safeTransfer(address token, address to, uint value) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_TOKEN_FAILED');
    }

    function safeTransferWithoutRequire(address token, address to, uint256 value) internal returns (bool) {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        return (success && (data.length == 0 || abi.decode(data, (bool))));
    }

    function safeTransferFrom(address token, address from, address to, uint value) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED');
    }

    function safeTransferETH(address to, uint value) internal {
        // solium-disable-next-line
        (bool success,) = to.call{value:value}(new bytes(0));
        require(success, 'TransferHelper: TRANSFER_FAILED');
    }

    function safeDeposit(address wrapped, uint value) internal {
        // bytes4(keccak256(bytes('deposit()')));
        (bool success, bytes memory data) = wrapped.call{value:value}(abi.encodeWithSelector(0xd0e30db0));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: DEPOSIT_FAILED');
    }

    function safeWithdraw(address wrapped, uint value) internal {
        // bytes4(keccak256(bytes('withdraw(uint256 wad)')));
        (bool success, bytes memory data) = wrapped.call{value:0}(abi.encodeWithSelector(0x2e1a7d4d, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: WITHDRAW_FAILED');
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        assembly {
            sstore(_status.slot, _ENTERED)
        }
        _;
        assembly {
            sstore(_status.slot, _NOT_ENTERED)
        }
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account, FunctionFlag flag);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account, FunctionFlag flag);

    mapping(FunctionFlag => bool) private _paused;

    enum FunctionFlag {executeAggregate, executeV2Swap, executeV3Swap, cross}

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused(FunctionFlag flag) {
        _requireNotPaused(flag);
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused(FunctionFlag flag) {
        _requirePaused(flag);
        _;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused(FunctionFlag flag) public view virtual returns (bool) {
        return _paused[flag];
    }

    /**
     * @dev Throws if the contract is paused.
     */
    function _requireNotPaused(FunctionFlag flag) internal view virtual {
        require(!paused(flag), "Pausable: paused");
    }

    /**
     * @dev Throws if the contract is not paused.
     */
    function _requirePaused(FunctionFlag flag) internal view virtual {
        require(paused(flag), "Pausable: not paused");
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause(FunctionFlag flag) internal virtual whenNotPaused(flag) {
        _paused[flag] = true;
        emit Paused(msg.sender, flag);
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause(FunctionFlag flag) internal virtual whenPaused(flag) {
        _paused[flag] = false;
        emit Unpaused(msg.sender, flag);
    }

    function pausedOverAll() public view virtual returns (bool executeAggregate, bool executeV2Swap, bool executeV3Swap, bool cross) {
        executeAggregate = _paused[FunctionFlag.executeAggregate];
        executeV2Swap = _paused[FunctionFlag.executeV2Swap];
        executeV3Swap = _paused[FunctionFlag.executeV3Swap];
        cross = _paused[FunctionFlag.cross];
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "remappings": []
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newBridge","type":"address"}],"name":"ChangeAggregateBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"callers","type":"address[]"}],"name":"ChangeCrossCallerAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isAggregate","type":"bool"},{"indexed":false,"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"ChangeFeeRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preSigner","type":"address"},{"indexed":false,"internalType":"address","name":"newSigner","type":"address"}],"name":"ChangeSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"poolIndex","type":"uint256[]"},{"indexed":false,"internalType":"address[]","name":"factories","type":"address[]"},{"indexed":false,"internalType":"bytes[]","name":"initCodeHash","type":"bytes[]"}],"name":"ChangeV3FactoryAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preVault","type":"address"},{"indexed":false,"internalType":"address","name":"newVault","type":"address"}],"name":"ChangeVault","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"wrappedTokens","type":"address[]"},{"indexed":false,"internalType":"bool[]","name":"newAllowed","type":"bool[]"}],"name":"ChangeWrappedAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousExecutor","type":"address"},{"indexed":true,"internalType":"address","name":"newExecutor","type":"address"}],"name":"ExecutorshipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousExecutor","type":"address"},{"indexed":true,"internalType":"address","name":"newExecutor","type":"address"}],"name":"ExecutorshipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"enum Pausable.FunctionFlag","name":"flag","type":"uint8"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Receipt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"srcToken","type":"address"},{"indexed":true,"internalType":"address","name":"dstToken","type":"address"},{"indexed":true,"internalType":"address","name":"dstReceiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"returnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toChainID","type":"uint256"},{"indexed":false,"internalType":"string","name":"channel","type":"string"}],"name":"TransitSwapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"enum Pausable.FunctionFlag","name":"flag","type":"uint8"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"CHECKFEE_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptExecutorship","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"string","name":"channel","type":"string"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct BaseCore.TransitSwapDescription","name":"desc","type":"tuple"},{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"bytes","name":"calldatas","type":"bytes"}],"internalType":"struct BaseCore.CallbytesDescription","name":"callbytesDesc","type":"tuple"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"string","name":"channel","type":"string"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct BaseCore.TransitSwapDescription","name":"desc","type":"tuple"},{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"bytes","name":"calldatas","type":"bytes"}],"internalType":"struct BaseCore.CallbytesDescription","name":"callbytesDesc","type":"tuple"}],"name":"aggregateAndGasUsed","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"crossCallers","type":"address[]"},{"internalType":"address[]","name":"wrappedTokens","type":"address[]"}],"name":"changeAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool[]","name":"isAggregate","type":"bool[]"},{"internalType":"uint256[]","name":"newRate","type":"uint256[]"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"enum Pausable.FunctionFlag[]","name":"flags","type":"uint8[]"}],"name":"changePause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"},{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"vault","type":"address"}],"name":"changeTransitProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"poolIndex","type":"uint256[]"},{"internalType":"address[]","name":"factories","type":"address[]"},{"internalType":"bytes[]","name":"initCodeHash","type":"bytes[]"}],"name":"changeUniswapV3FactoryAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"toChain","type":"uint256"},{"internalType":"string","name":"channel","type":"string"},{"internalType":"bytes","name":"calls","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct BaseCore.CrossDescription","name":"desc","type":"tuple"}],"name":"cross","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"router","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address[]","name":"pool","type":"address[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV2SwapParams","name":"exactInput","type":"tuple"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"exactInputV2Swap","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"router","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address[]","name":"pool","type":"address[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV2SwapParams","name":"exactInput","type":"tuple"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"exactInputV2SwapAndGasUsed","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256[]","name":"pools","type":"uint256[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV3SwapParams","name":"params","type":"tuple"}],"name":"exactInputV3Swap","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"srcToken","type":"address"},{"internalType":"address","name":"dstToken","type":"address"},{"internalType":"address","name":"dstReceiver","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minReturnAmount","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256[]","name":"pools","type":"uint256[]"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"channel","type":"string"}],"internalType":"struct BaseCore.ExactInputV3SwapParams","name":"params","type":"tuple"}],"name":"exactInputV3SwapAndGasUsed","outputs":[{"internalType":"uint256","name":"returnAmount","type":"uint256"},{"internalType":"uint256","name":"gasUsed","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"executor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"pancakeV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"enum Pausable.FunctionFlag","name":"flag","type":"uint8"}],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pausedOverAll","outputs":[{"internalType":"bool","name":"executeAggregate","type":"bool"},{"internalType":"bool","name":"executeV2Swap","type":"bool"},{"internalType":"bool","name":"executeV3Swap","type":"bool"},{"internalType":"bool","name":"cross","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingExecutor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newExecutor","type":"address"}],"name":"transferExecutorship","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"crossCaller","type":"address"},{"internalType":"address","name":"wrappedToken","type":"address"},{"internalType":"uint256","name":"poolIndex","type":"uint256"}],"name":"transitAllowedQuery","outputs":[{"internalType":"bool","name":"isCrossCallerAllowed","type":"bool"},{"internalType":"bool","name":"isWrappedAllowed","type":"bool"},{"components":[{"internalType":"address","name":"factory","type":"address"},{"internalType":"bytes","name":"initCodeHash","type":"bytes"}],"internalType":"struct BaseCore.UniswapV3Pool","name":"pool","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transitFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transitProxyAddress","outputs":[{"internalType":"address","name":"bridgeProxy","type":"address"},{"internalType":"address","name":"feeSigner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"uniswapV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801562000010575f80fd5b506001543390600160a01b900460ff1615620000725760405162461bcd60e51b815260206004820152601460248201527f4f776e61626c653a20696e697469616c697a6564000000000000000000000000604482015260640160405180910390fd5b6200007d8162000175565b506001805460ff60a01b1916600160a01b1781556003819055604080518082018252600d81526c5472616e73697453776170563560981b60209182015281518083018352928352603560f81b9281019290925280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f928101929092527f20b7d1a4a088b240a0e093c572f43e31015ce187a55e6f343e049dcb744e5341908201527fceebf77a833b30520287ddd9478ff51abbdffa30aa90a8d655dba0e8a79ce0c160608201524660808201523060a082015260c00160408051601f198184030181529190528051602090910120600955620001ce565b600180546001600160a01b03199081169091555f80546001600160a01b03848116938216841783556040519116929183917f88436636ea40d5bb1bcc55ff9cd54788af71da886f4147a87f199adcca733d4d9190a35050565b615e3a80620001dc5f395ff3fe608060405260043610610184575f3560e01c80637ec753fe116100d0578063b9b5149b11610089578063d63234e011610063578063d63234e0146105a8578063d808d889146105c5578063fa461e33146102a4578063fa9ec7af146105d8576101c3565b8063b9b5149b14610546578063bf5c55a214610559578063c34c08e514610578576101c3565b80637ec753fe1461049757806392bcc8be146104b657806394d3d793146104d5578063afed2d0e146104e9578063b93c0beb14610508578063b946fd3b14610527576101c3565b80633644e5151161013d5780635ac86ab7116101175780635ac86ab7146103e95780636b3ec416146104185780636fbf72f91461042b5780637e467ecf14610464576101c3565b80633644e515146102eb5780633c481d57146103005780634c42342f146103d6576101c3565b80630ced9fb9146101ff5780630dc4bdae146102365780630e8cc705146102575780631975b0961461027657806323a69e75146102a45780632adb806f146102c3576101c3565b366101c357604080513381523460208201527f7784f8d436dc514f0690e472c7e2d7f660a73e504c69b2350f6be5a5f02432ef910160405180910390a1005b3480156101ce575f80fd5b505f80806101df3660048184614c38565b8101906101ec9190614cc9565b9250925092506101fd8383836105eb565b005b34801561020a575f80fd5b50600654600754604080516001600160a01b039384168152929091166020830152015b60405180910390f35b610249610244366004614d54565b610694565b60405190815260200161022d565b348015610262575f80fd5b506101fd610271366004614de0565b6106a6565b348015610281575f80fd5b50610295610290366004614e86565b610826565b60405161022d93929190614f11565b3480156102af575f80fd5b506101fd6102be366004614f4e565b610925565b6102d66102d1366004614fc6565b61096b565b6040805192835260208301919091520161022d565b3480156102f6575f80fd5b5061024960095481565b34801561030b575f80fd5b5060026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b547fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0547f679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c5460035f527f88601476d11616a71c5be67555bd1dff4b1cbf21533d2669b768b61518cfe1c35460ff938416939283169291821691166040805194151585529215156020850152901515918301919091521515606082015260800161022d565b6102d66103e436600461504a565b610992565b3480156103f4575f80fd5b50610408610403366004615083565b6109b6565b604051901515815260200161022d565b6101fd61042636600461504a565b6109f6565b348015610436575f80fd5b506004546005546008546040805193845260208401929092526001600160a01b03169082015260600161022d565b34801561046f575f80fd5b506102497f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f81565b3480156104a2575f80fd5b506101fd6104b1366004615111565b610d11565b3480156104c1575f80fd5b506101fd6104d0366004615209565b610e96565b3480156104e0575f80fd5b506101fd61107f565b3480156104f4575f80fd5b506101fd61050336600461529b565b611105565b348015610513575f80fd5b506101fd6105223660046152b6565b611175565b348015610532575f80fd5b506101fd61054136600461531c565b61142a565b61024961055436600461504a565b611573565b348015610564575f80fd5b506101fd610573366004615364565b611583565b348015610583575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161022d565b3480156105b3575f80fd5b506001546001600160a01b0316610590565b6102496105d3366004614fc6565b611618565b6102d66105e6366004614d54565b611623565b5f8313806105f857505f82135b6106345760405162461bcd60e51b81526020600482015260086024820152674d30206f72204d3160c01b60448201526064015b60405180910390fd5b5f808280602001905181019061064a91906153b4565b915091505f80828060200190518101906106649190615431565b91509150610673848233611633565b855f88131561067f5750865b61068a8333836117e6565b5050505050505050565b5f61069f8383611903565b9392505050565b6106ae611e9f565b5f5b8251811015610821575f6106dc8483815181106106cf576106cf61545d565b6020026020010151611f15565b156106f25750476106ed8382611f4d565b61079e565b8382815181106107045761070461545d565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107769190615471565b905061079c84838151811061078d5761078d61545d565b60200260200101518483612006565b505b826001600160a01b0316336001600160a01b03168584815181106107c4576107c461545d565b60200260200101516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78460405161080691815260200190565b60405180910390a450806108198161549c565b9150506106b0565b505050565b6040805180820182525f80825260606020808401919091526001600160a01b038781168352600a8252848320548782168452600b835285842054878552600c84529386902086518088019097528054909216865260018201805460ff92831697929095169594919384019161089a906154b4565b80601f01602080910402602001604051908101604052809291908181526020018280546108c6906154b4565b80156109115780601f106108e857610100808354040283529160200191610911565b820191905f5260205f20905b8154815290600101906020018083116108f457829003601f168201915b505050505081525050905093509350939050565b610965848484848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506105eb92505050565b50505050565b5f805f5a905061097b85856120ea565b92505a61098890826154e6565b9150509250929050565b5f805f5a90506109a1846125fb565b92505a6109ae90826154e6565b915050915091565b5f60025f8360038111156109cc576109cc6154f9565b60038111156109dd576109dd6154f9565b815260208101919091526040015f205460ff1692915050565b600260035403610a185760405162461bcd60e51b815260040161062b9061550d565b60026003556003610a2881612b44565b5f610a37610120840184615544565b905011610a805760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8260a0013511610ad35760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b600a5f610ae6606085016040860161529b565b6001600160a01b0316815260208101919091526040015f205460ff16610b3f5760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21031b0b63632b960911b604482015260640161062b565b5f610b8f6003610b52602086018661529b565b610b6260a087016080880161529b565b610b72606088016040890161529b565b60a088013560c0890135610b8a6101408b018b615544565b612b8d565b90505f80610ba3606086016040870161529b565b6001600160a01b031683610bbb610120880188615544565b604051610bc9929190615586565b5f6040518083038185875af1925050503d805f8114610c03576040519150601f19603f3d011682016040523d82523d5f602084013e610c08565b606091505b509150915081610c5c57610c43816040518060400160405280600f81526020016e2a3930b739b4ba21b937b9b9ab1a9d60891b815250612e03565b60405162461bcd60e51b815260040161062b9190615595565b610c82610c6c602087018761529b565b610c7c606088016040890161529b565b5f613077565b50610d079050610c95602085018561529b565b610ca5604086016020870161529b565b610cb5608087016060880161529b565b60a08701355f60e0890135610cce6101008b018b615544565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061318692505050565b5050600160035550565b610d19611e9f565b5f5b8251811015610821575f828281518110610d3757610d3761545d565b602002602001015110158015610d6857506103e8828281518110610d5d57610d5d61545d565b602002602001015111155b610da95760405162461bcd60e51b8152602060048201526012602482015271066656520726174652069733a302d313030360741b604482015260640161062b565b828181518110610dbb57610dbb61545d565b602002602001015115610ded57818181518110610dda57610dda61545d565b6020026020010151600481905550610e0e565b818181518110610dff57610dff61545d565b60200260200101516005819055505b7f5fa95345cbe35dad70f67a9ca1430c22453a695590cb4fca05d58f637e85af4f838281518110610e4157610e4161545d565b6020026020010151838381518110610e5b57610e5b61545d565b6020026020010151604051610e7c9291909115158252602082015260400190565b60405180910390a180610e8e8161549c565b915050610d1b565b610e9e611e9f565b848114610edc5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b828114610f1a5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b825f5b81811015611034576040518060400160405280878784818110610f4257610f4261545d565b9050602002016020810190610f57919061529b565b6001600160a01b03168152602001858584818110610f7757610f7761545d565b9050602002810190610f899190615544565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250600c92508b90508a85818110610fd557610fd561545d565b60209081029290920135835250818101929092526040015f20825181546001600160a01b0319166001600160a01b0390911617815590820151600182019061101d90826155ec565b50905050808061102c9061549c565b915050610f1d565b507f652c1af850dcc0b28fcb71cd9473023f56a89edd81bbe7b51056a04caa94002487878787878760405161106e96959493929190615757565b60405180910390a150505050505050565b33806110936001546001600160a01b031690565b6001600160a01b0316146110f95760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206e657720656044820152663c32b1baba37b960c91b606482015260840161062b565b611102816131ea565b50565b61110d611e9f565b600180546001600160a01b0383166001600160a01b0319909116811790915561113d5f546001600160a01b031690565b6001600160a01b03167fdd01547fc40682edc3cd8d164d53f5a1ae6b46138a83f045658ed760823ddba860405160405180910390a350565b61117d611e9f565b8215611275575f5b8381101561123a57600a5f8686848181106111a2576111a261545d565b90506020020160208101906111b7919061529b565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600a908787858181106111ec576111ec61545d565b9050602002016020810190611201919061529b565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055806112328161549c565b915050611185565b507fb05655746bd43b7fe3ccd9d28b7685b4c67ddc51e70890062b0f7f85dd692695848460405161126c929190615807565b60405180910390a15b8015610965575f816001600160401b0381111561129457611294614c5f565b6040519080825280602002602001820160405280156112bd578160200160208202803683370190505b5090505f5b828110156113e757600b5f8585848181106112df576112df61545d565b90506020020160208101906112f4919061529b565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600b908686858181106113295761132961545d565b905060200201602081019061133e919061529b565b6001600160a01b0316815260208101919091526040015f908120805460ff191692151592909217909155600b9085858481811061137d5761137d61545d565b9050602002016020810190611392919061529b565b6001600160a01b0316815260208101919091526040015f2054825160ff909116908390839081106113c5576113c561545d565b91151560209283029190910190910152806113df8161549c565b9150506112c2565b507f4a28b173d9bc739be3886d172e07fef80392184787fc6b92406ce0f0c05b7e6383838360405161141b9392919061581a565b60405180910390a15050505050565b611432611e9f565b6001600160a01b0383161561149357600680546001600160a01b0319166001600160a01b0385169081179091556040519081527f347fade115440908839b750620f0add8f417b77a392657edd70b950373eda9c39060200160405180910390a15b6001600160a01b0382161561150157600780546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527ff9c6fa562c9d8326f8518a29a53ef18ab03cd6b9eead73ac667c5e289354c73e910160405180910390a1505b6001600160a01b0381161561082157600880546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fb3911b5760f95a64aaa8d7f1775f57a7b6ed0bcf1ebb3fbfcc045e2f04eaad11910160405180910390a150505050565b5f61157d826125fb565b92915050565b61158b611e9f565b805f5b818110156116115784156115d0576115cb8484838181106115b1576115b161545d565b90506020020160208101906115c69190615083565b613243565b6115ff565b6115ff8484838181106115e5576115e561545d565b90506020020160208101906115fa9190615083565b6132d5565b806116098161549c565b91505061158e565b5050505050565b5f61069f83836120ea565b5f805f5a905061097b8585611903565b600f60f884901c165f818152600c60209081526040808320815180830190925280546001600160a01b031682526001810180549293919291840191611677906154b4565b80601f01602080910402602001604051908101604052809291908181526020018280546116a3906154b4565b80156116ee5780601f106116c5576101008083540402835291602001916116ee565b820191905f5260205f20905b8154815290600101906020018083116116d157829003601f168201915b5050509190925250508151919250506001600160a01b03166117525760405162461bcd60e51b815260206004820152601960248201527f43616c6c6261636b2062616420706f6f6c20696e646578656400000000000000604482015260640161062b565b5f815f015185836020015160405160200161176f93929190615873565b604051602081830303815290604052805190602001205f1c9050836001600160a01b0316816001600160a01b0316146117de5760405162461bcd60e51b815260206004820152601160248201527010d85b1b189858dac8189859081c1bdbdb607a1b604482015260640161062b565b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161184191906158bb565b5f604051808303815f865af19150503d805f811461187a576040519150601f19603f3d011682016040523d82523d5f602084013e61187f565b606091505b50915091508180156118a95750805115806118a95750808060200190518101906118a991906158d6565b6116115760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657248656c7065723a205452414e534645525f544f4b454e5f46604482015264105253115160da1b606482015260840161062b565b5f6002600354036119265760405162461bcd60e51b815260040161062b9061550d565b6002600355600161193681612b44565b428310156119705760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b6001600f604086013560f81c16145f8080808061198d8a8761335a565b945094509450945094506119ef835f815181106119ac576119ac61545d565b60200260200101518b8060e001906119c491906158f1565b5f8181106119d4576119d461545d565b90506020020160208101906119e9919061529b565b866117e6565b8515611bb6578415611ad357611a4960408b013584611a1160e08e018e6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613887915050565b611acc82611a5d60408d0160208e0161529b565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a08231906024015b602060405180830381865afa158015611aa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ac69190615471565b90613b7e565b9750611d4f565b611b3f60408b013584611ae960e08e018e6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508d5f016020810190611b3a919061529b565b613887565b611acc818460018651611b5291906154e6565b81518110611b6257611b6261545d565b60200260200101516001600160a01b03166370a082318d5f016020810190611b8a919061529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401611a87565b5f8a604001356001600160a01b031663d06ca61f86866040518363ffffffff1660e01b8152600401611be9929190615936565b5f60405180830381865afa158015611c03573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c2a919081019061598b565b90508515611c9757611c7c8185611c4460e08f018f6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613bd3915050565b611c9083611a5d60408e0160208f0161529b565b9850611d4d565b611cff8185611ca960e08f018f6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508e5f016020810190611cfa919061529b565b613bd3565b611d4a828560018751611d1291906154e6565b81518110611d2257611d2261545d565b60200260200101516001600160a01b03166370a082318e5f016020810190611b8a919061529b565b98505b505b8960800135881015611d735760405162461bcd60e51b815260040161062b90615a0b565b8415611da857611d92611d8c60408c0160208d0161529b565b89613dbd565b611da8611da260208c018c61529b565b89611f4d565b50505050505f85806101200190611dbf9190615544565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929350611e919250611e0791505060c08801886158f1565b5f818110611e1757611e1761545d565b9050602002016020810190611e2c919061529b565b611e3960c08901896158f1565b6001611e4860c08c018c6158f1565b611e539291506154e6565b818110611e6257611e6261545d565b9050602002016020810190611e77919061529b565b611e8460208a018a61529b565b8960600135885f87613186565b505050600160035592915050565b33611eb15f546001600160a01b031690565b6001600160a01b031614611f135760405162461bcd60e51b815260206004820152602360248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652065786563756044820152623a37b960e91b606482015260840161062b565b565b5f6001600160a01b038216158061157d57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b604080515f808252602082019092526001600160a01b038416908390604051611f7691906158bb565b5f6040518083038185875af1925050503d805f8114611fb0576040519150601f19603f3d011682016040523d82523d5f602084013e611fb5565b606091505b50509050806108215760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015260640161062b565b5f805f856001600160a01b031663a9059cbb868660405160240161203f9291906001600160a01b03929092168252602082015260400190565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161207891906158bb565b5f604051808303815f865af19150503d805f81146120b1576040519150601f19603f3d011682016040523d82523d5f602084013e6120b6565b606091505b50915091508180156120e05750805115806120e05750808060200190518101906120e091906158d6565b9695505050505050565b5f60026003540361210d5760405162461bcd60e51b815260040161062b9061550d565b60026003555f61211c81612b44565b5f61212a6020850185615544565b9050116121735760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8460800135116121c65760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b5f6121d7606086016040870161529b565b6001600160a01b0316036122375760405162461bcd60e51b815260206004820152602160248201527f72656365697665722073686f756c64206265206e6f74206164647265737328306044820152602960f81b606482015260840161062b565b5f8460a001351161229b5760405162461bcd60e51b815260206004820152602860248201527f6d696e52657475726e416d6f756e742073686f756c6420626520677265617465604482015267072207468616e20360c41b606482015260840161062b565b600b5f6122ae608087016060880161529b565b6001600160a01b0316815260208101919091526040015f205460ff166123165760405162461bcd60e51b815260206004820152601760248201527f696e76616c696420777261707065642061646472657373000000000000000000604482015260640161062b565b6006545f906001600160a01b03168161235f8161233660208a018a61529b565b61234660808b0160608c0161529b565b8560808c013560c08d0135610b8a6101008f018f615544565b90506123796123746040890160208a0161529b565b611f15565b1561239f5761238e606088016040890161529b565b6001600160a01b0316319250612436565b6123af604088016020890161529b565b6001600160a01b03166370a082316123cd60608a0160408b0161529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561240f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124339190615471565b92505b5f80836001600160a01b031683633f3204d28a6040516024016124599190615a38565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161249291906158bb565b5f6040518083038185875af1925050503d805f81146124cc576040519150601f19603f3d011682016040523d82523d5f602084013e6124d1565b606091505b50915091508161250957610c43816040518060400160405280600c81526020016b2a3930b739b4ba29bbb0b81d60a11b815250612e03565b5061251f90506123746040890160208a0161529b565b1561254f576125488361253860608a0160408b0161529b565b6001600160a01b03163190613b7e565b9450612584565b6125818361256360408a0160208b0161529b565b6001600160a01b03166370a08231611b8a60608c0160408d0161529b565b94505b8660a001358510156125a85760405162461bcd60e51b815260040161062b90615a0b565b6125ec6125b8602089018961529b565b6125c860408a0160208b0161529b565b6125d860608b0160408c0161529b565b60808b0135895f610cce60e08f018f615544565b50505050600160035592915050565b5f60026003540361261e5760405162461bcd60e51b815260040161062b9061550d565b6002600355600261262e81612b44565b5f61263d6101008501856158f1565b90501161267a5760405162461bcd60e51b815260206004820152600b60248201526a456d70747920706f6f6c7360a81b604482015260640161062b565b428360e0013510156126b85760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b600b5f6126cb608086016060870161529b565b6001600160a01b0316815260208101919091526040015f205460ff166127035760405162461bcd60e51b815260040161062b90615a83565b5f612711602085018561529b565b90505f612724604086016020870161529b565b90505f80612738612374602089018961529b565b156127505761274d608088016060890161529b565b93505b5f61278f600261276360208b018b61529b565b61277360808c0160608d0161529b565b5f8c608001358d60c001358e806101200190610b8a9190615544565b90506127a461237460408a0160208b0161529b565b1561283e576127b96080890160608a0161529b565b93506127cb6080890160608a0161529b565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561280f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128339190615471565b9250600191506128d5565b61284e6040890160208a0161529b565b6001600160a01b03166370a0823161286c60608b0160408c0161529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156128ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d29190615471565b92505b5f6128e46101008a018a6158f1565b91503090506060600183111561299c57875f805b85811015612991575f8e80610100019061291291906158f1565b838181106129225761292261545d565b905060200201359050612936848483613ed0565b955093506129456001886154e6565b82148015612951575088155b1561296f578e6040016020810190612969919061529b565b95508a92505b61297b8682878b6141bb565b97505080806129899061549c565b9150506128f8565b50859b505050612a1a565b6129cb88886129af6101008f018f6158f1565b5f8181106129bf576129bf61545d565b90506020020135613ed0565b91508590506129e7576129e460608c0160408d0161529b565b91505b612a17826129f96101008e018e6158f1565b5f818110612a0957612a0961545d565b9050602002013583876141bb565b99505b5050508115612a9457612a3783611a5d60808b0160608c0161529b565b96508760a00135871015612a5d5760405162461bcd60e51b815260040161062b90615a0b565b612a76612a7060808a0160608b0161529b565b88613dbd565b612a8f612a8960608a0160408b0161529b565b88611f4d565b612aec565b612ac683612aa860408b0160208c0161529b565b6001600160a01b03166370a08231611b8a60608d0160408e0161529b565b96508760a00135871015612aec5760405162461bcd60e51b815260040161062b90615a0b565b612b34612afc60208a018a61529b565b612b0c60408b0160208c0161529b565b612b1c60608c0160408d0161529b565b8b608001358b5f8e806101400190610cce9190615544565b5050505050506001600355919050565b612b4d816109b6565b156111025760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161062b565b5f805f612b998661436a565b90925090505f60038c6003811115612bb357612bb36154f9565b14612bbf576001612bc1565b5f5b90505f612bd1828a858a8a6143c6565b9050612bdc8c611f15565b15612d565760038d6003811115612bf557612bf56154f9565b03612c4f5788341015612c3e5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b612c483484613b7e565b9450612c96565b883414612c925760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b8094505b6001600160a01b038b1615612d35576001600160a01b038b165f908152600b602052604090205460ff16612cdc5760405162461bcd60e51b815260040161062b90615a83565b60038d6003811115612cf057612cf06154f9565b03612d1257612cff8b8661447b565b612d0a8b8b87613077565b5f9450612d35565b60028d6003811115612d2657612d266154f9565b03612d3557612d358b8261447b565b8315612d5157600854612d51906001600160a01b031684611f4d565b612df3565b612d628c33308c614575565b60038d6003811115612d7657612d766154f9565b03612d8e57612d868c8b83613077565b349450612dd3565b5f8d6003811115612da157612da16154f9565b03612db657612db18c8b836117e6565b612dd3565b60028d6003811115612dca57612dca6154f9565b03612dd3578094505b8315612df357600854612df1908d906001600160a01b031685612006565b505b5050505098975050505050505050565b60606044835110158015612e3b5750825f81518110612e2457612e2461545d565b6020910101516001600160f81b031916600160fb1b145b8015612e6c575082600181518110612e5557612e5561545d565b6020910101516001600160f81b03191660c360f81b145b8015612e9d575082600281518110612e8657612e8661545d565b6020910101516001600160f81b031916607960f81b145b8015612ece575082600381518110612eb757612eb761545d565b6020910101516001600160f81b031916600560fd1b145b15612f5857604483810180519091612ee69190615aba565b84511015612f2e5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b604482015260640161062b565b8281604051602001612f41929190615acd565b60405160208183030381529060405291505061157d565b82516024148015612f8d5750825f81518110612f7657612f7661545d565b6020910101516001600160f81b031916602760f91b145b8015612fbe575082600181518110612fa757612fa761545d565b6020910101516001600160f81b031916600960fb1b145b8015612fef575082600281518110612fd857612fd861545d565b6020910101516001600160f81b031916607b60f81b145b80156130205750826003815181106130095761300961545d565b6020910101516001600160f81b031916607160f81b145b156130455760248301518261303482614698565b604051602001612f41929190615b1b565b8161304f846146c0565b604051602001613060929190615b4f565b604051602081830303815290604052905092915050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f928392908716916130d291906158bb565b5f604051808303815f865af19150503d805f811461310b576040519150601f19603f3d011682016040523d82523d5f602084013e613110565b606091505b509150915081801561313a57508051158061313a57508080602001905181019061313a91906158d6565b6116115760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a20415050524f56455f4641494c45440000604482015260640161062b565b846001600160a01b0316866001600160a01b0316886001600160a01b03167f2251435bd151cd72851a82be055bf6d1c3d7f34d08d56493dddf874229b8e897878787876040516131d99493929190615b9f565b60405180910390a450505050505050565b600180546001600160a01b03199081169091555f80546001600160a01b03848116938216841783556040519116929183917f88436636ea40d5bb1bcc55ff9cd54788af71da886f4147a87f199adcca733d4d9190a35050565b8061324d81612b44565b600160025f846003811115613264576132646154f9565b6003811115613275576132756154f9565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f534f879afd40abb4e39f8e1b77a316be4c8e3521d9cf5a3a3db8959d574d455933836040516132c9929190615bc3565b60405180910390a15050565b806132df816148a0565b5f60025f8460038111156132f5576132f56154f9565b6003811115613306576133066154f9565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f4cd3e1443d03aba343c5d882744f8f172c07b495e955ac3defb325cbd73c855033836040516132c9929190615bc3565b5f806060818061336d60e08801886158f1565b61337991506001615aba565b61338660c08901896158f1565b9050146133c45760405162461bcd60e51b815260206004820152600c60248201526b092dcecc2d8d2c840e0c2e8d60a31b604482015260640161062b565b600b5f6133d760408a0160208b0161529b565b6001600160a01b0316815260208101919091526040015f205460ff1661340f5760405162461bcd60e51b815260040161062b90615a83565b5f8061341e8960a0013561436a565b9092509050613441600160608b01358361343c6101008e018e615544565b6143c6565b95505f61345160c08b018b6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093945084925060019150613496905060c08e018e6158f1565b6134a19291506154e6565b815181106134b1576134b161545d565b602002602001015190506134f38b8060c001906134ce91906158f1565b5f8181106134de576134de61545d565b9050602002016020810190612374919061529b565b156135b3578a60600135341461353f5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206d73672e76616c756560781b604482015260640161062b565b831561355b5760085461355b906001600160a01b031684611f4d565b61356b60408c0160208d0161529b565b825f8151811061357d5761357d61545d565b6001600160a01b039092166020928302919091018201526135ae906135a89060408e01908e0161529b565b8961447b565b613714565b89156136c557815f815181106135cb576135cb61545d565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613619573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061363d9190615471565b9750613668825f815181106136545761365461545d565b602002602001015133308e60600135614575565b6136be8b60a00135611ac68a855f815181106136865761368661545d565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401611a87565b97506136da565b6136da825f815181106136545761365461545d565b831561371457613712825f815181106136f5576136f561545d565b60209081029190910101516008546001600160a01b031685612006565b505b61371d81611f15565b156137eb5761373260408c0160208d0161529b565b826001845161374191906154e6565b815181106137515761375161545d565b6001600160a01b039092166020928302919091018201526001995061377c9060408d01908d0161529b565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156137c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e49190615471565b9550613876565b8915613876576001600160a01b0381166370a0823161380d60208e018e61529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561384f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138739190615471565b94505b819650505050509295509295909350565b5f5b6001845161389791906154e6565b811015611611575f808583815181106138b2576138b261545d565b6020026020010151868460016138c89190615aba565b815181106138d8576138d861545d565b6020026020010151915091505f816001600160a01b0316836001600160a01b031610613905578183613908565b82825b5090505f86858151811061391e5761391e61545d565b602002602001015190505f805f80846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061398c9190615c12565b506001600160701b031691506001600160701b031691505f80876001600160a01b03168a6001600160a01b0316146139c55782846139c8565b83835b6040516370a0823160e01b81526001600160a01b038a81166004830152929450909250613a03918491908d16906370a0823190602401611a87565b95508e6001600160a01b031663054d50d48784846040518463ffffffff1660e01b8152600401613a46939291909283526020830191909152604082015260600190565b602060405180830381865afa158015613a61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a859190615471565b9450505050505f80856001600160a01b0316886001600160a01b031614613aad57825f613ab0565b5f835b915091505f60028d51613ac391906154e6565b8a10613acf578a613af4565b8b613adb8b6001615aba565b81518110613aeb57613aeb61545d565b60200260200101515b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0387169063022c0d9f90613b359086908690869060248101615c53565b5f604051808303815f87803b158015613b4c575f80fd5b505af1158015613b5e573d5f803e3d5ffd5b505050505050505050505050508080613b769061549c565b915050613889565b5f82613b8a83826154e6565b915081111561157d5760405162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015260640161062b565b5f5b60018451613be391906154e6565b811015611611575f80858381518110613bfe57613bfe61545d565b602002602001015186846001613c149190615aba565b81518110613c2457613c2461545d565b6020026020010151915091505f816001600160a01b0316836001600160a01b031610613c51578183613c54565b82825b5090505f88613c64866001615aba565b81518110613c7457613c7461545d565b602002602001015190505f80836001600160a01b0316866001600160a01b031614613ca057825f613ca3565b5f835b915091505f60028b51613cb691906154e6565b8810613cc25788613ce7565b89613cce896001615aba565b81518110613cde57613cde61545d565b60200260200101515b9050898881518110613cfb57613cfb61545d565b60200260200101516001600160a01b031663022c0d9f8484845f6001600160401b03811115613d2c57613d2c614c5f565b6040519080825280601f01601f191660200182016040528015613d56576020820181803683370190505b506040518563ffffffff1660e01b8152600401613d769493929190615c53565b5f604051808303815f87803b158015613d8d575f80fd5b505af1158015613d9f573d5f803e3d5ffd5b50505050505050505050508080613db59061549c565b915050613bd5565b5f80836001600160a01b03165f632e1a7d4d85604051602401613de291815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051613e1b91906158bb565b5f6040518083038185875af1925050503d805f8114613e55576040519150601f19603f3d011682016040523d82523d5f602084013e613e5a565b606091505b5091509150818015613e84575080511580613e84575080806020019051810190613e8491906158d6565b6109655760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a2057495448445241575f4641494c454400604482015260640161062b565b5f60605f8390505f816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f389190615c7f565b90505f826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f9b9190615c7f565b90505f836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ffe9190615c9a565b604080516001600160a01b03808716602083015285169181019190915262ffffff821660608201529091505f9060800160408051601f1981840301815291905280516020909101209050600160ff1b88161580156140fe57846001600160a01b03168b6001600160a01b0316146140875760405162461bcd60e51b815260040161062b90615cbc565b6001600160a01b038a16156140c757836001600160a01b03168a6001600160a01b0316146140c75760405162461bcd60e51b815260040161062b90615cbc565b604080516001600160a01b0387166020820152908101839052939750879360600160405160208183030381529060405296506141a2565b836001600160a01b03168b6001600160a01b03161461412f5760405162461bcd60e51b815260040161062b90615cbc565b6001600160a01b038a161561416f57846001600160a01b03168a6001600160a01b03161461416f5760405162461bcd60e51b815260040161062b90615cbc565b604080516001600160a01b0386166020820152908101839052949750879460600160405160208183030381529060405296505b6141ad89838b611633565b505050505050935093915050565b5f600160ff1b8416158015614293575f856001600160a01b031663128acb0888846141e5886148ec565b6141f56401000276a36001615cde565b8b8b604051602001614208929190615d05565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401614237959493929190615d1d565b60408051808303815f875af1158015614252573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142769190615d57565b91505061428b8161428690615d79565b614959565b925050614361565b5f856001600160a01b031663128acb0888846142ae886148ec565b6142cd600173fffd8963efd1fc6a506488495d951d5263988d26615d93565b8b8b6040516020016142e0929190615d05565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161430f959493929190615d1d565b60408051808303815f875af115801561432a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061434e9190615d57565b50905061435d61428682615d79565b9250505b50949350505050565b5f8080614378600a85615dc7565b905061438f600a6143898684613b7e565b906149aa565b91508060011480156143a057505f82115b80156143b657506008546001600160a01b031615155b156143c057600192505b50915091565b5f8086156143f0576143e9612710614389600454896149f790919063ffffffff16565b905061440e565b61440b612710614389600554896149f790919063ffffffff16565b90505b808510156144665761442286868686614a5d565b6144665760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964207369676e61747572652066656560581b604482015260640161062b565b6144708686613b7e565b979650505050505050565b60408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b17905290515f9182916001600160a01b0386169185916144c091906158bb565b5f6040518083038185875af1925050503d805f81146144fa576040519150601f19603f3d011682016040523d82523d5f602084013e6144ff565b606091505b509150915081801561452957508051158061452957508080602001905181019061452991906158d6565b6109655760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a204445504f5349545f4641494c45440000604482015260640161062b565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f928392908816916145d891906158bb565b5f604051808303815f865af19150503d805f8114614611576040519150601f19603f3d011682016040523d82523d5f602084013e614616565b606091505b509150915081801561464057508051158061464057508080602001905181019061464091906158d6565b6117de5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b606482015260840161062b565b606061157d826040516020016146b091815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b905f906146e7906002615dda565b6146f2906002615aba565b6001600160401b0381111561470957614709614c5f565b6040519080825280601f01601f191660200182016040528015614733576020820181803683370190505b509050600360fc1b815f8151811061474d5761474d61545d565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061477b5761477b61545d565b60200101906001600160f81b03191690815f1a9053505f5b8451811015614898578260048683815181106147b1576147b161545d565b01602001516001600160f81b031916901c60f81c601081106147d5576147d561545d565b1a60f81b826147e5836002615dda565b6147f0906002615aba565b815181106148005761480061545d565b60200101906001600160f81b03191690815f1a905350828582815181106148295761482961545d565b60209101015160f81c600f16601081106148455761484561545d565b1a60f81b82614855836002615dda565b614860906003615aba565b815181106148705761487061545d565b60200101906001600160f81b03191690815f1a905350806148908161549c565b915050614793565b509392505050565b6148a9816109b6565b6111025760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161062b565b5f6001600160ff1b038211156149555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161062b565b5090565b5f808212156149555760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161062b565b5f815f036149ed5760405162461bcd60e51b815260206004820152601060248201526f64732d6d6174682d6469762d7a65726f60801b604482015260640161062b565b61069f8284615df1565b5f811580614a1a57508282614a0c8183615dda565b9250614a189083615df1565b145b61157d5760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015260640161062b565b600954604080517f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f6020820152339181019190915260608101869052608081018590525f91829160a00160405160208183030381529060405280519060200120604051602001614ae492919061190160f01b81526002810192909252602282015260420190565b6040516020818303038152906040528051906020012090505f805f614b3d87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250614bc992505050565b9250925092505f6001858585856040515f8152602001604052604051614b7f949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015614b9f573d5f803e3d5ffd5b5050604051601f1901516007546001600160a01b039081169116149b9a5050505050505050505050565b5f805f8351604114614c1d5760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161062b565b505050602081015160408201516060909201515f1a92909190565b5f8085851115614c46575f80fd5b83861115614c52575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614c9b57614c9b614c5f565b604052919050565b5f6001600160401b03821115614cbb57614cbb614c5f565b50601f01601f191660200190565b5f805f60608486031215614cdb575f80fd5b833592506020840135915060408401356001600160401b03811115614cfe575f80fd5b8401601f81018613614d0e575f80fd5b8035614d21614d1c82614ca3565b614c73565b818152876020838501011115614d35575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f8060408385031215614d65575f80fd5b82356001600160401b03811115614d7a575f80fd5b83016101408186031215614d8c575f80fd5b946020939093013593505050565b5f6001600160401b03821115614db257614db2614c5f565b5060051b60200190565b6001600160a01b0381168114611102575f80fd5b8035614ddb81614dbc565b919050565b5f8060408385031215614df1575f80fd5b82356001600160401b03811115614e06575f80fd5b8301601f81018513614e16575f80fd5b80356020614e26614d1c83614d9a565b82815260059290921b83018101918181019088841115614e44575f80fd5b938201935b83851015614e6b578435614e5c81614dbc565b82529382019390820190614e49565b9550614e7a9050868201614dd0565b93505050509250929050565b5f805f60608486031215614e98575f80fd5b8335614ea381614dbc565b92506020840135614eb381614dbc565b929592945050506040919091013590565b5f5b83811015614ede578181015183820152602001614ec6565b50505f910152565b5f8151808452614efd816020860160208601614ec4565b601f01601f19169290920160200192915050565b831515815282151560208201526060604082015260018060a01b0382511660608201525f6020830151604060808401526120e060a0840182614ee6565b5f805f8060608587031215614f61575f80fd5b843593506020850135925060408501356001600160401b0380821115614f85575f80fd5b818701915087601f830112614f98575f80fd5b813581811115614fa6575f80fd5b886020828501011115614fb7575f80fd5b95989497505060200194505050565b5f8060408385031215614fd7575f80fd5b82356001600160401b0380821115614fed575f80fd5b908401906101208287031215615001575f80fd5b90925060208401359080821115615016575f80fd5b50830160408186031215615028575f80fd5b809150509250929050565b5f6101608284031215615044575f80fd5b50919050565b5f6020828403121561505a575f80fd5b81356001600160401b0381111561506f575f80fd5b61507b84828501615033565b949350505050565b5f60208284031215615093575f80fd5b81356004811061069f575f80fd5b8015158114611102575f80fd5b5f82601f8301126150bd575f80fd5b813560206150cd614d1c83614d9a565b82815260059290921b840181019181810190868411156150eb575f80fd5b8286015b8481101561510657803583529183019183016150ef565b509695505050505050565b5f8060408385031215615122575f80fd5b82356001600160401b0380821115615138575f80fd5b818501915085601f83011261514b575f80fd5b8135602061515b614d1c83614d9a565b82815260059290921b84018101918181019089841115615179575f80fd5b948201945b838610156151a0578535615191816150a1565b8252948201949082019061517e565b965050860135925050808211156151b5575f80fd5b50610988858286016150ae565b5f8083601f8401126151d2575f80fd5b5081356001600160401b038111156151e8575f80fd5b6020830191508360208260051b8501011115615202575f80fd5b9250929050565b5f805f805f806060878903121561521e575f80fd5b86356001600160401b0380821115615234575f80fd5b6152408a838b016151c2565b90985096506020890135915080821115615258575f80fd5b6152648a838b016151c2565b9096509450604089013591508082111561527c575f80fd5b5061528989828a016151c2565b979a9699509497509295939492505050565b5f602082840312156152ab575f80fd5b813561069f81614dbc565b5f805f80604085870312156152c9575f80fd5b84356001600160401b03808211156152df575f80fd5b6152eb888389016151c2565b90965094506020870135915080821115615303575f80fd5b50615310878288016151c2565b95989497509550505050565b5f805f6060848603121561532e575f80fd5b833561533981614dbc565b9250602084013561534981614dbc565b9150604084013561535981614dbc565b809150509250925092565b5f805f60408486031215615376575f80fd5b8335615381816150a1565b925060208401356001600160401b0381111561539b575f80fd5b6153a7868287016151c2565b9497909650939450505050565b5f80604083850312156153c5575f80fd5b8251915060208301516001600160401b038111156153e1575f80fd5b8301601f810185136153f1575f80fd5b80516153ff614d1c82614ca3565b818152866020838501011115615413575f80fd5b615424826020830160208601614ec4565b8093505050509250929050565b5f8060408385031215615442575f80fd5b825161544d81614dbc565b6020939093015192949293505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215615481575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016154ad576154ad615488565b5060010190565b600181811c908216806154c857607f821691505b60208210810361504457634e487b7160e01b5f52602260045260245ffd5b8181038181111561157d5761157d615488565b634e487b7160e01b5f52602160045260245ffd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b5f808335601e19843603018112615559575f80fd5b8301803591506001600160401b03821115615572575f80fd5b602001915036819003821315615202575f80fd5b818382375f9101908152919050565b602081525f61069f6020830184614ee6565b601f821115610821575f81815260208120601f850160051c810160208610156155cd5750805b601f850160051c820191505b818110156117de578281556001016155d9565b81516001600160401b0381111561560557615605614c5f565b6156198161561384546154b4565b846155a7565b602080601f83116001811461564c575f84156156355750858301515b5f19600386901b1c1916600185901b1785556117de565b5f85815260208120601f198616915b8281101561567a5788860151825594840194600190910190840161565b565b508582101561569757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8183525f60208085019450825f5b858110156156e35781356156c881614dbc565b6001600160a01b0316875295820195908201906001016156b5565b509495945050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f808335601e1984360301811261572b575f80fd5b83016020810192503590506001600160401b03811115615749575f80fd5b803603821315615202575f80fd5b606080825281018690525f6001600160fb1b03871115615775575f80fd5b8660051b80896080850137808301905060206080848303018185015261579f60808301888a6156a7565b84810360408601528581529150808201600586901b83018201875f5b888110156157f557858303601f190184526157d6828b615716565b6157e18582846156ee565b9587019594505050908401906001016157bb565b50909c9b505050505050505050505050565b602081525f61507b6020830184866156a7565b604081525f61582d6040830185876156a7565b8281036020848101919091528451808352858201928201905f5b81811015615865578451151583529383019391830191600101615847565b509098975050505050505050565b60ff60f81b81526bffffffffffffffffffffffff198460601b1660018201528260158201525f82516158ac816035850160208701614ec4565b91909101603501949350505050565b5f82516158cc818460208701614ec4565b9190910192915050565b5f602082840312156158e6575f80fd5b815161069f816150a1565b5f808335601e19843603018112615906575f80fd5b8301803591506001600160401b0382111561591f575f80fd5b6020019150600581901b3603821315615202575f80fd5b5f60408201848352602060408185015281855180845260608601915082870193505f5b8181101561597e5784516001600160a01b031683529383019391830191600101615959565b5090979650505050505050565b5f602080838503121561599c575f80fd5b82516001600160401b038111156159b1575f80fd5b8301601f810185136159c1575f80fd5b80516159cf614d1c82614d9a565b81815260059190911b820183019083810190878311156159ed575f80fd5b928401925b82841015614470578351825292840192908401906159f2565b602080825260139082015272151bdbc81b1a5d1d1b19481c9958d95a5d9959606a1b604082015260600190565b602081525f8235615a4881614dbc565b6001600160a01b0316602083810191909152615a6690840184615716565b604080850152615a7a6060850182846156ee565b95945050505050565b60208082526017908201527f496e76616c696420777261707065642061646472657373000000000000000000604082015260600190565b8082018082111561157d5761157d615488565b5f8351615ade818460208801614ec4565b6508ae4e4dee4560d31b9083019081528351615b01816006840160208801614ec4565b602960f81b60069290910191820152600701949350505050565b5f8351615b2c818460208801614ec4565b650a0c2dcd2c6560d31b9083019081528351615b01816006840160208801614ec4565b5f8351615b60818460208801614ec4565b670aadcd6dcdeeedc560c31b9083019081528351615b85816008840160208801614ec4565b602960f81b60089290910191820152600901949350505050565b848152836020820152826040820152608060608201525f6120e06080830184614ee6565b6001600160a01b03831681526040810160048310615bef57634e487b7160e01b5f52602160045260245ffd5b8260208301529392505050565b80516001600160701b0381168114614ddb575f80fd5b5f805f60608486031215615c24575f80fd5b615c2d84615bfc565b9250615c3b60208501615bfc565b9150604084015163ffffffff81168114615359575f80fd5b84815283602082015260018060a01b0383166040820152608060608201525f6120e06080830184614ee6565b5f60208284031215615c8f575f80fd5b815161069f81614dbc565b5f60208284031215615caa575f80fd5b815162ffffff8116811461069f575f80fd5b602080825260089082015267109859081c1bdbdb60c21b604082015260600190565b6001600160a01b03818116838216019080821115615cfe57615cfe615488565b5092915050565b828152604060208201525f61507b6040830184614ee6565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f9061447090830184614ee6565b5f8060408385031215615d68575f80fd5b505080516020909101519092909150565b5f600160ff1b8201615d8d57615d8d615488565b505f0390565b6001600160a01b03828116828216039080821115615cfe57615cfe615488565b634e487b7160e01b5f52601260045260245ffd5b5f82615dd557615dd5615db3565b500690565b808202811582820484141761157d5761157d615488565b5f82615dff57615dff615db3565b50049056fea26469706673582212204f637f4c295074f72cbc3c36d09625f5fdf3a44c7aff79ff9b262a8ea106cf0864736f6c63430008140033

Deployed Bytecode

0x608060405260043610610184575f3560e01c80637ec753fe116100d0578063b9b5149b11610089578063d63234e011610063578063d63234e0146105a8578063d808d889146105c5578063fa461e33146102a4578063fa9ec7af146105d8576101c3565b8063b9b5149b14610546578063bf5c55a214610559578063c34c08e514610578576101c3565b80637ec753fe1461049757806392bcc8be146104b657806394d3d793146104d5578063afed2d0e146104e9578063b93c0beb14610508578063b946fd3b14610527576101c3565b80633644e5151161013d5780635ac86ab7116101175780635ac86ab7146103e95780636b3ec416146104185780636fbf72f91461042b5780637e467ecf14610464576101c3565b80633644e515146102eb5780633c481d57146103005780634c42342f146103d6576101c3565b80630ced9fb9146101ff5780630dc4bdae146102365780630e8cc705146102575780631975b0961461027657806323a69e75146102a45780632adb806f146102c3576101c3565b366101c357604080513381523460208201527f7784f8d436dc514f0690e472c7e2d7f660a73e504c69b2350f6be5a5f02432ef910160405180910390a1005b3480156101ce575f80fd5b505f80806101df3660048184614c38565b8101906101ec9190614cc9565b9250925092506101fd8383836105eb565b005b34801561020a575f80fd5b50600654600754604080516001600160a01b039384168152929091166020830152015b60405180910390f35b610249610244366004614d54565b610694565b60405190815260200161022d565b348015610262575f80fd5b506101fd610271366004614de0565b6106a6565b348015610281575f80fd5b50610295610290366004614e86565b610826565b60405161022d93929190614f11565b3480156102af575f80fd5b506101fd6102be366004614f4e565b610925565b6102d66102d1366004614fc6565b61096b565b6040805192835260208301919091520161022d565b3480156102f6575f80fd5b5061024960095481565b34801561030b575f80fd5b5060026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b547fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0547f679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c5460035f527f88601476d11616a71c5be67555bd1dff4b1cbf21533d2669b768b61518cfe1c35460ff938416939283169291821691166040805194151585529215156020850152901515918301919091521515606082015260800161022d565b6102d66103e436600461504a565b610992565b3480156103f4575f80fd5b50610408610403366004615083565b6109b6565b604051901515815260200161022d565b6101fd61042636600461504a565b6109f6565b348015610436575f80fd5b506004546005546008546040805193845260208401929092526001600160a01b03169082015260600161022d565b34801561046f575f80fd5b506102497f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f81565b3480156104a2575f80fd5b506101fd6104b1366004615111565b610d11565b3480156104c1575f80fd5b506101fd6104d0366004615209565b610e96565b3480156104e0575f80fd5b506101fd61107f565b3480156104f4575f80fd5b506101fd61050336600461529b565b611105565b348015610513575f80fd5b506101fd6105223660046152b6565b611175565b348015610532575f80fd5b506101fd61054136600461531c565b61142a565b61024961055436600461504a565b611573565b348015610564575f80fd5b506101fd610573366004615364565b611583565b348015610583575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161022d565b3480156105b3575f80fd5b506001546001600160a01b0316610590565b6102496105d3366004614fc6565b611618565b6102d66105e6366004614d54565b611623565b5f8313806105f857505f82135b6106345760405162461bcd60e51b81526020600482015260086024820152674d30206f72204d3160c01b60448201526064015b60405180910390fd5b5f808280602001905181019061064a91906153b4565b915091505f80828060200190518101906106649190615431565b91509150610673848233611633565b855f88131561067f5750865b61068a8333836117e6565b5050505050505050565b5f61069f8383611903565b9392505050565b6106ae611e9f565b5f5b8251811015610821575f6106dc8483815181106106cf576106cf61545d565b6020026020010151611f15565b156106f25750476106ed8382611f4d565b61079e565b8382815181106107045761070461545d565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610752573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107769190615471565b905061079c84838151811061078d5761078d61545d565b60200260200101518483612006565b505b826001600160a01b0316336001600160a01b03168584815181106107c4576107c461545d565b60200260200101516001600160a01b03167f3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f78460405161080691815260200190565b60405180910390a450806108198161549c565b9150506106b0565b505050565b6040805180820182525f80825260606020808401919091526001600160a01b038781168352600a8252848320548782168452600b835285842054878552600c84529386902086518088019097528054909216865260018201805460ff92831697929095169594919384019161089a906154b4565b80601f01602080910402602001604051908101604052809291908181526020018280546108c6906154b4565b80156109115780601f106108e857610100808354040283529160200191610911565b820191905f5260205f20905b8154815290600101906020018083116108f457829003601f168201915b505050505081525050905093509350939050565b610965848484848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506105eb92505050565b50505050565b5f805f5a905061097b85856120ea565b92505a61098890826154e6565b9150509250929050565b5f805f5a90506109a1846125fb565b92505a6109ae90826154e6565b915050915091565b5f60025f8360038111156109cc576109cc6154f9565b60038111156109dd576109dd6154f9565b815260208101919091526040015f205460ff1692915050565b600260035403610a185760405162461bcd60e51b815260040161062b9061550d565b60026003556003610a2881612b44565b5f610a37610120840184615544565b905011610a805760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8260a0013511610ad35760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b600a5f610ae6606085016040860161529b565b6001600160a01b0316815260208101919091526040015f205460ff16610b3f5760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21031b0b63632b960911b604482015260640161062b565b5f610b8f6003610b52602086018661529b565b610b6260a087016080880161529b565b610b72606088016040890161529b565b60a088013560c0890135610b8a6101408b018b615544565b612b8d565b90505f80610ba3606086016040870161529b565b6001600160a01b031683610bbb610120880188615544565b604051610bc9929190615586565b5f6040518083038185875af1925050503d805f8114610c03576040519150601f19603f3d011682016040523d82523d5f602084013e610c08565b606091505b509150915081610c5c57610c43816040518060400160405280600f81526020016e2a3930b739b4ba21b937b9b9ab1a9d60891b815250612e03565b60405162461bcd60e51b815260040161062b9190615595565b610c82610c6c602087018761529b565b610c7c606088016040890161529b565b5f613077565b50610d079050610c95602085018561529b565b610ca5604086016020870161529b565b610cb5608087016060880161529b565b60a08701355f60e0890135610cce6101008b018b615544565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061318692505050565b5050600160035550565b610d19611e9f565b5f5b8251811015610821575f828281518110610d3757610d3761545d565b602002602001015110158015610d6857506103e8828281518110610d5d57610d5d61545d565b602002602001015111155b610da95760405162461bcd60e51b8152602060048201526012602482015271066656520726174652069733a302d313030360741b604482015260640161062b565b828181518110610dbb57610dbb61545d565b602002602001015115610ded57818181518110610dda57610dda61545d565b6020026020010151600481905550610e0e565b818181518110610dff57610dff61545d565b60200260200101516005819055505b7f5fa95345cbe35dad70f67a9ca1430c22453a695590cb4fca05d58f637e85af4f838281518110610e4157610e4161545d565b6020026020010151838381518110610e5b57610e5b61545d565b6020026020010151604051610e7c9291909115158252602082015260400190565b60405180910390a180610e8e8161549c565b915050610d1b565b610e9e611e9f565b848114610edc5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b828114610f1a5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c6964206461746160a01b604482015260640161062b565b825f5b81811015611034576040518060400160405280878784818110610f4257610f4261545d565b9050602002016020810190610f57919061529b565b6001600160a01b03168152602001858584818110610f7757610f7761545d565b9050602002810190610f899190615544565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509390945250600c92508b90508a85818110610fd557610fd561545d565b60209081029290920135835250818101929092526040015f20825181546001600160a01b0319166001600160a01b0390911617815590820151600182019061101d90826155ec565b50905050808061102c9061549c565b915050610f1d565b507f652c1af850dcc0b28fcb71cd9473023f56a89edd81bbe7b51056a04caa94002487878787878760405161106e96959493929190615757565b60405180910390a150505050505050565b33806110936001546001600160a01b031690565b6001600160a01b0316146110f95760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206e657720656044820152663c32b1baba37b960c91b606482015260840161062b565b611102816131ea565b50565b61110d611e9f565b600180546001600160a01b0383166001600160a01b0319909116811790915561113d5f546001600160a01b031690565b6001600160a01b03167fdd01547fc40682edc3cd8d164d53f5a1ae6b46138a83f045658ed760823ddba860405160405180910390a350565b61117d611e9f565b8215611275575f5b8381101561123a57600a5f8686848181106111a2576111a261545d565b90506020020160208101906111b7919061529b565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600a908787858181106111ec576111ec61545d565b9050602002016020810190611201919061529b565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055806112328161549c565b915050611185565b507fb05655746bd43b7fe3ccd9d28b7685b4c67ddc51e70890062b0f7f85dd692695848460405161126c929190615807565b60405180910390a15b8015610965575f816001600160401b0381111561129457611294614c5f565b6040519080825280602002602001820160405280156112bd578160200160208202803683370190505b5090505f5b828110156113e757600b5f8585848181106112df576112df61545d565b90506020020160208101906112f4919061529b565b6001600160a01b0316815260208101919091526040015f9081205460ff161590600b908686858181106113295761132961545d565b905060200201602081019061133e919061529b565b6001600160a01b0316815260208101919091526040015f908120805460ff191692151592909217909155600b9085858481811061137d5761137d61545d565b9050602002016020810190611392919061529b565b6001600160a01b0316815260208101919091526040015f2054825160ff909116908390839081106113c5576113c561545d565b91151560209283029190910190910152806113df8161549c565b9150506112c2565b507f4a28b173d9bc739be3886d172e07fef80392184787fc6b92406ce0f0c05b7e6383838360405161141b9392919061581a565b60405180910390a15050505050565b611432611e9f565b6001600160a01b0383161561149357600680546001600160a01b0319166001600160a01b0385169081179091556040519081527f347fade115440908839b750620f0add8f417b77a392657edd70b950373eda9c39060200160405180910390a15b6001600160a01b0382161561150157600780546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527ff9c6fa562c9d8326f8518a29a53ef18ab03cd6b9eead73ac667c5e289354c73e910160405180910390a1505b6001600160a01b0381161561082157600880546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fb3911b5760f95a64aaa8d7f1775f57a7b6ed0bcf1ebb3fbfcc045e2f04eaad11910160405180910390a150505050565b5f61157d826125fb565b92915050565b61158b611e9f565b805f5b818110156116115784156115d0576115cb8484838181106115b1576115b161545d565b90506020020160208101906115c69190615083565b613243565b6115ff565b6115ff8484838181106115e5576115e561545d565b90506020020160208101906115fa9190615083565b6132d5565b806116098161549c565b91505061158e565b5050505050565b5f61069f83836120ea565b5f805f5a905061097b8585611903565b600f60f884901c165f818152600c60209081526040808320815180830190925280546001600160a01b031682526001810180549293919291840191611677906154b4565b80601f01602080910402602001604051908101604052809291908181526020018280546116a3906154b4565b80156116ee5780601f106116c5576101008083540402835291602001916116ee565b820191905f5260205f20905b8154815290600101906020018083116116d157829003601f168201915b5050509190925250508151919250506001600160a01b03166117525760405162461bcd60e51b815260206004820152601960248201527f43616c6c6261636b2062616420706f6f6c20696e646578656400000000000000604482015260640161062b565b5f815f015185836020015160405160200161176f93929190615873565b604051602081830303815290604052805190602001205f1c9050836001600160a01b0316816001600160a01b0316146117de5760405162461bcd60e51b815260206004820152601160248201527010d85b1b189858dac8189859081c1bdbdb607a1b604482015260640161062b565b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161184191906158bb565b5f604051808303815f865af19150503d805f811461187a576040519150601f19603f3d011682016040523d82523d5f602084013e61187f565b606091505b50915091508180156118a95750805115806118a95750808060200190518101906118a991906158d6565b6116115760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657248656c7065723a205452414e534645525f544f4b454e5f46604482015264105253115160da1b606482015260840161062b565b5f6002600354036119265760405162461bcd60e51b815260040161062b9061550d565b6002600355600161193681612b44565b428310156119705760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b6001600f604086013560f81c16145f8080808061198d8a8761335a565b945094509450945094506119ef835f815181106119ac576119ac61545d565b60200260200101518b8060e001906119c491906158f1565b5f8181106119d4576119d461545d565b90506020020160208101906119e9919061529b565b866117e6565b8515611bb6578415611ad357611a4960408b013584611a1160e08e018e6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613887915050565b611acc82611a5d60408d0160208e0161529b565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a08231906024015b602060405180830381865afa158015611aa2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ac69190615471565b90613b7e565b9750611d4f565b611b3f60408b013584611ae960e08e018e6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508d5f016020810190611b3a919061529b565b613887565b611acc818460018651611b5291906154e6565b81518110611b6257611b6261545d565b60200260200101516001600160a01b03166370a082318d5f016020810190611b8a919061529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401611a87565b5f8a604001356001600160a01b031663d06ca61f86866040518363ffffffff1660e01b8152600401611be9929190615936565b5f60405180830381865afa158015611c03573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c2a919081019061598b565b90508515611c9757611c7c8185611c4460e08f018f6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250309250613bd3915050565b611c9083611a5d60408e0160208f0161529b565b9850611d4d565b611cff8185611ca960e08f018f6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f820116905080830192505050505050508e5f016020810190611cfa919061529b565b613bd3565b611d4a828560018751611d1291906154e6565b81518110611d2257611d2261545d565b60200260200101516001600160a01b03166370a082318e5f016020810190611b8a919061529b565b98505b505b8960800135881015611d735760405162461bcd60e51b815260040161062b90615a0b565b8415611da857611d92611d8c60408c0160208d0161529b565b89613dbd565b611da8611da260208c018c61529b565b89611f4d565b50505050505f85806101200190611dbf9190615544565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929350611e919250611e0791505060c08801886158f1565b5f818110611e1757611e1761545d565b9050602002016020810190611e2c919061529b565b611e3960c08901896158f1565b6001611e4860c08c018c6158f1565b611e539291506154e6565b818110611e6257611e6261545d565b9050602002016020810190611e77919061529b565b611e8460208a018a61529b565b8960600135885f87613186565b505050600160035592915050565b33611eb15f546001600160a01b031690565b6001600160a01b031614611f135760405162461bcd60e51b815260206004820152602360248201527f4f776e61626c653a2063616c6c6572206973206e6f74207468652065786563756044820152623a37b960e91b606482015260840161062b565b565b5f6001600160a01b038216158061157d57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b604080515f808252602082019092526001600160a01b038416908390604051611f7691906158bb565b5f6040518083038185875af1925050503d805f8114611fb0576040519150601f19603f3d011682016040523d82523d5f602084013e611fb5565b606091505b50509050806108215760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015260640161062b565b5f805f856001600160a01b031663a9059cbb868660405160240161203f9291906001600160a01b03929092168252602082015260400190565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161207891906158bb565b5f604051808303815f865af19150503d805f81146120b1576040519150601f19603f3d011682016040523d82523d5f602084013e6120b6565b606091505b50915091508180156120e05750805115806120e05750808060200190518101906120e091906158d6565b9695505050505050565b5f60026003540361210d5760405162461bcd60e51b815260040161062b9061550d565b60026003555f61211c81612b44565b5f61212a6020850185615544565b9050116121735760405162461bcd60e51b8152602060048201526017602482015276646174612073686f756c64206265206e6f74207a65726f60481b604482015260640161062b565b5f8460800135116121c65760405162461bcd60e51b815260206004820152601f60248201527f616d6f756e742073686f756c642062652067726561746572207468616e203000604482015260640161062b565b5f6121d7606086016040870161529b565b6001600160a01b0316036122375760405162461bcd60e51b815260206004820152602160248201527f72656365697665722073686f756c64206265206e6f74206164647265737328306044820152602960f81b606482015260840161062b565b5f8460a001351161229b5760405162461bcd60e51b815260206004820152602860248201527f6d696e52657475726e416d6f756e742073686f756c6420626520677265617465604482015267072207468616e20360c41b606482015260840161062b565b600b5f6122ae608087016060880161529b565b6001600160a01b0316815260208101919091526040015f205460ff166123165760405162461bcd60e51b815260206004820152601760248201527f696e76616c696420777261707065642061646472657373000000000000000000604482015260640161062b565b6006545f906001600160a01b03168161235f8161233660208a018a61529b565b61234660808b0160608c0161529b565b8560808c013560c08d0135610b8a6101008f018f615544565b90506123796123746040890160208a0161529b565b611f15565b1561239f5761238e606088016040890161529b565b6001600160a01b0316319250612436565b6123af604088016020890161529b565b6001600160a01b03166370a082316123cd60608a0160408b0161529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561240f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124339190615471565b92505b5f80836001600160a01b031683633f3204d28a6040516024016124599190615a38565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161249291906158bb565b5f6040518083038185875af1925050503d805f81146124cc576040519150601f19603f3d011682016040523d82523d5f602084013e6124d1565b606091505b50915091508161250957610c43816040518060400160405280600c81526020016b2a3930b739b4ba29bbb0b81d60a11b815250612e03565b5061251f90506123746040890160208a0161529b565b1561254f576125488361253860608a0160408b0161529b565b6001600160a01b03163190613b7e565b9450612584565b6125818361256360408a0160208b0161529b565b6001600160a01b03166370a08231611b8a60608c0160408d0161529b565b94505b8660a001358510156125a85760405162461bcd60e51b815260040161062b90615a0b565b6125ec6125b8602089018961529b565b6125c860408a0160208b0161529b565b6125d860608b0160408c0161529b565b60808b0135895f610cce60e08f018f615544565b50505050600160035592915050565b5f60026003540361261e5760405162461bcd60e51b815260040161062b9061550d565b6002600355600261262e81612b44565b5f61263d6101008501856158f1565b90501161267a5760405162461bcd60e51b815260206004820152600b60248201526a456d70747920706f6f6c7360a81b604482015260640161062b565b428360e0013510156126b85760405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b604482015260640161062b565b600b5f6126cb608086016060870161529b565b6001600160a01b0316815260208101919091526040015f205460ff166127035760405162461bcd60e51b815260040161062b90615a83565b5f612711602085018561529b565b90505f612724604086016020870161529b565b90505f80612738612374602089018961529b565b156127505761274d608088016060890161529b565b93505b5f61278f600261276360208b018b61529b565b61277360808c0160608d0161529b565b5f8c608001358d60c001358e806101200190610b8a9190615544565b90506127a461237460408a0160208b0161529b565b1561283e576127b96080890160608a0161529b565b93506127cb6080890160608a0161529b565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561280f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128339190615471565b9250600191506128d5565b61284e6040890160208a0161529b565b6001600160a01b03166370a0823161286c60608b0160408c0161529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156128ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128d29190615471565b92505b5f6128e46101008a018a6158f1565b91503090506060600183111561299c57875f805b85811015612991575f8e80610100019061291291906158f1565b838181106129225761292261545d565b905060200201359050612936848483613ed0565b955093506129456001886154e6565b82148015612951575088155b1561296f578e6040016020810190612969919061529b565b95508a92505b61297b8682878b6141bb565b97505080806129899061549c565b9150506128f8565b50859b505050612a1a565b6129cb88886129af6101008f018f6158f1565b5f8181106129bf576129bf61545d565b90506020020135613ed0565b91508590506129e7576129e460608c0160408d0161529b565b91505b612a17826129f96101008e018e6158f1565b5f818110612a0957612a0961545d565b9050602002013583876141bb565b99505b5050508115612a9457612a3783611a5d60808b0160608c0161529b565b96508760a00135871015612a5d5760405162461bcd60e51b815260040161062b90615a0b565b612a76612a7060808a0160608b0161529b565b88613dbd565b612a8f612a8960608a0160408b0161529b565b88611f4d565b612aec565b612ac683612aa860408b0160208c0161529b565b6001600160a01b03166370a08231611b8a60608d0160408e0161529b565b96508760a00135871015612aec5760405162461bcd60e51b815260040161062b90615a0b565b612b34612afc60208a018a61529b565b612b0c60408b0160208c0161529b565b612b1c60608c0160408d0161529b565b8b608001358b5f8e806101400190610cce9190615544565b5050505050506001600355919050565b612b4d816109b6565b156111025760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161062b565b5f805f612b998661436a565b90925090505f60038c6003811115612bb357612bb36154f9565b14612bbf576001612bc1565b5f5b90505f612bd1828a858a8a6143c6565b9050612bdc8c611f15565b15612d565760038d6003811115612bf557612bf56154f9565b03612c4f5788341015612c3e5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b612c483484613b7e565b9450612c96565b883414612c925760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672e76616c756560781b604482015260640161062b565b8094505b6001600160a01b038b1615612d35576001600160a01b038b165f908152600b602052604090205460ff16612cdc5760405162461bcd60e51b815260040161062b90615a83565b60038d6003811115612cf057612cf06154f9565b03612d1257612cff8b8661447b565b612d0a8b8b87613077565b5f9450612d35565b60028d6003811115612d2657612d266154f9565b03612d3557612d358b8261447b565b8315612d5157600854612d51906001600160a01b031684611f4d565b612df3565b612d628c33308c614575565b60038d6003811115612d7657612d766154f9565b03612d8e57612d868c8b83613077565b349450612dd3565b5f8d6003811115612da157612da16154f9565b03612db657612db18c8b836117e6565b612dd3565b60028d6003811115612dca57612dca6154f9565b03612dd3578094505b8315612df357600854612df1908d906001600160a01b031685612006565b505b5050505098975050505050505050565b60606044835110158015612e3b5750825f81518110612e2457612e2461545d565b6020910101516001600160f81b031916600160fb1b145b8015612e6c575082600181518110612e5557612e5561545d565b6020910101516001600160f81b03191660c360f81b145b8015612e9d575082600281518110612e8657612e8661545d565b6020910101516001600160f81b031916607960f81b145b8015612ece575082600381518110612eb757612eb761545d565b6020910101516001600160f81b031916600560fd1b145b15612f5857604483810180519091612ee69190615aba565b84511015612f2e5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b604482015260640161062b565b8281604051602001612f41929190615acd565b60405160208183030381529060405291505061157d565b82516024148015612f8d5750825f81518110612f7657612f7661545d565b6020910101516001600160f81b031916602760f91b145b8015612fbe575082600181518110612fa757612fa761545d565b6020910101516001600160f81b031916600960fb1b145b8015612fef575082600281518110612fd857612fd861545d565b6020910101516001600160f81b031916607b60f81b145b80156130205750826003815181106130095761300961545d565b6020910101516001600160f81b031916607160f81b145b156130455760248301518261303482614698565b604051602001612f41929190615b1b565b8161304f846146c0565b604051602001613060929190615b4f565b604051602081830303815290604052905092915050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f928392908716916130d291906158bb565b5f604051808303815f865af19150503d805f811461310b576040519150601f19603f3d011682016040523d82523d5f602084013e613110565b606091505b509150915081801561313a57508051158061313a57508080602001905181019061313a91906158d6565b6116115760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a20415050524f56455f4641494c45440000604482015260640161062b565b846001600160a01b0316866001600160a01b0316886001600160a01b03167f2251435bd151cd72851a82be055bf6d1c3d7f34d08d56493dddf874229b8e897878787876040516131d99493929190615b9f565b60405180910390a450505050505050565b600180546001600160a01b03199081169091555f80546001600160a01b03848116938216841783556040519116929183917f88436636ea40d5bb1bcc55ff9cd54788af71da886f4147a87f199adcca733d4d9190a35050565b8061324d81612b44565b600160025f846003811115613264576132646154f9565b6003811115613275576132756154f9565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f534f879afd40abb4e39f8e1b77a316be4c8e3521d9cf5a3a3db8959d574d455933836040516132c9929190615bc3565b60405180910390a15050565b806132df816148a0565b5f60025f8460038111156132f5576132f56154f9565b6003811115613306576133066154f9565b81526020019081526020015f205f6101000a81548160ff0219169083151502179055507f4cd3e1443d03aba343c5d882744f8f172c07b495e955ac3defb325cbd73c855033836040516132c9929190615bc3565b5f806060818061336d60e08801886158f1565b61337991506001615aba565b61338660c08901896158f1565b9050146133c45760405162461bcd60e51b815260206004820152600c60248201526b092dcecc2d8d2c840e0c2e8d60a31b604482015260640161062b565b600b5f6133d760408a0160208b0161529b565b6001600160a01b0316815260208101919091526040015f205460ff1661340f5760405162461bcd60e51b815260040161062b90615a83565b5f8061341e8960a0013561436a565b9092509050613441600160608b01358361343c6101008e018e615544565b6143c6565b95505f61345160c08b018b6158f1565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093945084925060019150613496905060c08e018e6158f1565b6134a19291506154e6565b815181106134b1576134b161545d565b602002602001015190506134f38b8060c001906134ce91906158f1565b5f8181106134de576134de61545d565b9050602002016020810190612374919061529b565b156135b3578a60600135341461353f5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206d73672e76616c756560781b604482015260640161062b565b831561355b5760085461355b906001600160a01b031684611f4d565b61356b60408c0160208d0161529b565b825f8151811061357d5761357d61545d565b6001600160a01b039092166020928302919091018201526135ae906135a89060408e01908e0161529b565b8961447b565b613714565b89156136c557815f815181106135cb576135cb61545d565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613619573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061363d9190615471565b9750613668825f815181106136545761365461545d565b602002602001015133308e60600135614575565b6136be8b60a00135611ac68a855f815181106136865761368661545d565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401611a87565b97506136da565b6136da825f815181106136545761365461545d565b831561371457613712825f815181106136f5576136f561545d565b60209081029190910101516008546001600160a01b031685612006565b505b61371d81611f15565b156137eb5761373260408c0160208d0161529b565b826001845161374191906154e6565b815181106137515761375161545d565b6001600160a01b039092166020928302919091018201526001995061377c9060408d01908d0161529b565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156137c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e49190615471565b9550613876565b8915613876576001600160a01b0381166370a0823161380d60208e018e61529b565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561384f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138739190615471565b94505b819650505050509295509295909350565b5f5b6001845161389791906154e6565b811015611611575f808583815181106138b2576138b261545d565b6020026020010151868460016138c89190615aba565b815181106138d8576138d861545d565b6020026020010151915091505f816001600160a01b0316836001600160a01b031610613905578183613908565b82825b5090505f86858151811061391e5761391e61545d565b602002602001015190505f805f80846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061398c9190615c12565b506001600160701b031691506001600160701b031691505f80876001600160a01b03168a6001600160a01b0316146139c55782846139c8565b83835b6040516370a0823160e01b81526001600160a01b038a81166004830152929450909250613a03918491908d16906370a0823190602401611a87565b95508e6001600160a01b031663054d50d48784846040518463ffffffff1660e01b8152600401613a46939291909283526020830191909152604082015260600190565b602060405180830381865afa158015613a61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a859190615471565b9450505050505f80856001600160a01b0316886001600160a01b031614613aad57825f613ab0565b5f835b915091505f60028d51613ac391906154e6565b8a10613acf578a613af4565b8b613adb8b6001615aba565b81518110613aeb57613aeb61545d565b60200260200101515b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0387169063022c0d9f90613b359086908690869060248101615c53565b5f604051808303815f87803b158015613b4c575f80fd5b505af1158015613b5e573d5f803e3d5ffd5b505050505050505050505050508080613b769061549c565b915050613889565b5f82613b8a83826154e6565b915081111561157d5760405162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015260640161062b565b5f5b60018451613be391906154e6565b811015611611575f80858381518110613bfe57613bfe61545d565b602002602001015186846001613c149190615aba565b81518110613c2457613c2461545d565b6020026020010151915091505f816001600160a01b0316836001600160a01b031610613c51578183613c54565b82825b5090505f88613c64866001615aba565b81518110613c7457613c7461545d565b602002602001015190505f80836001600160a01b0316866001600160a01b031614613ca057825f613ca3565b5f835b915091505f60028b51613cb691906154e6565b8810613cc25788613ce7565b89613cce896001615aba565b81518110613cde57613cde61545d565b60200260200101515b9050898881518110613cfb57613cfb61545d565b60200260200101516001600160a01b031663022c0d9f8484845f6001600160401b03811115613d2c57613d2c614c5f565b6040519080825280601f01601f191660200182016040528015613d56576020820181803683370190505b506040518563ffffffff1660e01b8152600401613d769493929190615c53565b5f604051808303815f87803b158015613d8d575f80fd5b505af1158015613d9f573d5f803e3d5ffd5b50505050505050505050508080613db59061549c565b915050613bd5565b5f80836001600160a01b03165f632e1a7d4d85604051602401613de291815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051613e1b91906158bb565b5f6040518083038185875af1925050503d805f8114613e55576040519150601f19603f3d011682016040523d82523d5f602084013e613e5a565b606091505b5091509150818015613e84575080511580613e84575080806020019051810190613e8491906158d6565b6109655760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a2057495448445241575f4641494c454400604482015260640161062b565b5f60605f8390505f816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f389190615c7f565b90505f826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f77573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f9b9190615c7f565b90505f836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ffe9190615c9a565b604080516001600160a01b03808716602083015285169181019190915262ffffff821660608201529091505f9060800160408051601f1981840301815291905280516020909101209050600160ff1b88161580156140fe57846001600160a01b03168b6001600160a01b0316146140875760405162461bcd60e51b815260040161062b90615cbc565b6001600160a01b038a16156140c757836001600160a01b03168a6001600160a01b0316146140c75760405162461bcd60e51b815260040161062b90615cbc565b604080516001600160a01b0387166020820152908101839052939750879360600160405160208183030381529060405296506141a2565b836001600160a01b03168b6001600160a01b03161461412f5760405162461bcd60e51b815260040161062b90615cbc565b6001600160a01b038a161561416f57846001600160a01b03168a6001600160a01b03161461416f5760405162461bcd60e51b815260040161062b90615cbc565b604080516001600160a01b0386166020820152908101839052949750879460600160405160208183030381529060405296505b6141ad89838b611633565b505050505050935093915050565b5f600160ff1b8416158015614293575f856001600160a01b031663128acb0888846141e5886148ec565b6141f56401000276a36001615cde565b8b8b604051602001614208929190615d05565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401614237959493929190615d1d565b60408051808303815f875af1158015614252573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142769190615d57565b91505061428b8161428690615d79565b614959565b925050614361565b5f856001600160a01b031663128acb0888846142ae886148ec565b6142cd600173fffd8963efd1fc6a506488495d951d5263988d26615d93565b8b8b6040516020016142e0929190615d05565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161430f959493929190615d1d565b60408051808303815f875af115801561432a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061434e9190615d57565b50905061435d61428682615d79565b9250505b50949350505050565b5f8080614378600a85615dc7565b905061438f600a6143898684613b7e565b906149aa565b91508060011480156143a057505f82115b80156143b657506008546001600160a01b031615155b156143c057600192505b50915091565b5f8086156143f0576143e9612710614389600454896149f790919063ffffffff16565b905061440e565b61440b612710614389600554896149f790919063ffffffff16565b90505b808510156144665761442286868686614a5d565b6144665760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964207369676e61747572652066656560581b604482015260640161062b565b6144708686613b7e565b979650505050505050565b60408051600481526024810182526020810180516001600160e01b0316630d0e30db60e41b17905290515f9182916001600160a01b0386169185916144c091906158bb565b5f6040518083038185875af1925050503d805f81146144fa576040519150601f19603f3d011682016040523d82523d5f602084013e6144ff565b606091505b509150915081801561452957508051158061452957508080602001905181019061452991906158d6565b6109655760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657248656c7065723a204445504f5349545f4641494c45440000604482015260640161062b565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f928392908816916145d891906158bb565b5f604051808303815f865af19150503d805f8114614611576040519150601f19603f3d011682016040523d82523d5f602084013e614616565b606091505b509150915081801561464057508051158061464057508080602001905181019061464091906158d6565b6117de5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b606482015260840161062b565b606061157d826040516020016146b091815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b905f906146e7906002615dda565b6146f2906002615aba565b6001600160401b0381111561470957614709614c5f565b6040519080825280601f01601f191660200182016040528015614733576020820181803683370190505b509050600360fc1b815f8151811061474d5761474d61545d565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061477b5761477b61545d565b60200101906001600160f81b03191690815f1a9053505f5b8451811015614898578260048683815181106147b1576147b161545d565b01602001516001600160f81b031916901c60f81c601081106147d5576147d561545d565b1a60f81b826147e5836002615dda565b6147f0906002615aba565b815181106148005761480061545d565b60200101906001600160f81b03191690815f1a905350828582815181106148295761482961545d565b60209101015160f81c600f16601081106148455761484561545d565b1a60f81b82614855836002615dda565b614860906003615aba565b815181106148705761487061545d565b60200101906001600160f81b03191690815f1a905350806148908161549c565b915050614793565b509392505050565b6148a9816109b6565b6111025760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161062b565b5f6001600160ff1b038211156149555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161062b565b5090565b5f808212156149555760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161062b565b5f815f036149ed5760405162461bcd60e51b815260206004820152601060248201526f64732d6d6174682d6469762d7a65726f60801b604482015260640161062b565b61069f8284615df1565b5f811580614a1a57508282614a0c8183615dda565b9250614a189083615df1565b145b61157d5760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015260640161062b565b600954604080517f048f880a603b1aab0e626a287e33d603417b3d53a36f7527b7c86365bf7def4f6020820152339181019190915260608101869052608081018590525f91829160a00160405160208183030381529060405280519060200120604051602001614ae492919061190160f01b81526002810192909252602282015260420190565b6040516020818303038152906040528051906020012090505f805f614b3d87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250614bc992505050565b9250925092505f6001858585856040515f8152602001604052604051614b7f949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015614b9f573d5f803e3d5ffd5b5050604051601f1901516007546001600160a01b039081169116149b9a5050505050505050505050565b5f805f8351604114614c1d5760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161062b565b505050602081015160408201516060909201515f1a92909190565b5f8085851115614c46575f80fd5b83861115614c52575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614c9b57614c9b614c5f565b604052919050565b5f6001600160401b03821115614cbb57614cbb614c5f565b50601f01601f191660200190565b5f805f60608486031215614cdb575f80fd5b833592506020840135915060408401356001600160401b03811115614cfe575f80fd5b8401601f81018613614d0e575f80fd5b8035614d21614d1c82614ca3565b614c73565b818152876020838501011115614d35575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f8060408385031215614d65575f80fd5b82356001600160401b03811115614d7a575f80fd5b83016101408186031215614d8c575f80fd5b946020939093013593505050565b5f6001600160401b03821115614db257614db2614c5f565b5060051b60200190565b6001600160a01b0381168114611102575f80fd5b8035614ddb81614dbc565b919050565b5f8060408385031215614df1575f80fd5b82356001600160401b03811115614e06575f80fd5b8301601f81018513614e16575f80fd5b80356020614e26614d1c83614d9a565b82815260059290921b83018101918181019088841115614e44575f80fd5b938201935b83851015614e6b578435614e5c81614dbc565b82529382019390820190614e49565b9550614e7a9050868201614dd0565b93505050509250929050565b5f805f60608486031215614e98575f80fd5b8335614ea381614dbc565b92506020840135614eb381614dbc565b929592945050506040919091013590565b5f5b83811015614ede578181015183820152602001614ec6565b50505f910152565b5f8151808452614efd816020860160208601614ec4565b601f01601f19169290920160200192915050565b831515815282151560208201526060604082015260018060a01b0382511660608201525f6020830151604060808401526120e060a0840182614ee6565b5f805f8060608587031215614f61575f80fd5b843593506020850135925060408501356001600160401b0380821115614f85575f80fd5b818701915087601f830112614f98575f80fd5b813581811115614fa6575f80fd5b886020828501011115614fb7575f80fd5b95989497505060200194505050565b5f8060408385031215614fd7575f80fd5b82356001600160401b0380821115614fed575f80fd5b908401906101208287031215615001575f80fd5b90925060208401359080821115615016575f80fd5b50830160408186031215615028575f80fd5b809150509250929050565b5f6101608284031215615044575f80fd5b50919050565b5f6020828403121561505a575f80fd5b81356001600160401b0381111561506f575f80fd5b61507b84828501615033565b949350505050565b5f60208284031215615093575f80fd5b81356004811061069f575f80fd5b8015158114611102575f80fd5b5f82601f8301126150bd575f80fd5b813560206150cd614d1c83614d9a565b82815260059290921b840181019181810190868411156150eb575f80fd5b8286015b8481101561510657803583529183019183016150ef565b509695505050505050565b5f8060408385031215615122575f80fd5b82356001600160401b0380821115615138575f80fd5b818501915085601f83011261514b575f80fd5b8135602061515b614d1c83614d9a565b82815260059290921b84018101918181019089841115615179575f80fd5b948201945b838610156151a0578535615191816150a1565b8252948201949082019061517e565b965050860135925050808211156151b5575f80fd5b50610988858286016150ae565b5f8083601f8401126151d2575f80fd5b5081356001600160401b038111156151e8575f80fd5b6020830191508360208260051b8501011115615202575f80fd5b9250929050565b5f805f805f806060878903121561521e575f80fd5b86356001600160401b0380821115615234575f80fd5b6152408a838b016151c2565b90985096506020890135915080821115615258575f80fd5b6152648a838b016151c2565b9096509450604089013591508082111561527c575f80fd5b5061528989828a016151c2565b979a9699509497509295939492505050565b5f602082840312156152ab575f80fd5b813561069f81614dbc565b5f805f80604085870312156152c9575f80fd5b84356001600160401b03808211156152df575f80fd5b6152eb888389016151c2565b90965094506020870135915080821115615303575f80fd5b50615310878288016151c2565b95989497509550505050565b5f805f6060848603121561532e575f80fd5b833561533981614dbc565b9250602084013561534981614dbc565b9150604084013561535981614dbc565b809150509250925092565b5f805f60408486031215615376575f80fd5b8335615381816150a1565b925060208401356001600160401b0381111561539b575f80fd5b6153a7868287016151c2565b9497909650939450505050565b5f80604083850312156153c5575f80fd5b8251915060208301516001600160401b038111156153e1575f80fd5b8301601f810185136153f1575f80fd5b80516153ff614d1c82614ca3565b818152866020838501011115615413575f80fd5b615424826020830160208601614ec4565b8093505050509250929050565b5f8060408385031215615442575f80fd5b825161544d81614dbc565b6020939093015192949293505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215615481575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016154ad576154ad615488565b5060010190565b600181811c908216806154c857607f821691505b60208210810361504457634e487b7160e01b5f52602260045260245ffd5b8181038181111561157d5761157d615488565b634e487b7160e01b5f52602160045260245ffd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b5f808335601e19843603018112615559575f80fd5b8301803591506001600160401b03821115615572575f80fd5b602001915036819003821315615202575f80fd5b818382375f9101908152919050565b602081525f61069f6020830184614ee6565b601f821115610821575f81815260208120601f850160051c810160208610156155cd5750805b601f850160051c820191505b818110156117de578281556001016155d9565b81516001600160401b0381111561560557615605614c5f565b6156198161561384546154b4565b846155a7565b602080601f83116001811461564c575f84156156355750858301515b5f19600386901b1c1916600185901b1785556117de565b5f85815260208120601f198616915b8281101561567a5788860151825594840194600190910190840161565b565b508582101561569757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8183525f60208085019450825f5b858110156156e35781356156c881614dbc565b6001600160a01b0316875295820195908201906001016156b5565b509495945050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f808335601e1984360301811261572b575f80fd5b83016020810192503590506001600160401b03811115615749575f80fd5b803603821315615202575f80fd5b606080825281018690525f6001600160fb1b03871115615775575f80fd5b8660051b80896080850137808301905060206080848303018185015261579f60808301888a6156a7565b84810360408601528581529150808201600586901b83018201875f5b888110156157f557858303601f190184526157d6828b615716565b6157e18582846156ee565b9587019594505050908401906001016157bb565b50909c9b505050505050505050505050565b602081525f61507b6020830184866156a7565b604081525f61582d6040830185876156a7565b8281036020848101919091528451808352858201928201905f5b81811015615865578451151583529383019391830191600101615847565b509098975050505050505050565b60ff60f81b81526bffffffffffffffffffffffff198460601b1660018201528260158201525f82516158ac816035850160208701614ec4565b91909101603501949350505050565b5f82516158cc818460208701614ec4565b9190910192915050565b5f602082840312156158e6575f80fd5b815161069f816150a1565b5f808335601e19843603018112615906575f80fd5b8301803591506001600160401b0382111561591f575f80fd5b6020019150600581901b3603821315615202575f80fd5b5f60408201848352602060408185015281855180845260608601915082870193505f5b8181101561597e5784516001600160a01b031683529383019391830191600101615959565b5090979650505050505050565b5f602080838503121561599c575f80fd5b82516001600160401b038111156159b1575f80fd5b8301601f810185136159c1575f80fd5b80516159cf614d1c82614d9a565b81815260059190911b820183019083810190878311156159ed575f80fd5b928401925b82841015614470578351825292840192908401906159f2565b602080825260139082015272151bdbc81b1a5d1d1b19481c9958d95a5d9959606a1b604082015260600190565b602081525f8235615a4881614dbc565b6001600160a01b0316602083810191909152615a6690840184615716565b604080850152615a7a6060850182846156ee565b95945050505050565b60208082526017908201527f496e76616c696420777261707065642061646472657373000000000000000000604082015260600190565b8082018082111561157d5761157d615488565b5f8351615ade818460208801614ec4565b6508ae4e4dee4560d31b9083019081528351615b01816006840160208801614ec4565b602960f81b60069290910191820152600701949350505050565b5f8351615b2c818460208801614ec4565b650a0c2dcd2c6560d31b9083019081528351615b01816006840160208801614ec4565b5f8351615b60818460208801614ec4565b670aadcd6dcdeeedc560c31b9083019081528351615b85816008840160208801614ec4565b602960f81b60089290910191820152600901949350505050565b848152836020820152826040820152608060608201525f6120e06080830184614ee6565b6001600160a01b03831681526040810160048310615bef57634e487b7160e01b5f52602160045260245ffd5b8260208301529392505050565b80516001600160701b0381168114614ddb575f80fd5b5f805f60608486031215615c24575f80fd5b615c2d84615bfc565b9250615c3b60208501615bfc565b9150604084015163ffffffff81168114615359575f80fd5b84815283602082015260018060a01b0383166040820152608060608201525f6120e06080830184614ee6565b5f60208284031215615c8f575f80fd5b815161069f81614dbc565b5f60208284031215615caa575f80fd5b815162ffffff8116811461069f575f80fd5b602080825260089082015267109859081c1bdbdb60c21b604082015260600190565b6001600160a01b03818116838216019080821115615cfe57615cfe615488565b5092915050565b828152604060208201525f61507b6040830184614ee6565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f9061447090830184614ee6565b5f8060408385031215615d68575f80fd5b505080516020909101519092909150565b5f600160ff1b8201615d8d57615d8d615488565b505f0390565b6001600160a01b03828116828216039080821115615cfe57615cfe615488565b634e487b7160e01b5f52601260045260245ffd5b5f82615dd557615dd5615db3565b500690565b808202811582820484141761157d5761157d615488565b5f82615dff57615dff615db3565b50049056fea26469706673582212204f637f4c295074f72cbc3c36d09625f5fdf3a44c7aff79ff9b262a8ea106cf0864736f6c63430008140033

Deployed Bytecode Sourcemap

183:740:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3724:30:1;;;3732:10;188:51:15;;3744:9:1;270:2:15;255:18;;248:34;3724:30:1;;161:18:15;3724:30:1;;;;;;;183:740:3;;;;;;;;;;;-1:-1:-1;429:19:5;;;504:12;:8;513:1;504:8;429:19;504:12;:::i;:::-;493:47;;;;;;;:::i;:::-;428:112;;;;;;550:51;567:12;581;595:5;550:16;:51::i;:::-;418:190;7454:175:1;;;;;;;;;;-1:-1:-1;7572:17:1;;7611:11;;7454:175;;;-1:-1:-1;;;;;7572:17:1;;;2254:34:15;;7611:11:1;;;;2319:2:15;2304:18;;2297:43;2189:18;7454:175:1;;;;;;;;2616:204:4;;;;;;:::i;:::-;;:::i;:::-;;;2971:25:15;;;2959:2;2944:18;2616:204:4;2825:177:15;286:635:3;;;;;;;;;;-1:-1:-1;286:635:3;;;;;:::i;:::-;;:::i;7773:378:1:-;;;;;;;;;;-1:-1:-1;7773:378:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;614:202:5:-;;;;;;;;;;-1:-1:-1;614:202:5;;;;;:::i;:::-;;:::i;188:335:0:-;;;;;;:::i;:::-;;:::i;:::-;;;;7715:25:15;;;7771:2;7756:18;;7749:34;;;;7688:18;188:335:0;7541:248:15;2049:31:1;;;;;;;;;;;;;;;;2803:370:10;;;;;;;;;;-1:-1:-1;2961:7:10;:38;;;;3025:35;;3086;;3147:18;2857:21;3139:27;;;2961:38;;;;;3025:35;;;;3086;;;;3139:27;2803:370;;;8208:14:15;;8201:22;8183:41;;8267:14;;8260:22;8255:2;8240:18;;8233:50;8326:14;;8319:22;8299:18;;;8292:50;;;;8385:14;8378:22;8373:2;8358:18;;8351:50;8170:3;8155:19;2803:370:10;7976:431:15;1763:284:5;;;;;;:::i;:::-;;:::i;1731:107:10:-;;;;;;;;;;-1:-1:-1;1731:107:10;;;;;:::i;:::-;;:::i;:::-;;;9421:14:15;;9414:22;9396:41;;9384:2;9369:18;1731:107:10;9256:187:15;178:907:2;;;;;;:::i;:::-;;:::i;7635:132:1:-;;;;;;;;;;-1:-1:-1;7725:14:1;;7741:10;;7753:6;;7635:132;;;10034:25:15;;;10090:2;10075:18;;10068:34;;;;-1:-1:-1;;;;;7753:6:1;10118:18:15;;;10111:60;10022:2;10007:18;7635:132:1;9832:345:15;2365:107:1;;;;;;;;;;;;2409:63;2365:107;;4674:460;;;;;;;;;;-1:-1:-1;4674:460:1;;;;;:::i;:::-;;:::i;6578:559::-;;;;;;;;;;-1:-1:-1;6578:559:1;;;;;:::i;:::-;;:::i;2585:211:9:-;;;;;;;;;;;;;:::i;2133:193::-;;;;;;;;;;-1:-1:-1;2133:193:9;;;;;:::i;:::-;;:::i;5734:838:1:-;;;;;;;;;;-1:-1:-1;5734:838:1;;;;;:::i;:::-;;:::i;5140:588::-;;;;;;;;;;-1:-1:-1;5140:588:1;;;;;:::i;:::-;;:::i;2053:168:5:-;;;;;;:::i;:::-;;:::i;7143:305:1:-;;;;;;;;;;-1:-1:-1;7143:305:1;;;;;:::i;:::-;;:::i;1487:91:9:-;;;;;;;;;;-1:-1:-1;1536:7:9;1562:9;-1:-1:-1;;;;;1562:9:9;1487:91;;;-1:-1:-1;;;;;15978:32:15;;;15960:51;;15948:2;15933:18;1487:91:9;15814:203:15;1657:105:9;;;;;;;;;;-1:-1:-1;1739:16:9;;-1:-1:-1;;;;;1739:16:9;1657:105;;529:220:0;;;;;;:::i;:::-;;:::i;2291:319:4:-;;;;;;:::i;:::-;;:::i;1030:727:5:-;1190:1;1175:12;:16;:36;;;;1210:1;1195:12;:16;1175:36;1167:57;;;;-1:-1:-1;;;1167:57:5;;16224:2:15;1167:57:5;;;16206:21:15;16263:1;16243:18;;;16236:29;-1:-1:-1;;;16281:18:15;;;16274:38;16329:18;;1167:57:5;;;;;;;;;1298:12;1312:31;1358:5;1347:35;;;;;;;;;;;;:::i;:::-;1297:85;;;;1393:15;1410:16;1441:18;1430:50;;;;;;;;;;;;:::i;:::-;1392:88;;;;1490:43;1506:4;1512:8;1522:10;1490:15;:43::i;:::-;1574:12;1544:19;1601:16;;1597:82;;;-1:-1:-1;1655:12:5;1597:82;1689:61;1717:7;1726:10;1738:11;1689:27;:61::i;:::-;1157:600;;;;;1030:727;;;:::o;2616:204:4:-;2730:20;2777:36;2792:10;2804:8;2777:14;:36::i;:::-;2762:51;2616:204;-1:-1:-1;;;2616:204:4:o;286:635:3:-;1374:16:9;:14;:16::i;:::-;391:10:3::1;386:529;411:6;:13;403:5;:21;386:529;;;449:11;478:35;499:6;506:5;499:13;;;;;;;;:::i;:::-;;;;;;;478:20;:35::i;:::-;474:358;;;-1:-1:-1::0;542:21:3::1;581:49;612:9:::0;542:21;581:30:::1;:49::i;:::-;474:358;;;685:6;692:5;685:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;678:46:::1;::::0;-1:-1:-1;;;678:46:3;;718:4:::1;678:46;::::0;::::1;15960:51:15::0;-1:-1:-1;;;;;678:31:3;;::::1;::::0;::::1;::::0;15933:18:15;;678:46:3::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;669:55;;742:75;784:6;791:5;784:13;;;;;;;;:::i;:::-;;;;;;;799:9;810:6;742:41;:75::i;:::-;;474:358;886:9;-1:-1:-1::0;;;;;850:54:3::1;874:10;-1:-1:-1::0;;;;;850:54:3::1;859:6;866:5;859:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;850:54:3::1;;897:6;850:54;;;;2971:25:15::0;;2959:2;2944:18;;2825:177;850:54:3::1;;;;;;;;-1:-1:-1::0;426:7:3;::::1;::::0;::::1;:::i;:::-;;;;386:529;;;;286:635:::0;;:::o;7773:378:1:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;7997:34:1;;;;;:21;:34;;;;;;8060:30;;;;;:16;:30;;;;;;8107:37;;;:26;:37;;;;;;8100:44;;;;;;;;;;;;;;;7997:34;8100:44;;;;7997:34;;;;;8060:30;;;;;-1:-1:-1;8100:44:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7773:378;;;;;;;:::o;614:202:5:-;758:51;775:12;789;803:5;;758:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;758:16:5;;-1:-1:-1;;;758:51:5:i;:::-;614:202;;;;:::o;188:335:0:-;326:20;348:15;375:21;399:9;375:33;;433:38;451:4;457:13;433:17;:38::i;:::-;418:53;;507:9;491:25;;:13;:25;:::i;:::-;481:35;;365:158;188:335;;;;;:::o;1763:284:5:-;1865:20;1887:15;1914:21;1938:9;1914:33;;1972:22;1987:6;1972:14;:22::i;:::-;1957:37;;2030:9;2014:25;;:13;:25;:::i;:::-;2004:35;;1904:143;1763:284;;;:::o;1731:107:10:-;1795:4;1818:7;:13;1826:4;1818:13;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1818:13:10;;;;;1731:107;-1:-1:-1;;1731:107:10:o;178:907:2:-;1744:1:11;2254:7;;:19;2246:63;;;;-1:-1:-1;;;2246:63:11;;;;;;;:::i;:::-;2363:8;2349:12;2342:30;269:18:2::1;1330:23:10;1348:4;1330:17;:23::i;:::-;327:1:2::2;307:10;;::::0;::::2;:4:::0;:10:::2;:::i;:::-;:17;;:21;299:57;;;::::0;-1:-1:-1;;;299:57:2;;19727:2:15;299:57:2::2;::::0;::::2;19709:21:15::0;19766:2;19746:18;;;19739:30;-1:-1:-1;;;19785:18:15;;;19778:53;19848:18;;299:57:2::2;19525:347:15::0;299:57:2::2;388:1;374:4;:11;;;:15;366:59;;;::::0;-1:-1:-1;;;366:59:2;;20079:2:15;366:59:2::2;::::0;::::2;20061:21:15::0;20118:2;20098:18;;;20091:30;20157:33;20137:18;;;20130:61;20208:18;;366:59:2::2;19877:355:15::0;366:59:2::2;443:21;:34;465:11;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;443:34:2::2;::::0;;::::2;::::0;::::2;::::0;;;;;;-1:-1:-1;443:34:2;;::::2;;435:61;;;::::0;-1:-1:-1;;;435:61:2;;20439:2:15;435:61:2::2;::::0;::::2;20421:21:15::0;20478:2;20458:18;;;20451:30;-1:-1:-1;;;20497:18:15;;;20490:44;20551:18;;435:61:2::2;20237:338:15::0;435:61:2::2;515:18;536:118;549:18;569:13;;::::0;::::2;:4:::0;:13:::2;:::i;:::-;584:17;::::0;;;::::2;::::0;::::2;;:::i;:::-;603:11;::::0;;;::::2;::::0;::::2;;:::i;:::-;616;::::0;::::2;;629:8;::::0;::::2;;639:14;;::::0;::::2;616:4:::0;639:14:::2;:::i;:::-;536:12;:118::i;:::-;515:139:::0;-1:-1:-1;680:12:2::2;::::0;717:11:::2;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;717:16:2::2;740:10:::0;752::::2;;::::0;::::2;:4:::0;:10:::2;:::i;:::-;717:46;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;679:84;;;;782:7;777:106;;816:51;841:6;816:51;;;;;;;;;;;;;-1:-1:-1::0;;;816:51:2::2;;::::0;:24:::2;:51::i;:::-;809:59;;-1:-1:-1::0;;;809:59:2::2;;;;;;;;:::i;777:106::-;896:57;923:13;;::::0;::::2;:4:::0;:13:::2;:::i;:::-;938:11;::::0;;;::::2;::::0;::::2;;:::i;:::-;951:1;896:26;:57::i;:::-;-1:-1:-1::0;974:104:2::2;::::0;-1:-1:-1;987:13:2::2;;::::0;::::2;:4:::0;:13:::2;:::i;:::-;1002;::::0;;;::::2;::::0;::::2;;:::i;:::-;1017:16;::::0;;;::::2;::::0;::::2;;:::i;:::-;1035:11;::::0;::::2;;1048:1;1051:12;::::0;::::2;;1065;;::::0;::::2;1035:4:::0;1065:12:::2;:::i;:::-;974:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;974:12:2::2;::::0;-1:-1:-1;;;974:104:2:i:2;:::-;289:796;2391:1:11::1;2446:12:::0;2432;2425:34;178:907:2;:::o;4674:460:1:-;1374:16:9;:14;:16::i;:::-;4783:6:1::1;4778:350;4795:11;:18;4791:1;:22;4778:350;;;4856:1;4842:7;4850:1;4842:10;;;;;;;;:::i;:::-;;;;;;;:15;;:37;;;;;4875:4;4861:7;4869:1;4861:10;;;;;;;;:::i;:::-;;;;;;;:18;;4842:37;4834:68;;;::::0;-1:-1:-1;;;4834:68:1;;21809:2:15;4834:68:1::1;::::0;::::1;21791:21:15::0;21848:2;21828:18;;;21821:30;-1:-1:-1;;;21867:18:15;;;21860:48;21925:18;;4834:68:1::1;21607:342:15::0;4834:68:1::1;4920:11;4932:1;4920:14;;;;;;;;:::i;:::-;;;;;;;4916:142;;;4971:7;4979:1;4971:10;;;;;;;;:::i;:::-;;;;;;;4954:14;:27;;;;4916:142;;;5033:7;5041:1;5033:10;;;;;;;;:::i;:::-;;;;;;;5020;:23;;;;4916:142;5076:41;5090:11;5102:1;5090:14;;;;;;;;:::i;:::-;;;;;;;5106:7;5114:1;5106:10;;;;;;;;:::i;:::-;;;;;;;5076:41;;;;;;22147:14:15::0;;22140:22;22122:41;;22194:2;22179:18;;22172:34;22110:2;22095:18;;21954:258;5076:41:1::1;;;;;;;;4815:3:::0;::::1;::::0;::::1;:::i;:::-;;;;4778:350;;6578:559:::0;1374:16:9;:14;:16::i;:::-;6743:39:1;;::::1;6735:64;;;::::0;-1:-1:-1;;;6735:64:1;;22419:2:15;6735:64:1::1;::::0;::::1;22401:21:15::0;22458:2;22438:18;;;22431:30;-1:-1:-1;;;22477:18:15;;;22470:42;22529:18;;6735:64:1::1;22217:336:15::0;6735:64:1::1;6817:39:::0;;::::1;6809:64;;;::::0;-1:-1:-1;;;6809:64:1;;22419:2:15;6809:64:1::1;::::0;::::1;22401:21:15::0;22458:2;22438:18;;;22431:30;-1:-1:-1;;;22477:18:15;;;22470:42;22529:18;;6809:64:1::1;22217:336:15::0;6809:64:1::1;6894:9:::0;6883:8:::1;6920:138;6937:3;6933:1;:7;6920:138;;;7004:43;;;;;;;;7018:9;;7028:1;7018:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7004:43:1::1;;;;;7031:12;;7044:1;7031:15;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7004:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;7004:43:1;;;;-1:-1:-1;6961:26:1::1;::::0;-1:-1:-1;6988:9:1;;-1:-1:-1;6988:9:1;6998:1;6988:12;;::::1;;;;;:::i;:::-;;::::0;;::::1;::::0;;;::::1;;6961:40:::0;;-1:-1:-1;6961:40:1;;::::1;::::0;;;;;;-1:-1:-1;6961:40:1;:86;;;;-1:-1:-1;;;;;;6961:86:1::1;-1:-1:-1::0;;;;;6961:86:1;;::::1;;::::0;;;;::::1;::::0;-1:-1:-1;6961:86:1;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;6942:3;;;;;:::i;:::-;;;;6920:138;;;;7072:58;7095:9;;7106;;7117:12;;7072:58;;;;;;;;;;;:::i;:::-;;;;;;;;6725:412;6578:559:::0;;;;;;:::o;2585:211:9:-;2651:10;;2679:17;1739:16;;-1:-1:-1;;;;;1739:16:9;;1657:105;2679:17;-1:-1:-1;;;;;2679:27:9;;2671:79;;;;-1:-1:-1;;;2671:79:9;;27733:2:15;2671:79:9;;;27715:21:15;27772:2;27752:18;;;27745:30;27811:34;27791:18;;;27784:62;-1:-1:-1;;;27862:18:15;;;27855:37;27909:19;;2671:79:9;27531:403:15;2671:79:9;2760:29;2782:6;2760:21;:29::i;:::-;2624:172;2585:211::o;2133:193::-;1374:16;:14;:16::i;:::-;2222::::1;:30:::0;;-1:-1:-1;;;;;2222:30:9;::::1;-1:-1:-1::0;;;;;;2222:30:9;;::::1;::::0;::::1;::::0;;;2295:10:::1;1536:7:::0;1562:9;-1:-1:-1;;;;;1562:9:9;;1487:91;2295:10:::1;-1:-1:-1::0;;;;;2267:52:9::1;;;;;;;;;;;2133:193:::0;:::o;5734:838:1:-;1374:16:9;:14;:16::i;:::-;5857:24:1;;5854:265:::1;;5901:6;5896:156;5909:23:::0;;::::1;5896:156;;;5999:21;:38;6021:12;;6034:1;6021:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5999:38:1::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;5999:38:1;;;;::::1;;5998:39;::::0;5957:21:::1;::::0;5979:12;;5992:1;5979:15;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5957:38:1::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;5957:38:1;:80;;-1:-1:-1;;5957:80:1::1;::::0;::::1;;::::0;;;::::1;::::0;;5934:3;::::1;::::0;::::1;:::i;:::-;;;;5896:156;;;;6070:38;6095:12;;6070:38;;;;;;;:::i;:::-;;;;;;;;5854:265;6131:25:::0;;6128:438:::1;;6172:24;6210:13:::0;-1:-1:-1;;;;;6199:32:1;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;6199:32:1::1;;6172:59;;6250:10;6245:245;6262:28:::0;;::::1;6245:245;;;6361:16;:38;6378:13;;6392:5;6378:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6361:38:1::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6361:38:1;;;;::::1;;6360:39;::::0;6319:16:::1;::::0;6336:13;;6350:5;6336:20;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6319:38:1::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6319:38:1;;;:80;;-1:-1:-1;;6319:80:1::1;::::0;::::1;;::::0;;;::::1;::::0;;;6437:16:::1;::::0;6454:13;;6468:5;6454:20;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6437:38:1::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6437:38:1;;6417:17;;6437:38:::1;::::0;;::::1;::::0;6417:10;;6428:5;;6417:17;::::1;;;;;:::i;:::-;:58:::0;::::1;;:17;::::0;;::::1;::::0;;;;;;;:58;6292:7;::::1;::::0;::::1;:::i;:::-;;;;6245:245;;;;6508:47;6529:13;;6544:10;6508:47;;;;;;;;:::i;:::-;;;;;;;;6158:408;5734:838:::0;;;;:::o;5140:588::-;1374:16:9;:14;:16::i;:::-;-1:-1:-1;;;;;5255:24:1;::::1;::::0;5251:137:::1;;5295:17;:30:::0;;-1:-1:-1;;;;;;5295:30:1::1;-1:-1:-1::0;;;;;5295:30:1;::::1;::::0;;::::1;::::0;;;5344:33:::1;::::0;15960:51:15;;;5344:33:1::1;::::0;15948:2:15;15933:18;5344:33:1::1;;;;;;;5251:137;-1:-1:-1::0;;;;;5401:20:1;::::1;::::0;5397:166:::1;;5457:11;::::0;;-1:-1:-1;;;;;5482:20:1;;::::1;-1:-1:-1::0;;;;;;5482:20:1;::::1;::::0;::::1;::::0;;;5521:31:::1;::::0;;5457:11;;;::::1;2254:34:15::0;;;2319:2;2304:18;;2297:43;;;;5521:31:1::1;::::0;2189:18:15;5521:31:1::1;;;;;;;5423:140;5397:166;-1:-1:-1::0;;;;;5576:19:1;::::1;::::0;5572:150:::1;;5630:6;::::0;;-1:-1:-1;;;;;5650:14:1;;::::1;-1:-1:-1::0;;;;;;5650:14:1;::::1;::::0;::::1;::::0;;;5683:28:::1;::::0;;5630:6;;;::::1;2254:34:15::0;;;2319:2;2304:18;;2297:43;;;;5683:28:1::1;::::0;2189:18:15;5683:28:1::1;;;;;;;5597:125;5140:588:::0;;;:::o;2053:168:5:-;2145:20;2192:22;2207:6;2192:14;:22::i;:::-;2177:37;2053:168;-1:-1:-1;;2053:168:5:o;7143:305:1:-;1374:16:9;:14;:16::i;:::-;7251:5:1;7240:8:::1;7273:169;7290:3;7286:1;:7;7273:169;;;7318:6;7314:118;;;7344:16;7351:5;;7357:1;7351:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;7344:6;:16::i;:::-;7314:118;;;7399:18;7408:5;;7414:1;7408:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;7399;:18::i;:::-;7295:3:::0;::::1;::::0;::::1;:::i;:::-;;;;7273:169;;;;7230:218;7143:305:::0;;;:::o;529:220:0:-;657:20;704:38;722:4;728:13;704:17;:38::i;2291:319:4:-;2415:20;2437:15;2464:21;2488:9;2464:33;;2522:36;2537:10;2549:8;2522:14;:36::i;7334:762:5:-;7462:3;7456;7448:11;;;:17;7431:14;7505:37;;;:26;:37;;;;;;;;7475:67;;;;;;;;;;-1:-1:-1;;;;;7475:67:5;;;;;;;;;;7505:37;;7475:67;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7475:67:5;;;;-1:-1:-1;;7560:14:5;;7475:67;;-1:-1:-1;;;;;;;7560:28:5;7552:66;;;;-1:-1:-1;;;7552:66:5;;29280:2:15;7552:66:5;;;29262:21:15;29319:2;29299:18;;;29292:30;29358:27;29338:18;;;29331:55;29403:18;;7552:66:5;29078:349:15;7552:66:5;7628:16;7840:6;:14;;;7884:8;7922:6;:19;;;7757:210;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7722:267;;;;;;7693:314;;7628:403;;8061:6;-1:-1:-1;;;;;8049:18:5;:8;-1:-1:-1;;;;;8049:18:5;;8041:48;;;;-1:-1:-1;;;8041:48:5;;30256:2:15;8041:48:5;;;30238:21:15;30295:2;30275:18;;;30268:30;-1:-1:-1;;;30314:18:15;;;30307:47;30371:18;;8041:48:5;30054:341:15;8041:48:5;7421:675;;;7334:762;;;:::o;753:363:14:-;946:45;;;-1:-1:-1;;;;;206:32:15;;;946:45:14;;;188:51:15;255:18;;;;248:34;;;946:45:14;;;;;;;;;;161:18:15;;;;946:45:14;;;;;;;-1:-1:-1;;;;;946:45:14;-1:-1:-1;;;946:45:14;;;935:57;;-1:-1:-1;;;;935:10:14;;;;:57;;946:45;935:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;899:93;;;;1010:7;:57;;;;-1:-1:-1;1022:11:14;;:16;;:44;;;1053:4;1042:24;;;;;;;;;;;;:::i;:::-;1002:107;;;;-1:-1:-1;;;1002:107:14;;31144:2:15;1002:107:14;;;31126:21:15;31183:2;31163:18;;;31156:30;31222:34;31202:18;;;31195:62;-1:-1:-1;;;31273:18:15;;;31266:35;31318:19;;1002:107:14;30942:401:15;2826:2405:4;2985:20;1744:1:11;2254:7;;:19;2246:63;;;;-1:-1:-1;;;2246:63:11;;;;;;;:::i;:::-;2363:8;2349:12;2342:30;2948:26:4::1;1330:23:10;1348:4;1330:17;:23::i;:::-;3037:15:4::2;3025:8;:27;;3017:47;;;::::0;-1:-1:-1;;;3017:47:4;;31550:2:15;3017:47:4::2;::::0;::::2;31532:21:15::0;31589:1;31569:18;;;31562:29;-1:-1:-1;;;31607:18:15;;;31600:37;31654:18;;3017:47:4::2;31348:330:15::0;3017:47:4::2;3140:1;3133:3;3106:17;::::0;::::2;;3127:3;3106:24;:30;:35;3083:20;::::0;;;;3289:40:::2;3106:10:::0;:35;3289:11:::2;:40::i;:::-;3165:164;;;;;;;;;;3356:73;3384:5;3390:1;3384:8;;;;;;;;:::i;:::-;;;;;;;3394:10;:15;;;;;;;;:::i;:::-;3410:1;3394:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3414:14;3356:27;:73::i;:::-;3448:15;3444:1253;;;3486:7;3483:575;;;3517:110;3568:17;::::0;::::2;;3589:5:::0;3596:15:::2;;::::0;::::2;3568:10:::0;3596:15:::2;:::i;:::-;3517:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;3621:4:4::2;::::0;-1:-1:-1;3517:34:4::2;::::0;-1:-1:-1;;3517:110:4:i:2;:::-;3664:86;3725:24:::0;3671:23:::2;::::0;;;::::2;::::0;::::2;;:::i;:::-;3664:56;::::0;-1:-1:-1;;;3664:56:4;;3714:4:::2;3664:56;::::0;::::2;15960:51:15::0;-1:-1:-1;;;;;3664:41:4;;;::::2;::::0;::::2;::::0;15933:18:15;;3664:56:4::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60:::0;::::2;:86::i;:::-;3649:101;;3444:1253;;3483:575;3797:119;3848:17;::::0;::::2;;3869:5:::0;3876:15:::2;;::::0;::::2;3848:10:::0;3876:15:::2;:::i;:::-;3797:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3893:10;:22;;;;;;;;;;:::i;:::-;3797:34;:119::i;:::-;3953:86;4023:15;3960:5;3981:1;3966:5;:12;:16;;;;:::i;:::-;3960:23;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;3953:41:4::2;;3995:10;:22;;;;;;;;;;:::i;:::-;3953:65;::::0;-1:-1:-1;;;;;;3953:65:4::2;::::0;;;;;;-1:-1:-1;;;;;15978:32:15;;;3953:65:4::2;::::0;::::2;15960:51:15::0;15933:18;;3953:65:4::2;15814:203:15::0;3444:1253:4::2;4096:21;4147:10;:17;;;-1:-1:-1::0;;;;;4120:61:4::2;;4182:14;4198:5;4120:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;4120:84:4::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;4096:108;;4225:7;4222:461;;;4256:53;4262:7:::0;4271:5;4278:15:::2;;::::0;::::2;:10:::0;:15:::2;:::i;:::-;4256:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;4303:4:4::2;::::0;-1:-1:-1;4256:5:4::2;::::0;-1:-1:-1;;4256:53:4:i:2;:::-;4346:86;4407:24:::0;4353:23:::2;::::0;;;::::2;::::0;::::2;;:::i;4346:86::-;4331:101;;4222:461;;;4479:62;4485:7:::0;4494:5;4501:15:::2;;::::0;::::2;:10:::0;:15:::2;:::i;:::-;4479:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4518:10;:22;;;;;;;;;;:::i;:::-;4479:5;:62::i;:::-;4578:86;4648:15;4585:5;4606:1;4591:5;:12;:16;;;;:::i;:::-;4585:23;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4578:41:4::2;;4620:10;:22;;;;;;;;;;:::i;4578:86::-;4563:101;;4222:461;4078:619;3444:1253;4735:10;:26;;;4719:12;:42;;4711:74;;;;-1:-1:-1::0;;;4711:74:4::2;;;;;;;:::i;:::-;4803:7;4799:198;;;4830:66;4858:23;::::0;;;::::2;::::0;::::2;;:::i;:::-;4883:12;4830:27;:66::i;:::-;4914:68;4945:22;;::::0;::::2;:10:::0;:22:::2;:::i;:::-;4969:12;4914:30;:68::i;:::-;3151:1856;;;;;5016:21;5040:10;:18;;;;;;;;:::i;:::-;5016:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;5016:42:4;;-1:-1:-1;5069:146:4::2;::::0;-1:-1:-1;5082:15:4::2;::::0;-1:-1:-1;;5082:15:4::2;::::0;::::2;:10:::0;:15:::2;:::i;:::-;5098:1;5082:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5102:15;;::::0;::::2;:10:::0;:15:::2;:::i;:::-;5143:1;5118:15;;::::0;::::2;:10:::0;:15:::2;:::i;:::-;:26;::::0;;-1:-1:-1;5118:26:4::2;:::i;:::-;5102:43;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5147:22;;::::0;::::2;:10:::0;:22:::2;:::i;:::-;5171:10;:17;;;5190:12;5204:1;5207:7;5069:12;:146::i;:::-;3007:2224;;2391:1:11::1;2446:12:::0;2432;2425:34;2826:2405:4;;;;:::o;1838:137:9:-;1918:10;1904;1536:7;1562:9;-1:-1:-1;;;;;1562:9:9;;1487:91;1904:10;-1:-1:-1;;;;;1904:24:9;;1896:72;;;;-1:-1:-1;;;1896:72:9;;34403:2:15;1896:72:9;;;34385:21:15;34442:2;34422:18;;;34415:30;34481:34;34461:18;;;34454:62;-1:-1:-1;;;34532:18:15;;;34525:33;34575:19;;1896:72:9;34201:399:15;1896:72:9;1838:137::o;251:132:14:-;304:4;-1:-1:-1;;;;;328:22:14;;;;:47;;-1:-1:-1;;;;;;354:21:14;;140:42;354:21;320:56;251:132;-1:-1:-1;;251:132:14:o;1886:224::-;2029:12;;;1991;2029;;;;;;;;;-1:-1:-1;;;;;2008:7:14;;;2022:5;;2008:34;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:52;;;2060:7;2052:51;;;;-1:-1:-1;;;2052:51:14;;34807:2:15;2052:51:14;;;34789:21:15;34846:2;34826:18;;;34819:30;34885:33;34865:18;;;34858:61;34936:18;;2052:51:14;34605:355:15;1122:354:14;1218:4;1301:12;1315:17;1336:5;-1:-1:-1;;;;;1336:10:14;1370;1382:2;1386:5;1347:45;;;;;;;;-1:-1:-1;;;;;206:32:15;;;;188:51;;270:2;255:18;;248:34;176:2;161:18;;14:274;1347:45:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1347:45:14;;;;;;;;;;;1336:57;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1300:93;;;;1411:7;:57;;;;-1:-1:-1;1423:11:14;;:16;;:44;;;1454:4;1443:24;;;;;;;;;;;;:::i;:::-;1403:66;1122:354;-1:-1:-1;;;;;;1122:354:14:o;755:1880:0:-;941:20;1744:1:11;2254:7;;:19;2246:63;;;;-1:-1:-1;;;2246:63:11;;;;;;;:::i;:::-;2363:8;2349:12;2342:30;901:29:0::1;1330:23:10;1348:4;1330:17;:23::i;:::-;1014:1:0::2;981:23;;::::0;::::2;:13:::0;:23:::2;:::i;:::-;:30;;:34;973:70;;;::::0;-1:-1:-1;;;973:70:0;;19727:2:15;973:70:0::2;::::0;::::2;19709:21:15::0;19766:2;19746:18;;;19739:30;-1:-1:-1;;;19785:18:15;;;19778:53;19848:18;;973:70:0::2;19525:347:15::0;973:70:0::2;1075:1;1061:4;:11;;;:15;1053:59;;;::::0;-1:-1:-1;;;1053:59:0;;20079:2:15;1053:59:0::2;::::0;::::2;20061:21:15::0;20118:2;20098:18;;;20091:30;20157:33;20137:18;;;20130:61;20208:18;;1053:59:0::2;19877:355:15::0;1053:59:0::2;1158:1;1130:16;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;1130:30:0::2;::::0;1122:76:::2;;;::::0;-1:-1:-1;;;1122:76:0;;35167:2:15;1122:76:0::2;::::0;::::2;35149:21:15::0;35206:2;35186:18;;;35179:30;35245:34;35225:18;;;35218:62;-1:-1:-1;;;35296:18:15;;;35289:31;35337:19;;1122:76:0::2;34965:397:15::0;1122:76:0::2;1239:1;1216:4;:20;;;:24;1208:77;;;::::0;-1:-1:-1;;;1208:77:0;;35569:2:15;1208:77:0::2;::::0;::::2;35551:21:15::0;35608:2;35588:18;;;35581:30;35647:34;35627:18;;;35620:62;-1:-1:-1;;;35698:18:15;;;35691:38;35746:19;;1208:77:0::2;35367:404:15::0;1208:77:0::2;1303:16;:35;1320:17;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;1303:35:0::2;::::0;;::::2;::::0;::::2;::::0;;;;;;-1:-1:-1;1303:35:0;;::::2;;1295:71;;;::::0;-1:-1:-1;;;1295:71:0;;35978:2:15;1295:71:0::2;::::0;::::2;35960:21:15::0;36017:2;35997:18;;;35990:30;36056:25;36036:18;;;36029:53;36099:18;;1295:71:0::2;35776:347:15::0;1295:71:0::2;1434:17;::::0;1377:23:::2;::::0;-1:-1:-1;;;;;1434:17:0::2;1377:23:::0;1482:131:::2;1377:23:::0;1526:13:::2;;::::0;::::2;:4:::0;:13:::2;:::i;:::-;1541:17;::::0;;;::::2;::::0;::::2;;:::i;:::-;1560:13:::0;1575:11:::2;::::0;::::2;;1588:8;::::0;::::2;;1598:14;;::::0;::::2;1575:4:::0;1598:14:::2;:::i;1482:131::-;1461:152:::0;-1:-1:-1;1628:35:0::2;1649:13;::::0;;;::::2;::::0;::::2;;:::i;:::-;1628:20;:35::i;:::-;1624:206;;;1697:16;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;1697:24:0::2;;1679:42;;1624:206;;;1777:13;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;1770:31:0::2;;1802:16;::::0;;;::::2;::::0;::::2;;:::i;:::-;1770:49;::::0;-1:-1:-1;;;;;;1770:49:0::2;::::0;;;;;;-1:-1:-1;;;;;15978:32:15;;;1770:49:0::2;::::0;::::2;15960:51:15::0;15933:18;;1770:49:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1752:67;;1624:206;1930:12;1944:19:::0;1967:13:::2;-1:-1:-1::0;;;;;1967:18:0::2;1994:10;2029;2041:13;2006:49;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2006:49:0::2;;;;;;;;;;;1967:89;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1929:127;;;;2075:7;2070:103;;2109:48;2134:6;2109:48;;;;;;;;;;;;;-1:-1:-1::0;;;2109:48:0::2;;::::0;:24:::2;:48::i;2070:103::-;-1:-1:-1::0;2197:35:0::2;::::0;-1:-1:-1;2218:13:0::2;::::0;;;::::2;::::0;::::2;;:::i;2197:35::-;2193:242;;;2263:45;2292:15:::0;2263:16:::2;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;2263:24:0::2;;::::0;:28:::2;:45::i;:::-;2248:60;;2193:242;;;2354:70;2408:15:::0;2361:13:::2;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;2354:31:0::2;;2386:16;::::0;;;::::2;::::0;::::2;;:::i;2354:70::-;2339:85;;2193:242;2468:4;:20;;;2452:12;:36;;2444:68;;;;-1:-1:-1::0;;;2444:68:0::2;;;;;;;:::i;:::-;2523:104;2536:13;;::::0;::::2;:4:::0;:13:::2;:::i;:::-;2551;::::0;;;::::2;::::0;::::2;;:::i;:::-;2566:16;::::0;;;::::2;::::0;::::2;;:::i;:::-;2584:11;::::0;::::2;;2597:12:::0;2611:1:::2;2614:12;;::::0;::::2;2584:4:::0;2614:12:::2;:::i;2523:104::-;963:1672;;;2391:1:11::1;2446:12:::0;2432;2425:34;755:1880:0;;;;:::o;2227:2993:5:-;2364:20;1744:1:11;2254:7;;:19;2246:63;;;;-1:-1:-1;;;2246:63:11;;;;;;;:::i;:::-;2363:8;2349:12;2342:30;2327:26:5::1;1330:23:10;1348:4;1330:17;:23::i;:::-;2426:1:5::2;2404:12;;::::0;::::2;:6:::0;:12:::2;:::i;:::-;:19;;:23;2396:47;;;::::0;-1:-1:-1;;;2396:47:5;;37480:2:15;2396:47:5::2;::::0;::::2;37462:21:15::0;37519:2;37499:18;;;37492:30;-1:-1:-1;;;37538:18:15;;;37531:41;37589:18;;2396:47:5::2;37278:335:15::0;2396:47:5::2;2480:15;2461:6;:15;;;:34;;2453:54;;;::::0;-1:-1:-1;;;2453:54:5;;31550:2:15;2453:54:5::2;::::0;::::2;31532:21:15::0;31589:1;31569:18;;;31562:29;-1:-1:-1;;;31607:18:15;;;31600:37;31654:18;;2453:54:5::2;31348:330:15::0;2453:54:5::2;2525:16;:37;2542:19;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;2525:37:5::2;::::0;;::::2;::::0;::::2;::::0;;;;;;-1:-1:-1;2525:37:5;;::::2;;2517:73;;;;-1:-1:-1::0;;;2517:73:5::2;;;;;;;:::i;:::-;2600:15;2618;;::::0;::::2;:6:::0;:15:::2;:::i;:::-;2600:33:::0;-1:-1:-1;2643:16:5::2;2662:15;::::0;;;::::2;::::0;::::2;;:::i;:::-;2643:34:::0;-1:-1:-1;2688:23:5::2;::::0;2747:37:::2;2768:15;;::::0;::::2;:6:::0;:15:::2;:::i;2747:37::-;2743:97;;;2810:19;::::0;;;::::2;::::0;::::2;;:::i;:::-;2800:29;;2743:97;2849:22;2874:135;2887:26;2915:15;;::::0;::::2;:6:::0;:15:::2;:::i;:::-;2932:19;::::0;;;::::2;::::0;::::2;;:::i;:::-;2961:1;2965:6;:13;;;2980:6;:10;;;2992:6;:16;;;;;;;;:::i;2874:135::-;2849:160:::0;-1:-1:-1;3024:37:5::2;3045:15;::::0;;;::::2;::::0;::::2;;:::i;3024:37::-;3020:312;;;3088:19;::::0;;;::::2;::::0;::::2;;:::i;:::-;3077:30:::0;-1:-1:-1;3146:19:5::2;::::0;;;::::2;::::0;::::2;;:::i;:::-;3139:52;::::0;-1:-1:-1;;;3139:52:5;;3185:4:::2;3139:52;::::0;::::2;15960:51:15::0;-1:-1:-1;;;;;3139:37:5;;;::::2;::::0;::::2;::::0;15933:18:15;;3139:52:5::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3121:70;;3215:4;3205:14;;3020:312;;;3275:15;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;3268:33:5::2;;3302:18;::::0;;;::::2;::::0;::::2;;:::i;:::-;3268:53;::::0;-1:-1:-1;;;;;;3268:53:5::2;::::0;;;;;;-1:-1:-1;;;;;15978:32:15;;;3268:53:5::2;::::0;::::2;15960:51:15::0;15933:18;;3268:53:5::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3250:71;;3020:312;3356:11;3370:12;;::::0;::::2;:6:::0;:12:::2;:::i;:::-;:19:::0;-1:-1:-1;3431:4:5::2;::::0;-1:-1:-1;3450:31:5::2;3505:1;3499:7:::0;::::2;3495:997;;;3548:7:::0;3526:19:::2;::::0;3624:492:::2;3644:3;3640:1;:7;3624:492;;;3676:16;3695:6;:12;;;;;;;;:::i;:::-;3708:1;3695:15;;;;;;;:::i;:::-;;;;;;;3676:34;;3768:48;3780:11;3793:12;3807:8;3768:11;:48::i;:::-;3732:84:::0;-1:-1:-1;3732:84:5;-1:-1:-1;3847:7:5::2;3853:1;3847:3:::0;:7:::2;:::i;:::-;3842:1;:12;:24;;;;;3859:7;3858:8;3842:24;3838:158;;;3906:6;:18;;;;;;;;;;:::i;:::-;3894:30;;3965:8;3950:23;;3838:158;4035:62;4041:9;4052:8;4062:18;4082:14;4035:5;:62::i;:::-;4018:79;;3654:462;3649:3;;;;;:::i;:::-;;;;3624:492;;;;4148:14;4133:29;;3508:669;;3495:997;;;4226:47;4238:7:::0;4247:8;4257:12:::2;;::::0;::::2;:6:::0;:12:::2;:::i;:::-;4270:1;4257:15;;;;;;;:::i;:::-;;;;;;;4226:11;:47::i;:::-;4201:72:::0;-1:-1:-1;4296:7:5;;-1:-1:-1;4291:85:5::2;;4339:18;::::0;;;::::2;::::0;::::2;;:::i;:::-;4327:30;;4291:85;4408:69;4414:9:::0;4425:12:::2;;::::0;::::2;:6:::0;:12:::2;:::i;:::-;4438:1;4425:15;;;;;;;:::i;:::-;;;;;;;4442:18;4462:14;4408:5;:69::i;:::-;4393:84;;3495:997;3342:1160;;;4516:7;4512:568;;;4554:73;4611:15:::0;4561:19:::2;::::0;;;::::2;::::0;::::2;;:::i;4554:73::-;4539:88;;4665:6;:22;;;4649:12;:38;;4641:70;;;;-1:-1:-1::0;;;4641:70:5::2;;;;;;;:::i;:::-;4725:62;4753:19;::::0;;;::::2;::::0;::::2;;:::i;:::-;4774:12;4725:27;:62::i;:::-;4801:64;4832:18;::::0;;;::::2;::::0;::::2;;:::i;:::-;4852:12;4801:30;:64::i;:::-;4512:568;;;4911:74;4969:15:::0;4918::::2;::::0;;;::::2;::::0;::::2;;:::i;:::-;-1:-1:-1::0;;;;;4911:33:5::2;;4945:18;::::0;;;::::2;::::0;::::2;;:::i;4911:74::-;4896:89;;5023:6;:22;;;5007:12;:38;;4999:70;;;;-1:-1:-1::0;;;4999:70:5::2;;;;;;;:::i;:::-;5098:114;5111:15;;::::0;::::2;:6:::0;:15:::2;:::i;:::-;5128;::::0;;;::::2;::::0;::::2;;:::i;:::-;5145:18;::::0;;;::::2;::::0;::::2;;:::i;:::-;5165:6;:13;;;5180:12;5194:1;5197:6;:14;;;;;;;;:::i;5098:114::-;2386:2834;;;;;2391:1:11::1;2446:12:::0;2432;2425:34;2227:2993:5;;;:::o;1906:127:10:-;1993:12;2000:4;1993:6;:12::i;:::-;1992:13;1984:42;;;;-1:-1:-1;;;1984:42:10;;38172:2:15;1984:42:10;;;38154:21:15;38211:2;38191:18;;;38184:30;-1:-1:-1;;;38230:18:15;;;38223:46;38286:18;;1984:42:10;37970:340:15;9372:2111:1;9542:18;9573:14;9589:16;9609:13;9618:3;9609:8;:13::i;:::-;9572:50;;-1:-1:-1;9572:50:1;-1:-1:-1;9632:16:1;9659:18;9651:4;:26;;;;;;;;:::i;:::-;;:41;;9688:4;9651:41;;;9680:5;9651:41;9632:60;;9702:22;9727:59;9745:11;9758:6;9766:8;9776:9;;9727:17;:59::i;:::-;9702:84;;9800:30;9821:8;9800:20;:30::i;:::-;9796:1681;;;9858:18;9850:4;:26;;;;;;;;:::i;:::-;;9846:301;;9917:6;9904:9;:19;;9896:49;;;;-1:-1:-1;;;9896:49:1;;38517:2:15;9896:49:1;;;38499:21:15;38556:2;38536:18;;;38529:30;-1:-1:-1;;;38575:18:15;;;38568:47;38632:18;;9896:49:1;38315:341:15;9896:49:1;9976:23;:9;9990:8;9976:13;:23::i;:::-;9963:36;;9846:301;;;10059:6;10046:9;:19;10038:49;;;;-1:-1:-1;;;10038:49:1;;38517:2:15;10038:49:1;;;38499:21:15;38556:2;38536:18;;;38529:30;-1:-1:-1;;;38575:18:15;;;38568:47;38632:18;;10038:49:1;38315:341:15;10038:49:1;10118:14;10105:27;;9846:301;-1:-1:-1;;;;;10164:26:1;;;10160:534;;-1:-1:-1;;;;;10218:30:1;;;;;;:16;:30;;;;;;;;10210:66;;;;-1:-1:-1;;;10210:66:1;;;;;;;:::i;:::-;10306:18;10298:4;:26;;;;;;;;:::i;:::-;;10294:386;;10348:52;10375:12;10389:10;10348:26;:52::i;:::-;10422:60;10449:12;10463:6;10471:10;10422:26;:60::i;:::-;10517:1;10504:14;;10294:386;;;10555:26;10547:4;:34;;;;;;;;:::i;:::-;;10543:137;;10605:56;10632:12;10646:14;10605:26;:56::i;:::-;10711:9;10707:96;;;10771:6;;10740:48;;-1:-1:-1;;;;;10771:6:1;10779:8;10740:30;:48::i;:::-;9796:1681;;;10833:76;10865:8;10875:10;10895:4;10902:6;10833:31;:76::i;:::-;10935:18;10927:4;:26;;;;;;;;:::i;:::-;;10923:414;;10973:60;11000:8;11010:6;11018:14;10973:26;:60::i;:::-;11064:9;11051:22;;10923:414;;;11106:29;11098:4;:37;;;;;;;;:::i;:::-;;11094:243;;11155:61;11183:8;11193:6;11201:14;11155:27;:61::i;:::-;11094:243;;;11249:26;11241:4;:34;;;;;;;;:::i;:::-;;11237:100;;11308:14;11295:27;;11237:100;11354:9;11350:117;;;11435:6;;11383:69;;11425:8;;-1:-1:-1;;;;;11435:6:1;11443:8;11383:41;:69::i;:::-;;11350:117;9562:1921;;;;9372:2111;;;;;;;;;;:::o;95:1877:12:-;174:13;454:2;439:4;:11;:17;;:38;;;;;460:4;465:1;460:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;460:7:12;-1:-1:-1;;;460:17:12;439:38;:59;;;;;481:4;486:1;481:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;481:7:12;-1:-1:-1;;;481:17:12;439:59;:80;;;;;502:4;507:1;502:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;502:7:12;-1:-1:-1;;;502:17:12;439:80;:101;;;;;523:4;528:1;523:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;523:7:12;-1:-1:-1;;;523:17:12;439:101;435:1450;;;768:2;758:13;;;1255:20;;758:13;;1250:25;;1255:20;1250:25;:::i;:::-;1235:4;:11;:40;;1227:74;;;;-1:-1:-1;;;1227:74:12;;38993:2:15;1227:74:12;;;38975:21:15;39032:2;39012:18;;;39005:30;-1:-1:-1;;;39051:18:15;;;39044:51;39112:18;;1227:74:12;38791:345:15;1227:74:12;1346:6;1364;1329:47;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1315:62;;;;;435:1450;1468:4;:11;1483:2;1468:17;:38;;;;;1489:4;1494:1;1489:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;1489:7:12;-1:-1:-1;;;1489:17:12;1468:38;:59;;;;;1510:4;1515:1;1510:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;1510:7:12;-1:-1:-1;;;1510:17:12;1468:59;:80;;;;;1531:4;1536:1;1531:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;1531:7:12;-1:-1:-1;;;1531:17:12;1468:80;:101;;;;;1552:4;1557:1;1552:7;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;;1552:7:12;-1:-1:-1;;;1552:17:12;1468:101;1464:421;;;1775:2;1765:13;;1759:20;1837:6;1855:12;1759:20;1855:6;:12::i;:::-;1820:53;;;;;;;;;:::i;1464:421::-;1926:6;1946:12;1953:4;1946:6;:12::i;:::-;1909:55;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1895:70;;95:1877;;;;:::o;393:354:14:-;584:45;;;-1:-1:-1;;;;;206:32:15;;;584:45:14;;;188:51:15;255:18;;;;248:34;;;584:45:14;;;;;;;;;;161:18:15;;;;584:45:14;;;;;;;-1:-1:-1;;;;;584:45:14;-1:-1:-1;;;584:45:14;;;573:57;;-1:-1:-1;;;;573:10:14;;;;:57;;584:45;573:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:93;;;;648:7;:57;;;;-1:-1:-1;660:11:14;;:16;;:44;;;691:4;680:24;;;;;;;;;;;;:::i;:::-;640:100;;;;-1:-1:-1;;;640:100:14;;41757:2:15;640:100:14;;;41739:21:15;41796:2;41776:18;;;41769:30;41835:32;41815:18;;;41808:60;41885:18;;640:100:14;41555:354:15;4292:376:1;4550:11;-1:-1:-1;;;;;4475:186:1;4527:8;-1:-1:-1;;;;;4475:186:1;4504:8;-1:-1:-1;;;;;4475:186:1;;4575:6;4595:12;4621:9;4644:7;4475:186;;;;;;;;;:::i;:::-;;;;;;;;4292:376;;;;;;;:::o;2332:247:9:-;2418:16;2411:23;;-1:-1:-1;;;;;;2411:23:9;;;;;;2418:16;2466:9;;-1:-1:-1;;;;;2485:23:9;;;;;;;;;;2523:49;;2466:9;;;2485:23;2466:9;;2523:49;;2418:16;2523:49;2401:178;2332:247;:::o;2367:148:10:-;2433:4;1330:23;1348:4;1330:17;:23::i;:::-;2465:4:::1;2449:7;:13;2457:4;2449:13;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;2484:24;2491:10;2503:4;2484:24;;;;;;;:::i;:::-;;;;;;;;2367:148:::0;;:::o;2647:150::-;2712:4;1598:20;1613:4;1598:14;:20::i;:::-;2744:5:::1;2728:7;:13;2736:4;2728:13;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;2764:26;2773:10;2785:4;2764:26;;;;;;;:::i;188:2097:4:-:0;293:12;;331:22;293:12;;458:15;;;;:10;:15;:::i;:::-;:26;;-1:-1:-1;483:1:4;458:26;:::i;:::-;432:15;;;;:10;:15;:::i;:::-;:22;;:52;424:77;;;;-1:-1:-1;;;424:77:4;;43002:2:15;424:77:4;;;42984:21:15;43041:2;43021:18;;;43014:30;-1:-1:-1;;;43060:18:15;;;43053:42;43112:18;;424:77:4;42800:336:15;424:77:4;519:16;:41;536:23;;;;;;;;:::i;:::-;-1:-1:-1;;;;;519:41:4;;;;;;;;;;;;-1:-1:-1;519:41:4;;;;511:77;;;;-1:-1:-1;;;511:77:4;;;;;;;:::i;:::-;600:14;616:16;636:24;645:10;:14;;;636:8;:24::i;:::-;599:61;;-1:-1:-1;599:61:4;-1:-1:-1;687:74:4;705:4;711:17;;;;599:61;740:20;;;;711:10;740:20;:::i;:::-;687:17;:74::i;:::-;670:91;-1:-1:-1;771:21:4;795:15;;;;:10;:15;:::i;:::-;771:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;771:39:4;;-1:-1:-1;771:39:4;;-1:-1:-1;869:1:4;;-1:-1:-1;844:15:4;;-1:-1:-1;844:15:4;;;:10;:15;:::i;:::-;:26;;;-1:-1:-1;844:26:4;:::i;:::-;839:32;;;;;;;;:::i;:::-;;;;;;;820:51;;885:40;906:10;:15;;;;;;;;:::i;:::-;922:1;906:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;885:40::-;881:982;;;962:10;:17;;;949:9;:30;941:60;;;;-1:-1:-1;;;941:60:4;;43343:2:15;941:60:4;;;43325:21:15;43382:2;43362:18;;;43355:30;-1:-1:-1;;;43401:18:15;;;43394:47;43458:18;;941:60:4;43141:341:15;941:60:4;1019:9;1015:96;;;1079:6;;1048:48;;-1:-1:-1;;;;;1079:6:4;1087:8;1048:30;:48::i;:::-;1134:23;;;;;;;;:::i;:::-;1124:4;1129:1;1124:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1124:33:4;;;:7;;;;;;;;;;:33;1171:67;;1198:23;;;;;;;;;:::i;:::-;1223:14;1171:26;:67::i;:::-;881:982;;;1273:15;1269:455;;;1332:4;1337:1;1332:7;;;;;;;;:::i;:::-;;;;;;;;;;;1325:40;;-1:-1:-1;;;1325:40:4;;1359:4;1325:40;;;15960:51:15;-1:-1:-1;;;;;1325:25:4;;;;;;15933:18:15;;1325:40:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1308:57;;1383:86;1415:4;1420:1;1415:7;;;;;;;;:::i;:::-;;;;;;;1424:10;1444:4;1451:10;:17;;;1383:31;:86::i;:::-;1504:80;1569:10;:14;;;1504:60;1549:14;1511:4;1516:1;1511:7;;;;;;;;:::i;:::-;;;;;;;;;;;1504:40;;-1:-1:-1;;;1504:40:4;;1538:4;1504:40;;;15960:51:15;-1:-1:-1;;;;;1504:25:4;;;;;;15933:18:15;;1504:40:4;15814:203:15;1504:80:4;1487:97;;1269:455;;;1623:86;1655:4;1660:1;1655:7;;;;;;;;:::i;1623:86::-;1741:9;1737:116;;;1770:68;1812:4;1817:1;1812:7;;;;;;;;:::i;:::-;;;;;;;;;;;1821:6;;-1:-1:-1;;;;;1821:6:4;1829:8;1770:41;:68::i;:::-;;1737:116;1876:30;1897:8;1876:20;:30::i;:::-;1872:385;;;1946:23;;;;;;;;:::i;:::-;1922:4;1941:1;1927:4;:11;:15;;;;:::i;:::-;1922:21;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1922:47:4;;;:21;;;;;;;;;;:47;1993:4;;-1:-1:-1;2045:23:4;;;;;;;;;:::i;:::-;2038:56;;-1:-1:-1;;;2038:56:4;;2088:4;2038:56;;;15960:51:15;-1:-1:-1;;;;;2038:41:4;;;;;;;15933:18:15;;2038:56:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2011:83;;1872:385;;;2129:15;2125:122;;;-1:-1:-1;;;;;2182:26:4;;;2209:22;;;;:10;:22;:::i;:::-;2182:50;;-1:-1:-1;;;;;;2182:50:4;;;;;;;-1:-1:-1;;;;;15978:32:15;;;2182:50:4;;;15960:51:15;15933:18;;2182:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2164:68;;2125:122;2274:4;2266:12;;414:1871;;;;188:2097;;;;;;;;:::o;5902:1170::-;6053:6;6048:1018;6079:1;6065:4;:11;:15;;;;:::i;:::-;6061:1;:19;6048:1018;;;6102:13;6117:14;6136:4;6141:1;6136:7;;;;;;;;:::i;:::-;;;;;;;6145:4;6150:1;6154;6150:5;;;;:::i;:::-;6145:11;;;;;;;;:::i;:::-;;;;;;;6101:56;;;;6172:14;6199:6;-1:-1:-1;;;;;6191:14:4;:5;-1:-1:-1;;;;;6191:14:4;;:50;;6227:6;6235:5;6191:50;;;6209:5;6216:6;6191:50;6171:70;;;6255:15;6284:4;6289:1;6284:7;;;;;;;;:::i;:::-;;;;;;;6255:37;;6306:16;6336:17;6426:13;6441;6459:4;-1:-1:-1;;;;;6459:16:4;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6425:52;-1:-1:-1;;;;;6425:52:4;;;-1:-1:-1;;;;;6425:52:4;;;6496:17;6515:18;6546:6;-1:-1:-1;;;;;6537:15:4;:5;-1:-1:-1;;;;;6537:15:4;;:61;;6579:8;6589;6537:61;;;6556:8;6566;6537:61;6630:38;;-1:-1:-1;;;6630:38:4;;-1:-1:-1;;;;;15978:32:15;;;6630:38:4;;;15960:51:15;6495:103:4;;-1:-1:-1;6495:103:4;;-1:-1:-1;6630:56:4;;6495:103;;6630:23;;;;;;15933:18:15;;6630:38:4;15814:203:15;6630:56:4;6616:70;;6730:6;-1:-1:-1;;;;;6719:31:4;;6751:11;6764:12;6778:13;6719:73;;;;;;;;;;;;;;;;44337:25:15;;;44393:2;44378:18;;44371:34;;;;44436:2;44421:18;;44414:34;44325:2;44310:18;;44135:319;6719:73:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6704:88;;6367:440;;;;6821:15;6838;6866:6;-1:-1:-1;;;;;6857:15:4;:5;-1:-1:-1;;;;;6857:15:4;;:67;;6902:12;6921:1;6857:67;;;6881:1;6885:12;6857:67;6820:104;;;;6938:10;6969:1;6955:4;:11;:15;;;;:::i;:::-;6951:1;:19;:39;;6987:3;6951:39;;;6973:4;6978:5;:1;6982;6978:5;:::i;:::-;6973:11;;;;;;;;:::i;:::-;;;;;;;6951:39;7042:12;;;7052:1;7042:12;;;;;;;;;-1:-1:-1;;;7004:51:4;;;6938:52;;-1:-1:-1;;;;;;7004:9:4;;;;;:51;;7014:10;;7026;;6938:52;;7004:51;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6087:979;;;;;;;;;6082:3;;;;;:::i;:::-;;;;6048:1018;;82:127:13;134:6;175:1;165:5;169:1;175;165:5;:::i;:::-;161:9;;;160:16;;152:50;;;;-1:-1:-1;;;152:50:13;;45124:2:15;152:50:13;;;45106:21:15;45163:2;45143:18;;;45136:30;-1:-1:-1;;;45182:18:15;;;45175:51;45243:18;;152:50:13;44922:345:15;5237:659:4;5358:6;5353:537;5384:1;5370:4;:11;:15;;;;:::i;:::-;5366:1;:19;5353:537;;;5407:13;5422:14;5441:4;5446:1;5441:7;;;;;;;;:::i;:::-;;;;;;;5450:4;5455:1;5459;5455:5;;;;:::i;:::-;5450:11;;;;;;;;:::i;:::-;;;;;;;5406:56;;;;5477:14;5504:6;-1:-1:-1;;;;;5496:14:4;:5;-1:-1:-1;;;;;5496:14:4;;:50;;5532:6;5540:5;5496:50;;;5514:5;5521:6;5496:50;-1:-1:-1;5476:70:4;-1:-1:-1;5560:14:4;5577:7;5585:5;:1;5589;5585:5;:::i;:::-;5577:14;;;;;;;;:::i;:::-;;;;;;;5560:31;;5606:15;5623;5651:6;-1:-1:-1;;;;;5642:15:4;:5;-1:-1:-1;;;;;5642:15:4;;:61;;5684:9;5700:1;5642:61;;;5666:1;5670:9;5642:61;5605:98;;;;5717:10;5748:1;5734:4;:11;:15;;;;:::i;:::-;5730:1;:19;:39;;5766:3;5730:39;;;5752:4;5757:5;:1;5761;5757:5;:::i;:::-;5752:11;;;;;;;;:::i;:::-;;;;;;;5730:39;5717:52;;5794:4;5799:1;5794:7;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5783:24:4;;5825:10;5837;5849:2;5863:1;-1:-1:-1;;;;;5853:12:4;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5853:12:4;;5783:96;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5392:498;;;;;;;5387:3;;;;;:::i;:::-;;;;5353:537;;2455:350:14;2588:12;2602:17;2623:7;-1:-1:-1;;;;;2623:12:14;2642:1;2668:10;2680:5;2645:41;;;;;;2971:25:15;;2959:2;2944:18;;2825:177;2645:41:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2645:41:14;;;;;;;;;;;2623:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2587:100;;;;2705:7;:57;;;;-1:-1:-1;2717:11:14;;:16;;:44;;;2748:4;2737:24;;;;;;;;;;;;:::i;:::-;2697:101;;;;-1:-1:-1;;;2697:101:14;;45474:2:15;2697:101:14;;;45456:21:15;45513:2;45493:18;;;45486:30;45552:33;45532:18;;;45525:61;45603:18;;2697:101:14;45272:355:15;6215:1113:5;6308:19;6329:31;6372:20;6426:4;6372:61;;6443:14;6460:5;-1:-1:-1;;;;;6460:12:5;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6443:31;;6484:14;6501:5;-1:-1:-1;;;;;6501:12:5;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6484:31;;6525:10;6538:5;-1:-1:-1;;;;;6538:9:5;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6588:31;;;-1:-1:-1;;;;;46427:15:15;;;6588:31:5;;;46409:34:15;46479:15;;46459:18;;;46452:43;;;;46543:8;46531:21;;46511:18;;;46504:49;6525:24:5;;-1:-1:-1;6559:16:5;;46344:18:15;;6588:31:5;;;-1:-1:-1;;6588:31:5;;;;;;;;;6578:42;;6588:31;6578:42;;;;;-1:-1:-1;;;;6649:25:5;;:30;6689:568;;;;6738:6;-1:-1:-1;;;;;6727:17:5;:7;-1:-1:-1;;;;;6727:17:5;;6719:38;;;;-1:-1:-1;;;6719:38:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;6775:22:5;;;6771:100;;6837:6;-1:-1:-1;;;;;6825:18:5;:8;-1:-1:-1;;;;;6825:18:5;;6817:39;;;;-1:-1:-1;;;6817:39:5;;;;;;;:::i;:::-;6939:28;;;-1:-1:-1;;;;;206:32:15;;6939:28:5;;;188:51:15;255:18;;;248:34;;;6898:6:5;;-1:-1:-1;6898:6:5;;161:18:15;;6939:28:5;;;;;;;;;;;;6918:49;;6689:568;;;7017:6;-1:-1:-1;;;;;7006:17:5;:7;-1:-1:-1;;;;;7006:17:5;;6998:38;;;;-1:-1:-1;;;6998:38:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;7054:22:5;;;7050:100;;7116:6;-1:-1:-1;;;;;7104:18:5;:8;-1:-1:-1;;;;;7104:18:5;;7096:39;;;;-1:-1:-1;;;7096:39:5;;;;;;;:::i;:::-;7218:28;;;-1:-1:-1;;;;;206:32:15;;7218:28:5;;;188:51:15;255:18;;;248:34;;;7177:6:5;;-1:-1:-1;7177:6:5;;161:18:15;;7218:28:5;;;;;;;;;;;;7197:49;;6689:568;7266:55;7282:4;7288:8;7314:4;7266:15;:55::i;:::-;6362:966;;;;;;6215:1113;;;;;;:::o;5226:983::-;5341:17;-1:-1:-1;;;5388:25:5;;:30;5428:775;;;;5461:14;5526:4;-1:-1:-1;;;;;5495:43:5;;5560:9;5591:10;5623:17;:6;:15;:17::i;:::-;5662:18;262:10;5679:1;5662:18;:::i;:::-;5713:4;5719:18;5702:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5495:261;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5458:298;;;5782:28;5802:7;5801:8;;;:::i;:::-;5782:18;:28::i;:::-;5770:40;;5444:377;5428:775;;;5842:14;5908:4;-1:-1:-1;;;;;5877:43:5;;5942:9;5973:10;6005:17;:6;:15;:17::i;:::-;6044:18;6061:1;320:49;6044:18;:::i;:::-;6095:4;6101:18;6084:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5877:261;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5841:297:5;-1:-1:-1;6164:28:5;6183:8;5841:297;6183:8;:::i;6164:28::-;6152:40;;5827:376;5428:775;5360:849;5226:983;;;;;;:::o;9077:289:1:-;9131:14;;;9192:8;9198:2;9192:3;:8;:::i;:::-;9175:25;-1:-1:-1;9221:28:1;9246:2;9222:18;:3;9175:25;9222:7;:18::i;:::-;9221:24;;:28::i;:::-;9210:39;;9263:9;9276:1;9263:14;:30;;;;;9292:1;9281:8;:12;9263:30;:54;;;;-1:-1:-1;9297:6:1;;-1:-1:-1;;;;;9297:6:1;:20;;9263:54;9259:101;;;9345:4;9333:16;;9259:101;9165:201;9077:289;;;:::o;3767:519::-;3895:7;3914:15;3943:11;3939:173;;;3980:42;4016:5;3980:31;3996:14;;3980:11;:15;;:31;;;;:::i;:42::-;3970:52;;3939:173;;;4063:38;4095:5;4063:27;4079:10;;4063:11;:15;;:27;;;;:::i;:38::-;4053:48;;3939:173;4131:7;4125:3;:13;4121:122;;;4162:44;4178:11;4191:3;4196:9;;4162:15;:44::i;:::-;4154:78;;;;-1:-1:-1;;;4154:78:1;;49262:2:15;4154:78:1;;;49244:21:15;49301:2;49281:18;;;49274:30;-1:-1:-1;;;49320:18:15;;;49313:51;49381:18;;4154:78:1;49060:345:15;4154:78:1;4259:20;:11;4275:3;4259:15;:20::i;:::-;4252:27;3767:519;-1:-1:-1;;;;;;;3767:519:1:o;2116:333:14:-;2297:34;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2297:34:14;-1:-1:-1;;;2297:34:14;;;2271:61;;2236:12;;;;-1:-1:-1;;;;;2271:12:14;;;2290:5;;2271:61;;2297:34;2271:61;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:97;;;;2350:7;:57;;;;-1:-1:-1;2362:11:14;;:16;;:44;;;2393:4;2382:24;;;;;;;;;;;;:::i;:::-;2342:100;;;;-1:-1:-1;;;2342:100:14;;49612:2:15;2342:100:14;;;49594:21:15;49651:2;49631:18;;;49624:30;49690:32;49670:18;;;49663:60;49740:18;;2342:100:14;49410:354:15;1482:398:14;1705:51;;;-1:-1:-1;;;;;50027:15:15;;;1705:51:14;;;50009:34:15;50079:15;;;50059:18;;;50052:43;50111:18;;;;50104:34;;;1705:51:14;;;;;;;;;;49944:18:15;;;;1705:51:14;;;;;;;-1:-1:-1;;;;;1705:51:14;-1:-1:-1;;;1705:51:14;;;1694:63;;-1:-1:-1;;;;1694:10:14;;;;:63;;1705:51;1694:63;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1658:99;;;;1775:7;:57;;;;-1:-1:-1;1787:11:14;;:16;;:44;;;1818:4;1807:24;;;;;;;;;;;;:::i;:::-;1767:106;;;;-1:-1:-1;;;1767:106:14;;50351:2:15;1767:106:14;;;50333:21:15;50390:2;50370:18;;;50363:30;50429:34;50409:18;;;50402:62;-1:-1:-1;;;50480:18:15;;;50473:34;50524:19;;1767:106:14;50149:400:15;1982:122:12;2034:13;2066:31;2090:5;2073:23;;;;;;50683:19:15;;50727:2;50718:12;;50554:182;2073:23:12;;;;;;;;;;;;;2110:456;2287:11;;2166:13;;-1:-1:-1;;;2191:53:12;:16;;2287:15;;2301:1;2287:15;:::i;:::-;2283:19;;:1;:19;:::i;:::-;-1:-1:-1;;;;;2273:30:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2273:30:12;;2254:49;;-1:-1:-1;;;2313:3:12;2317:1;2313:6;;;;;;;;:::i;:::-;;;;:12;-1:-1:-1;;;;;2313:12:12;;;;;;;;;-1:-1:-1;;;2335:3:12;2339:1;2335:6;;;;;;;;:::i;:::-;;;;:12;-1:-1:-1;;;;;2335:12:12;;;;;;;;;2362:9;2357:175;2381:4;:11;2377:1;:15;2357:175;;;2430:8;2456:1;2445:4;2450:1;2445:7;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;2445:7:12;:12;;:7;2439:19;2430:29;;;;;;;:::i;:::-;;;;2413:3;2417:5;2421:1;2417;:5;:::i;:::-;:9;;2425:1;2417:9;:::i;:::-;2413:14;;;;;;;;:::i;:::-;;;;:46;-1:-1:-1;;;;;2413:46:12;;;;;;;;;2490:8;2505:4;2510:1;2505:7;;;;;;;;:::i;:::-;;;;;;;;2515:4;2499:21;2490:31;;;;;;;:::i;:::-;;;;2473:3;2477:5;2481:1;2477;:5;:::i;:::-;:9;;2485:1;2477:9;:::i;:::-;2473:14;;;;;;;;:::i;:::-;;;;:48;-1:-1:-1;;;;;2473:48:12;;;;;;;;-1:-1:-1;2394:3:12;;;;:::i;:::-;;;;2357:175;;;-1:-1:-1;2555:3:12;2110:456;-1:-1:-1;;;2110:456:12:o;2105:127:10:-;2188:12;2195:4;2188:6;:12::i;:::-;2180:45;;;;-1:-1:-1;;;2180:45:10;;51116:2:15;2180:45:10;;;51098:21:15;51155:2;51135:18;;;51128:30;-1:-1:-1;;;51174:18:15;;;51167:50;51234:18;;2180:45:10;50914:344:15;503:198:13;559:6;-1:-1:-1;;;;;585:5:13;:34;;577:87;;;;-1:-1:-1;;;577:87:13;;51465:2:15;577:87:13;;;51447:21:15;51504:2;51484:18;;;51477:30;51543:34;51523:18;;;51516:62;-1:-1:-1;;;51594:18:15;;;51587:38;51642:19;;577:87:13;51263:404:15;577:87:13;-1:-1:-1;688:5:13;503:198::o;707:168::-;763:7;799:1;790:5;:10;;782:55;;;;-1:-1:-1;;;782:55:13;;51874:2:15;782:55:13;;;51856:21:15;;;51893:18;;;51886:30;51952:34;51932:18;;;51925:62;52004:18;;782:55:13;51672:356:15;365:132:13;417:6;443:1;448;443:6;435:36;;;;-1:-1:-1;;;435:36:13;;52235:2:15;435:36:13;;;52217:21:15;52274:2;52254:18;;;52247:30;-1:-1:-1;;;52293:18:15;;;52286:46;52349:18;;435:36:13;52033:340:15;435:36:13;485:5;489:1;485;:5;:::i;215:140::-;267:6;293;;;:30;;-1:-1:-1;322:1:13;317;308:5;317:1;322;308:5;:::i;:::-;304:9;-1:-1:-1;303:15:13;;304:9;303:15;:::i;:::-;:20;293:30;285:63;;;;-1:-1:-1;;;285:63:13;;52705:2:15;285:63:13;;;52687:21:15;52744:2;52724:18;;;52717:30;-1:-1:-1;;;52763:18:15;;;52756:50;52823:18;;285:63:13;52503:344:15;8157:517:1;8378:16;;8422:54;;;2409:63;8422:54;;;53083:25:15;8452:10:1;53124:18:15;;;53117:60;;;;53193:18;;;53186:34;;;53236:18;;;53229:34;;;8260:4:1;;;;53055:19:15;;8422:54:1;;;;;;;;;;;;8412:65;;;;;;8316:175;;;;;;;;-1:-1:-1;;;53532:27:15;;53584:1;53575:11;;53568:27;;;;53620:2;53611:12;;53604:28;53657:2;53648:12;;53274:392;8316:175:1;;;;;;;;;;;;;8293:208;;;;;;8276:225;;8512:7;8521:9;8532;8545:25;8560:9;;8545:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8545:14:1;;-1:-1:-1;;;8545:25:1:i;:::-;8511:59;;;;;;8580:17;8600:26;8610:6;8618:1;8621;8624;8600:26;;;;;;;;;;;;;;;;;53898:25:15;;;53971:4;53959:17;;;;53954:2;53939:18;;53932:45;54008:2;53993:18;;53986:34;54051:2;54036:18;;54029:34;53885:3;53870:19;;53671:398;8600:26:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8600:26:1;;-1:-1:-1;;8600:26:1;;8656:11;;-1:-1:-1;;;;;8656:11:1;;;8643:24;;;;8157:517;-1:-1:-1;;;;;;;;;;;8157:517:1:o;8680:391::-;8752:7;8761:9;8772;8807:10;8801:24;8829:2;8801:30;8793:67;;;;-1:-1:-1;;;8793:67:1;;54276:2:15;8793:67:1;;;54258:21:15;54315:2;54295:18;;;54288:30;54354:26;54334:18;;;54327:54;54398:18;;8793:67:1;54074:348:15;8793:67:1;-1:-1:-1;;;8921:4:1;8905:21;;8899:28;8967:4;8951:21;;8945:28;9021:4;9005:21;;;8999:28;8996:1;8991:37;;8899:28;;8945;8680:391::o;293:331:15:-;398:9;409;451:8;439:10;436:24;433:44;;;473:1;470;463:12;433:44;502:6;492:8;489:20;486:40;;;522:1;519;512:12;486:40;-1:-1:-1;;548:23:15;;;593:25;;;;;-1:-1:-1;293:331:15:o;629:127::-;690:10;685:3;681:20;678:1;671:31;721:4;718:1;711:15;745:4;742:1;735:15;761:275;832:2;826:9;897:2;878:13;;-1:-1:-1;;874:27:15;862:40;;-1:-1:-1;;;;;917:34:15;;953:22;;;914:62;911:88;;;979:18;;:::i;:::-;1015:2;1008:22;761:275;;-1:-1:-1;761:275:15:o;1041:186::-;1089:4;-1:-1:-1;;;;;1114:6:15;1111:30;1108:56;;;1144:18;;:::i;:::-;-1:-1:-1;1210:2:15;1189:15;-1:-1:-1;;1185:29:15;1216:4;1181:40;;1041:186::o;1232:805::-;1316:6;1324;1332;1385:2;1373:9;1364:7;1360:23;1356:32;1353:52;;;1401:1;1398;1391:12;1353:52;1437:9;1424:23;1414:33;;1494:2;1483:9;1479:18;1466:32;1456:42;;1549:2;1538:9;1534:18;1521:32;-1:-1:-1;;;;;1568:6:15;1565:30;1562:50;;;1608:1;1605;1598:12;1562:50;1631:22;;1684:4;1676:13;;1672:27;-1:-1:-1;1662:55:15;;1713:1;1710;1703:12;1662:55;1749:2;1736:16;1774:48;1790:31;1818:2;1790:31;:::i;:::-;1774:48;:::i;:::-;1845:2;1838:5;1831:17;1885:7;1880:2;1875;1871;1867:11;1863:20;1860:33;1857:53;;;1906:1;1903;1896:12;1857:53;1961:2;1956;1952;1948:11;1943:2;1936:5;1932:14;1919:45;2005:1;2000:2;1995;1988:5;1984:14;1980:23;1973:34;2026:5;2016:15;;;;;1232:805;;;;;:::o;2351:469::-;2460:6;2468;2521:2;2509:9;2500:7;2496:23;2492:32;2489:52;;;2537:1;2534;2527:12;2489:52;2577:9;2564:23;-1:-1:-1;;;;;2602:6:15;2599:30;2596:50;;;2642:1;2639;2632:12;2596:50;2665:22;;2721:3;2703:16;;;2699:26;2696:46;;;2738:1;2735;2728:12;2696:46;2761:2;2810;2795:18;;;;2782:32;;-1:-1:-1;;;2351:469:15:o;3007:183::-;3067:4;-1:-1:-1;;;;;3092:6:15;3089:30;3086:56;;;3122:18;;:::i;:::-;-1:-1:-1;3167:1:15;3163:14;3179:4;3159:25;;3007:183::o;3195:131::-;-1:-1:-1;;;;;3270:31:15;;3260:42;;3250:70;;3316:1;3313;3306:12;3331:134;3399:20;;3428:31;3399:20;3428:31;:::i;:::-;3331:134;;;:::o;3470:1042::-;3563:6;3571;3624:2;3612:9;3603:7;3599:23;3595:32;3592:52;;;3640:1;3637;3630:12;3592:52;3680:9;3667:23;-1:-1:-1;;;;;3705:6:15;3702:30;3699:50;;;3745:1;3742;3735:12;3699:50;3768:22;;3821:4;3813:13;;3809:27;-1:-1:-1;3799:55:15;;3850:1;3847;3840:12;3799:55;3886:2;3873:16;3908:4;3932:60;3948:43;3988:2;3948:43;:::i;3932:60::-;4026:15;;;4108:1;4104:10;;;;4096:19;;4092:28;;;4057:12;;;;4132:19;;;4129:39;;;4164:1;4161;4154:12;4129:39;4188:11;;;;4208:217;4224:6;4219:3;4216:15;4208:217;;;4304:3;4291:17;4321:31;4346:5;4321:31;:::i;:::-;4365:18;;4241:12;;;;4403;;;;4208:217;;;4444:5;-1:-1:-1;4468:38:15;;-1:-1:-1;4487:18:15;;;4468:38;:::i;:::-;4458:48;;;;;3470:1042;;;;;:::o;4517:456::-;4594:6;4602;4610;4663:2;4651:9;4642:7;4638:23;4634:32;4631:52;;;4679:1;4676;4669:12;4631:52;4718:9;4705:23;4737:31;4762:5;4737:31;:::i;:::-;4787:5;-1:-1:-1;4844:2:15;4829:18;;4816:32;4857:33;4816:32;4857:33;:::i;:::-;4517:456;;4909:7;;-1:-1:-1;;;4963:2:15;4948:18;;;;4935:32;;4517:456::o;4978:250::-;5063:1;5073:113;5087:6;5084:1;5081:13;5073:113;;;5163:11;;;5157:18;5144:11;;;5137:39;5109:2;5102:10;5073:113;;;-1:-1:-1;;5220:1:15;5202:16;;5195:27;4978:250::o;5233:270::-;5274:3;5312:5;5306:12;5339:6;5334:3;5327:19;5355:76;5424:6;5417:4;5412:3;5408:14;5401:4;5394:5;5390:16;5355:76;:::i;:::-;5485:2;5464:15;-1:-1:-1;;5460:29:15;5451:39;;;;5492:4;5447:50;;5233:270;-1:-1:-1;;5233:270:15:o;5508:595::-;5755:6;5748:14;5741:22;5730:9;5723:41;5814:6;5807:14;5800:22;5795:2;5784:9;5780:18;5773:50;5859:2;5854;5843:9;5839:18;5832:30;5934:1;5930;5925:3;5921:11;5917:19;5908:6;5902:13;5898:39;5893:2;5882:9;5878:18;5871:67;5704:4;5985:2;5977:6;5973:15;5967:22;6026:2;6020:3;6009:9;6005:19;5998:31;6046:51;6092:3;6081:9;6077:19;6063:12;6046:51;:::i;6108:725::-;6194:6;6202;6210;6218;6271:2;6259:9;6250:7;6246:23;6242:32;6239:52;;;6287:1;6284;6277:12;6239:52;6323:9;6310:23;6300:33;;6380:2;6369:9;6365:18;6352:32;6342:42;;6435:2;6424:9;6420:18;6407:32;-1:-1:-1;;;;;6499:2:15;6491:6;6488:14;6485:34;;;6515:1;6512;6505:12;6485:34;6553:6;6542:9;6538:22;6528:32;;6598:7;6591:4;6587:2;6583:13;6579:27;6569:55;;6620:1;6617;6610:12;6569:55;6660:2;6647:16;6686:2;6678:6;6675:14;6672:34;;;6702:1;6699;6692:12;6672:34;6747:7;6742:2;6733:6;6729:2;6725:15;6721:24;6718:37;6715:57;;;6768:1;6765;6758:12;6715:57;6108:725;;;;-1:-1:-1;;6799:2:15;6791:11;;-1:-1:-1;;;6108:725:15:o;6838:698::-;6986:6;6994;7047:2;7035:9;7026:7;7022:23;7018:32;7015:52;;;7063:1;7060;7053:12;7015:52;7103:9;7090:23;-1:-1:-1;;;;;7173:2:15;7165:6;7162:14;7159:34;;;7189:1;7186;7179:12;7159:34;7212:22;;;;7268:3;7250:16;;;7246:26;7243:46;;;7285:1;7282;7275:12;7243:46;7308:2;;-1:-1:-1;7363:2:15;7348:18;;7335:32;;7379:16;;;7376:36;;;7408:1;7405;7398:12;7376:36;-1:-1:-1;7431:24:15;;7489:2;7471:16;;;7467:25;7464:45;;;7505:1;7502;7495:12;7464:45;7528:2;7518:12;;;6838:698;;;;;:::o;8412:171::-;8487:5;8532:3;8523:6;8518:3;8514:16;8510:26;8507:46;;;8549:1;8546;8539:12;8507:46;-1:-1:-1;8571:6:15;8412:171;-1:-1:-1;8412:171:15:o;8588:385::-;8688:6;8741:2;8729:9;8720:7;8716:23;8712:32;8709:52;;;8757:1;8754;8747:12;8709:52;8797:9;8784:23;-1:-1:-1;;;;;8822:6:15;8819:30;8816:50;;;8862:1;8859;8852:12;8816:50;8885:82;8959:7;8950:6;8939:9;8935:22;8885:82;:::i;:::-;8875:92;8588:385;-1:-1:-1;;;;8588:385:15:o;8978:273::-;9054:6;9107:2;9095:9;9086:7;9082:23;9078:32;9075:52;;;9123:1;9120;9113:12;9075:52;9162:9;9149:23;9201:1;9194:5;9191:12;9181:40;;9217:1;9214;9207:12;10182:118;10268:5;10261:13;10254:21;10247:5;10244:32;10234:60;;10290:1;10287;10280:12;10305:662;10359:5;10412:3;10405:4;10397:6;10393:17;10389:27;10379:55;;10430:1;10427;10420:12;10379:55;10466:6;10453:20;10492:4;10516:60;10532:43;10572:2;10532:43;:::i;10516:60::-;10610:15;;;10696:1;10692:10;;;;10680:23;;10676:32;;;10641:12;;;;10720:15;;;10717:35;;;10748:1;10745;10738:12;10717:35;10784:2;10776:6;10772:15;10796:142;10812:6;10807:3;10804:15;10796:142;;;10878:17;;10866:30;;10916:12;;;;10829;;10796:142;;;-1:-1:-1;10956:5:15;10305:662;-1:-1:-1;;;;;;10305:662:15:o;10972:1209::-;11087:6;11095;11148:2;11136:9;11127:7;11123:23;11119:32;11116:52;;;11164:1;11161;11154:12;11116:52;11204:9;11191:23;-1:-1:-1;;;;;11274:2:15;11266:6;11263:14;11260:34;;;11290:1;11287;11280:12;11260:34;11328:6;11317:9;11313:22;11303:32;;11373:7;11366:4;11362:2;11358:13;11354:27;11344:55;;11395:1;11392;11385:12;11344:55;11431:2;11418:16;11453:4;11477:60;11493:43;11533:2;11493:43;:::i;11477:60::-;11571:15;;;11653:1;11649:10;;;;11641:19;;11637:28;;;11602:12;;;;11677:19;;;11674:39;;;11709:1;11706;11699:12;11674:39;11733:11;;;;11753:214;11769:6;11764:3;11761:15;11753:214;;;11849:3;11836:17;11866:28;11888:5;11866:28;:::i;:::-;11907:18;;11786:12;;;;11945;;;;11753:214;;;11986:5;-1:-1:-1;;12029:18:15;;12016:32;;-1:-1:-1;;12060:16:15;;;12057:36;;;12089:1;12086;12079:12;12057:36;;12112:63;12167:7;12156:8;12145:9;12141:24;12112:63;:::i;12186:367::-;12249:8;12259:6;12313:3;12306:4;12298:6;12294:17;12290:27;12280:55;;12331:1;12328;12321:12;12280:55;-1:-1:-1;12354:20:15;;-1:-1:-1;;;;;12386:30:15;;12383:50;;;12429:1;12426;12419:12;12383:50;12466:4;12458:6;12454:17;12442:29;;12526:3;12519:4;12509:6;12506:1;12502:14;12494:6;12490:27;12486:38;12483:47;12480:67;;;12543:1;12540;12533:12;12480:67;12186:367;;;;;:::o;12558:1099::-;12727:6;12735;12743;12751;12759;12767;12820:2;12808:9;12799:7;12795:23;12791:32;12788:52;;;12836:1;12833;12826:12;12788:52;12876:9;12863:23;-1:-1:-1;;;;;12946:2:15;12938:6;12935:14;12932:34;;;12962:1;12959;12952:12;12932:34;13001:70;13063:7;13054:6;13043:9;13039:22;13001:70;:::i;:::-;13090:8;;-1:-1:-1;12975:96:15;-1:-1:-1;13178:2:15;13163:18;;13150:32;;-1:-1:-1;13194:16:15;;;13191:36;;;13223:1;13220;13213:12;13191:36;13262:72;13326:7;13315:8;13304:9;13300:24;13262:72;:::i;:::-;13353:8;;-1:-1:-1;13236:98:15;-1:-1:-1;13441:2:15;13426:18;;13413:32;;-1:-1:-1;13457:16:15;;;13454:36;;;13486:1;13483;13476:12;13454:36;;13525:72;13589:7;13578:8;13567:9;13563:24;13525:72;:::i;:::-;12558:1099;;;;-1:-1:-1;12558:1099:15;;-1:-1:-1;12558:1099:15;;13616:8;;12558:1099;-1:-1:-1;;;12558:1099:15:o;13662:247::-;13721:6;13774:2;13762:9;13753:7;13749:23;13745:32;13742:52;;;13790:1;13787;13780:12;13742:52;13829:9;13816:23;13848:31;13873:5;13848:31;:::i;13914:773::-;14036:6;14044;14052;14060;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14169:9;14156:23;-1:-1:-1;;;;;14239:2:15;14231:6;14228:14;14225:34;;;14255:1;14252;14245:12;14225:34;14294:70;14356:7;14347:6;14336:9;14332:22;14294:70;:::i;:::-;14383:8;;-1:-1:-1;14268:96:15;-1:-1:-1;14471:2:15;14456:18;;14443:32;;-1:-1:-1;14487:16:15;;;14484:36;;;14516:1;14513;14506:12;14484:36;;14555:72;14619:7;14608:8;14597:9;14593:24;14555:72;:::i;:::-;13914:773;;;;-1:-1:-1;14646:8:15;-1:-1:-1;;;;13914:773:15:o;14692:529::-;14769:6;14777;14785;14838:2;14826:9;14817:7;14813:23;14809:32;14806:52;;;14854:1;14851;14844:12;14806:52;14893:9;14880:23;14912:31;14937:5;14912:31;:::i;:::-;14962:5;-1:-1:-1;15019:2:15;15004:18;;14991:32;15032:33;14991:32;15032:33;:::i;:::-;15084:7;-1:-1:-1;15143:2:15;15128:18;;15115:32;15156:33;15115:32;15156:33;:::i;:::-;15208:7;15198:17;;;14692:529;;;;;:::o;15226:583::-;15335:6;15343;15351;15404:2;15392:9;15383:7;15379:23;15375:32;15372:52;;;15420:1;15417;15410:12;15372:52;15459:9;15446:23;15478:28;15500:5;15478:28;:::i;:::-;15525:5;-1:-1:-1;15581:2:15;15566:18;;15553:32;-1:-1:-1;;;;;15597:30:15;;15594:50;;;15640:1;15637;15630:12;15594:50;15679:70;15741:7;15732:6;15721:9;15717:22;15679:70;:::i;:::-;15226:583;;15768:8;;-1:-1:-1;15653:96:15;;-1:-1:-1;;;;15226:583:15:o;16358:708::-;16446:6;16454;16507:2;16495:9;16486:7;16482:23;16478:32;16475:52;;;16523:1;16520;16513:12;16475:52;16552:9;16546:16;16536:26;;16606:2;16595:9;16591:18;16585:25;-1:-1:-1;;;;;16625:6:15;16622:30;16619:50;;;16665:1;16662;16655:12;16619:50;16688:22;;16741:4;16733:13;;16729:27;-1:-1:-1;16719:55:15;;16770:1;16767;16760:12;16719:55;16799:2;16793:9;16824:48;16840:31;16868:2;16840:31;:::i;16824:48::-;16895:2;16888:5;16881:17;16935:7;16930:2;16925;16921;16917:11;16913:20;16910:33;16907:53;;;16956:1;16953;16946:12;16907:53;16969:67;17033:2;17028;17021:5;17017:14;17012:2;17008;17004:11;16969:67;:::i;:::-;17055:5;17045:15;;;;;16358:708;;;;;:::o;17071:320::-;17158:6;17166;17219:2;17207:9;17198:7;17194:23;17190:32;17187:52;;;17235:1;17232;17225:12;17187:52;17267:9;17261:16;17286:31;17311:5;17286:31;:::i;:::-;17381:2;17366:18;;;;17360:25;17336:5;;17360:25;;-1:-1:-1;;;17071:320:15:o;17396:127::-;17457:10;17452:3;17448:20;17445:1;17438:31;17488:4;17485:1;17478:15;17512:4;17509:1;17502:15;17528:184;17598:6;17651:2;17639:9;17630:7;17626:23;17622:32;17619:52;;;17667:1;17664;17657:12;17619:52;-1:-1:-1;17690:16:15;;17528:184;-1:-1:-1;17528:184:15:o;17717:127::-;17778:10;17773:3;17769:20;17766:1;17759:31;17809:4;17806:1;17799:15;17833:4;17830:1;17823:15;17849:135;17888:3;17909:17;;;17906:43;;17929:18;;:::i;:::-;-1:-1:-1;17976:1:15;17965:13;;17849:135::o;17989:380::-;18068:1;18064:12;;;;18111;;;18132:61;;18186:4;18178:6;18174:17;18164:27;;18132:61;18239:2;18231:6;18228:14;18208:18;18205:38;18202:161;;18285:10;18280:3;18276:20;18273:1;18266:31;18320:4;18317:1;18310:15;18348:4;18345:1;18338:15;18374:128;18441:9;;;18462:11;;;18459:37;;;18476:18;;:::i;18507:127::-;18568:10;18563:3;18559:20;18556:1;18549:31;18599:4;18596:1;18589:15;18623:4;18620:1;18613:15;18639:355;18841:2;18823:21;;;18880:2;18860:18;;;18853:30;18919:33;18914:2;18899:18;;18892:61;18985:2;18970:18;;18639:355::o;18999:521::-;19076:4;19082:6;19142:11;19129:25;19236:2;19232:7;19221:8;19205:14;19201:29;19197:43;19177:18;19173:68;19163:96;;19255:1;19252;19245:12;19163:96;19282:33;;19334:20;;;-1:-1:-1;;;;;;19366:30:15;;19363:50;;;19409:1;19406;19399:12;19363:50;19442:4;19430:17;;-1:-1:-1;19473:14:15;19469:27;;;19459:38;;19456:58;;;19510:1;19507;19500:12;20580:271;20763:6;20755;20750:3;20737:33;20719:3;20789:16;;20814:13;;;20789:16;20580:271;-1:-1:-1;20580:271:15:o;20856:219::-;21005:2;20994:9;20987:21;20968:4;21025:44;21065:2;21054:9;21050:18;21042:6;21025:44;:::i;22683:544::-;22784:2;22779:3;22776:11;22773:448;;;22820:1;22845:5;22841:2;22834:17;22890:4;22886:2;22876:19;22960:2;22948:10;22944:19;22941:1;22937:27;22931:4;22927:38;22996:4;22984:10;22981:20;22978:47;;;-1:-1:-1;23019:4:15;22978:47;23074:2;23069:3;23065:12;23062:1;23058:20;23052:4;23048:31;23038:41;;23129:82;23147:2;23140:5;23137:13;23129:82;;;23192:17;;;23173:1;23162:13;23129:82;;23403:1348;23527:3;23521:10;-1:-1:-1;;;;;23546:6:15;23543:30;23540:56;;;23576:18;;:::i;:::-;23605:96;23694:6;23654:38;23686:4;23680:11;23654:38;:::i;:::-;23648:4;23605:96;:::i;:::-;23756:4;;23820:2;23809:14;;23837:1;23832:662;;;;24538:1;24555:6;24552:89;;;-1:-1:-1;24607:19:15;;;24601:26;24552:89;-1:-1:-1;;23360:1:15;23356:11;;;23352:24;23348:29;23338:40;23384:1;23380:11;;;23335:57;24654:81;;23802:943;;23832:662;22630:1;22623:14;;;22667:4;22654:18;;-1:-1:-1;;23868:20:15;;;23985:236;23999:7;23996:1;23993:14;23985:236;;;24088:19;;;24082:26;24067:42;;24180:27;;;;24148:1;24136:14;;;;24015:19;;23985:236;;;23989:3;24249:6;24240:7;24237:19;24234:201;;;24310:19;;;24304:26;-1:-1:-1;;24393:1:15;24389:14;;;24405:3;24385:24;24381:37;24377:42;24362:58;24347:74;;24234:201;-1:-1:-1;;;;;24481:1:15;24465:14;;;24461:22;24448:36;;-1:-1:-1;23403:1348:15:o;24756:522::-;24856:6;24851:3;24844:19;24826:3;24882:4;24911:2;24906:3;24902:12;24895:19;;24937:5;24960:1;24970:283;24984:6;24981:1;24978:13;24970:283;;;25061:6;25048:20;25081:33;25106:7;25081:33;:::i;:::-;-1:-1:-1;;;;;25139:33:15;25127:46;;25193:12;;;;25228:15;;;;25169:1;24999:9;24970:283;;;-1:-1:-1;25269:3:15;;24756:522;-1:-1:-1;;;;;24756:522:15:o;25283:266::-;25371:6;25366:3;25359:19;25423:6;25416:5;25409:4;25404:3;25400:14;25387:43;-1:-1:-1;25475:1:15;25450:16;;;25468:4;25446:27;;;25439:38;;;;25531:2;25510:15;;;-1:-1:-1;;25506:29:15;25497:39;;;25493:50;;25283:266::o;25554:500::-;25612:5;25619:6;25679:3;25666:17;25765:2;25761:7;25750:8;25734:14;25730:29;25726:43;25706:18;25702:68;25692:96;;25784:1;25781;25774:12;25692:96;25812:33;;25916:4;25903:18;;;-1:-1:-1;25864:21:15;;-1:-1:-1;;;;;;25933:30:15;;25930:50;;;25976:1;25973;25966:12;25930:50;26023:6;26007:14;26003:27;25996:5;25992:39;25989:59;;;26044:1;26041;26034:12;26059:1467;26444:2;26426:21;;;26463:18;;26456:34;;;-1:-1:-1;;;;;;26502:31:15;;26499:51;;;26546:1;26543;26536:12;26499:51;26580:6;26577:1;26573:14;26638:6;26630;26624:3;26613:9;26609:19;26596:49;26679:6;26668:9;26664:22;26654:32;;26705:4;26769:3;26757:9;26753:2;26749:18;26745:28;26740:2;26729:9;26725:18;26718:56;26797:67;26859:3;26855:2;26851:12;26843:6;26835;26797:67;:::i;:::-;26900:22;;;26895:2;26880:18;;26873:50;26958:22;;;26783:81;-1:-1:-1;26996:15:15;;;27054:1;27050:14;;;27038:27;;27034:36;;27093:6;27117:1;27127:370;27141:6;27138:1;27135:13;27127:370;;;27206:19;;;-1:-1:-1;;27202:33:15;27190:46;;27285;27324:6;27316;27285:46;:::i;:::-;27354:63;27410:6;27395:13;27380;27354:63;:::i;:::-;27475:12;;;;27344:73;-1:-1:-1;;;27440:15:15;;;;27163:1;27156:9;27127:370;;;-1:-1:-1;27514:6:15;;26059:1467;-1:-1:-1;;;;;;;;;;;;26059:1467:15:o;27939:288::-;28128:2;28117:9;28110:21;28091:4;28148:73;28217:2;28206:9;28202:18;28194:6;28186;28148:73;:::i;28232:841::-;28493:2;28482:9;28475:21;28456:4;28519:73;28588:2;28577:9;28573:18;28565:6;28557;28519:73;:::i;:::-;28649:22;;;28611:2;28629:18;;;28622:50;;;;28721:13;;28743:22;;;28819:15;;;;28781;;;28852:1;28862:185;28876:6;28873:1;28870:13;28862:185;;;28951:13;;28944:21;28937:29;28925:42;;29022:15;;;;28987:12;;;;28898:1;28891:9;28862:185;;;-1:-1:-1;29064:3:15;;28232:841;-1:-1:-1;;;;;;;;28232:841:15:o;29432:617::-;29757:3;29752;29748:13;29743:3;29736:26;29816;29812:31;29803:6;29799:2;29795:15;29791:53;29787:1;29782:3;29778:11;29771:74;29875:6;29870:2;29865:3;29861:12;29854:28;29718:3;29911:6;29905:13;29927:75;29995:6;29990:2;29985:3;29981:12;29974:4;29966:6;29962:17;29927:75;:::i;:::-;30022:16;;;;30040:2;30018:25;;29432:617;-1:-1:-1;;;;29432:617:15:o;30400:287::-;30529:3;30567:6;30561:13;30583:66;30642:6;30637:3;30630:4;30622:6;30618:17;30583:66;:::i;:::-;30665:16;;;;;30400:287;-1:-1:-1;;30400:287:15:o;30692:245::-;30759:6;30812:2;30800:9;30791:7;30787:23;30783:32;30780:52;;;30828:1;30825;30818:12;30780:52;30860:9;30854:16;30879:28;30901:5;30879:28;:::i;31683:545::-;31776:4;31782:6;31842:11;31829:25;31936:2;31932:7;31921:8;31905:14;31901:29;31897:43;31877:18;31873:68;31863:96;;31955:1;31952;31945:12;31863:96;31982:33;;32034:20;;;-1:-1:-1;;;;;;32066:30:15;;32063:50;;;32109:1;32106;32099:12;32063:50;32142:4;32130:17;;-1:-1:-1;32193:1:15;32189:14;;;32173;32169:35;32159:46;;32156:66;;;32218:1;32215;32208:12;32233:729;32403:4;32451:2;32440:9;32436:18;32481:6;32470:9;32463:25;32507:2;32545;32540;32529:9;32525:18;32518:30;32568:6;32603;32597:13;32634:6;32626;32619:22;32672:2;32661:9;32657:18;32650:25;;32710:2;32702:6;32698:15;32684:29;;32731:1;32741:195;32755:6;32752:1;32749:13;32741:195;;;32820:13;;-1:-1:-1;;;;;32816:39:15;32804:52;;32911:15;;;;32876:12;;;;32852:1;32770:9;32741:195;;;-1:-1:-1;32953:3:15;;32233:729;-1:-1:-1;;;;;;;32233:729:15:o;32967:881::-;33062:6;33093:2;33136;33124:9;33115:7;33111:23;33107:32;33104:52;;;33152:1;33149;33142:12;33104:52;33185:9;33179:16;-1:-1:-1;;;;;33210:6:15;33207:30;33204:50;;;33250:1;33247;33240:12;33204:50;33273:22;;33326:4;33318:13;;33314:27;-1:-1:-1;33304:55:15;;33355:1;33352;33345:12;33304:55;33384:2;33378:9;33407:60;33423:43;33463:2;33423:43;:::i;33407:60::-;33501:15;;;33583:1;33579:10;;;;33571:19;;33567:28;;;33532:12;;;;33607:19;;;33604:39;;;33639:1;33636;33629:12;33604:39;33663:11;;;;33683:135;33699:6;33694:3;33691:15;33683:135;;;33765:10;;33753:23;;33716:12;;;;33796;;;;33683:135;;33853:343;34055:2;34037:21;;;34094:2;34074:18;;;34067:30;-1:-1:-1;;;34128:2:15;34113:18;;34106:49;34187:2;34172:18;;33853:343::o;36128:595::-;36333:2;36322:9;36315:21;36296:4;36371:6;36358:20;36387:31;36412:5;36387:31;:::i;:::-;-1:-1:-1;;;;;36454:31:15;36449:2;36434:18;;;36427:59;;;;36529:55;;36568:15;;36572:6;36529:55;:::i;:::-;36622:4;36615;36604:9;36600:20;36593:34;36644:73;36713:2;36702:9;36698:18;36684:12;36670;36644:73;:::i;:::-;36636:81;36128:595;-1:-1:-1;;;;;36128:595:15:o;37618:347::-;37820:2;37802:21;;;37859:2;37839:18;;;37832:30;37898:25;37893:2;37878:18;;37871:53;37956:2;37941:18;;37618:347::o;38661:125::-;38726:9;;;38747:10;;;38744:36;;;38760:18;;:::i;39141:799::-;39522:3;39560:6;39554:13;39576:66;39635:6;39630:3;39623:4;39615:6;39611:17;39576:66;:::i;:::-;-1:-1:-1;;;39664:16:15;;;39689:23;;;39737:13;;39759:78;39737:13;39824:1;39813:13;;39806:4;39794:17;;39759:78;:::i;:::-;-1:-1:-1;;;39900:1:15;39856:20;;;;39892:10;;;39885:23;39932:1;39924:10;;39141:799;-1:-1:-1;;;;39141:799:15:o;39945:::-;40326:3;40364:6;40358:13;40380:66;40439:6;40434:3;40427:4;40419:6;40415:17;40380:66;:::i;:::-;-1:-1:-1;;;40468:16:15;;;40493:23;;;40541:13;;40563:78;40541:13;40628:1;40617:13;;40610:4;40598:17;;40563:78;:::i;40749:801::-;41130:3;41168:6;41162:13;41184:66;41243:6;41238:3;41231:4;41223:6;41219:17;41184:66;:::i;:::-;-1:-1:-1;;;41272:16:15;;;41297:25;;;41347:13;;41369:78;41347:13;41434:1;41423:13;;41416:4;41404:17;;41369:78;:::i;:::-;-1:-1:-1;;;41510:1:15;41466:20;;;;41502:10;;;41495:23;41542:1;41534:10;;40749:801;-1:-1:-1;;;;40749:801:15:o;41914:434::-;42147:6;42136:9;42129:25;42190:6;42185:2;42174:9;42170:18;42163:34;42233:6;42228:2;42217:9;42213:18;42206:34;42276:3;42271:2;42260:9;42256:18;42249:31;42110:4;42297:45;42337:3;42326:9;42322:19;42314:6;42297:45;:::i;42353:442::-;-1:-1:-1;;;;;42560:32:15;;42542:51;;42530:2;42515:18;;42623:1;42612:13;;42602:144;;42668:10;42663:3;42659:20;42656:1;42649:31;42703:4;42700:1;42693:15;42731:4;42728:1;42721:15;42602:144;42782:6;42777:2;42766:9;42762:18;42755:34;42353:442;;;;;:::o;43487:188::-;43566:13;;-1:-1:-1;;;;;43608:42:15;;43598:53;;43588:81;;43665:1;43662;43655:12;43680:450;43767:6;43775;43783;43836:2;43824:9;43815:7;43811:23;43807:32;43804:52;;;43852:1;43849;43842:12;43804:52;43875:40;43905:9;43875:40;:::i;:::-;43865:50;;43934:49;43979:2;43968:9;43964:18;43934:49;:::i;:::-;43924:59;;44026:2;44015:9;44011:18;44005:25;44070:10;44063:5;44059:22;44052:5;44049:33;44039:61;;44096:1;44093;44086:12;44459:458;44690:6;44679:9;44672:25;44733:6;44728:2;44717:9;44713:18;44706:34;44805:1;44801;44796:3;44792:11;44788:19;44780:6;44776:32;44771:2;44760:9;44756:18;44749:60;44845:3;44840:2;44829:9;44825:18;44818:31;44653:4;44866:45;44906:3;44895:9;44891:19;44883:6;44866:45;:::i;45632:251::-;45702:6;45755:2;45743:9;45734:7;45730:23;45726:32;45723:52;;;45771:1;45768;45761:12;45723:52;45803:9;45797:16;45822:31;45847:5;45822:31;:::i;45888:278::-;45957:6;46010:2;45998:9;45989:7;45985:23;45981:32;45978:52;;;46026:1;46023;46016:12;45978:52;46058:9;46052:16;46108:8;46101:5;46097:20;46090:5;46087:31;46077:59;;46132:1;46129;46122:12;46564:331;46766:2;46748:21;;;46805:1;46785:18;;;46778:29;-1:-1:-1;;;46838:2:15;46823:18;;46816:38;46886:2;46871:18;;46564:331::o;47179:182::-;-1:-1:-1;;;;;47286:10:15;;;47298;;;47282:27;;47321:11;;;47318:37;;;47335:18;;:::i;:::-;47318:37;47179:182;;;;:::o;47366:288::-;47541:6;47530:9;47523:25;47584:2;47579;47568:9;47564:18;47557:30;47504:4;47604:44;47644:2;47633:9;47629:18;47621:6;47604:44;:::i;47659:568::-;-1:-1:-1;;;;;47948:15:15;;;47930:34;;48007:14;;48000:22;47995:2;47980:18;;47973:50;48054:2;48039:18;;48032:34;;;48102:15;;48097:2;48082:18;;48075:43;47910:3;48149;48134:19;;48127:32;;;47873:4;;48176:45;;48201:19;;48193:6;48176:45;:::i;48232:243::-;48309:6;48317;48370:2;48358:9;48349:7;48345:23;48341:32;48338:52;;;48386:1;48383;48376:12;48338:52;-1:-1:-1;;48409:16:15;;48465:2;48450:18;;;48444:25;48409:16;;48444:25;;-1:-1:-1;48232:243:15:o;48480:136::-;48515:3;-1:-1:-1;;;48536:22:15;;48533:48;;48561:18;;:::i;:::-;-1:-1:-1;48601:1:15;48597:13;;48480:136::o;48621:185::-;-1:-1:-1;;;;;48742:10:15;;;48730;;;48726:27;;48765:12;;;48762:38;;;48780:18;;:::i;48811:127::-;48872:10;48867:3;48863:20;48860:1;48853:31;48903:4;48900:1;48893:15;48927:4;48924:1;48917:15;48943:112;48975:1;49001;48991:35;;49006:18;;:::i;:::-;-1:-1:-1;49040:9:15;;48943:112::o;50741:168::-;50814:9;;;50845;;50862:15;;;50856:22;;50842:37;50832:71;;50883:18;;:::i;52378:120::-;52418:1;52444;52434:35;;52449:18;;:::i;:::-;-1:-1:-1;52483:9:15;;52378:120::o

Swarm Source

ipfs://4f637f4c295074f72cbc3c36d09625f5fdf3a44c7aff79ff9b262a8ea106cf08

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x07964f135f276412b3182a3B2407b8dd45000000
Net Worth in USD
$9,550,625,908.01

Net Worth in MON
Monad Chain LogoMonad Chain LogoMonad Chain Logo 470,442,652,933.171326

Token Allocations
BTCBRUP 89.90%
LUIGI 9.95%
UXLINK 0.08%
Others 0.07%
Chain Token Portfolio % Price Amount Value
BSC89.90%$0.0045711,878,334,343,570.2532$8,586,120,851.79
BSC9.95%$0.0004672,035,906,651,463.53$950,392,728.49
BSC0.06%$0.009053646,679,869.259$5,854,069.52
BSC<0.01%$0.00907319,328,180.0472$175,372.7
BSC<0.01%$0.0001061,250,185,326.2501$131,944.56
BSC<0.01%$0.99948122,321.2229$122,257.62
BSC<0.01%$992.8327.0959$26,901.62
BSC<0.01%$0.9998014,589.6484$4,588.74
BSC<0.01%$0.16737326,797.1213$4,485.11
BSC<0.01%$13,122.8302$3,128.77
BSC<0.01%$0.16714812,153.0639$2,031.36
BSC<0.01%$3,440.730.4573$1,573.4
BSC<0.01%$0.3278614,729.9935$1,550.78
BSC<0.01%$0.06357623,775.8454$1,511.57
BSC<0.01%$0.006189243,637.4561$1,507.78
BSC<0.01%$0.00006521,782,620.4939$1,413.26
BSC<0.01%$0.9998131,364.1895$1,363.93
BSC<0.01%$0.3148994,258.8696$1,341.11
BSC<0.01%$0.9989871,329.5952$1,328.25
BSC<0.01%$0.07557215,557.2693$1,175.69
BSC<0.01%$0.1600597,138.9583$1,142.65
BSC<0.01%$0.0006581,676,459.2397$1,102.79
BSC<0.01%$3.27322.0096$1,052.68
BSC<0.01%$0.03143932,817.4779$1,031.74
BSC<0.01%$2.4421.2552$1,012.89
BSC<0.01%$0.1226137,852.3122$962.8
BSC<0.01%$1.06713.6066$759.27
BSC<0.01%$2.13354.4855$755.05
BSC<0.01%$1.06705.9868$750.11
BSC<0.01%$0.1807034,143.2573$748.7
BSC<0.01%$0.998068740.2224$738.79
BSC<0.01%$0.00875384,270.5963$737.63
BSC<0.01%$1735.4287$735.85
BSC<0.01%$0.01392852,827.497$735.77
BSC<0.01%$1.06676.5803$716.67
BSC<0.01%<$0.000001212,006,500,650.0792$696.7
BSC<0.01%$1.1593.8917$653.28
BSC<0.01%$991.220.656$650.22
BSC<0.01%$0.2104242,949.1274$620.57
BSC<0.01%$0.1740693,491.8651$607.83
BSC<0.01%$135.264.4398$600.52
BSC<0.01%$0.0002832,104,124.3539$595.59
BSC<0.01%$0.0002282,539,122.9163$577.83
BSC<0.01%$0.1233864,544.4946$560.73
BSC<0.01%$0.0002352,361,914.9671$554.93
BSC<0.01%$0.2737881,927.8193$527.81
BSC<0.01%$3.39149.3733$507.06
BSC<0.01%$0.0032156,889.5036$502.12
BSC<0.01%$5.4691.2437$498.23
BSC<0.01%$1.3368.2968$479.8
BSC<0.01%$2.16218.064$470.41
BSC<0.01%$0.00877853,347.5899$468.31
BSC<0.01%$0.2744521,694.1751$464.97
BSC<0.01%$0.585148738.8123$432.31
BSC<0.01%$7.7652.351$406.39
BSC<0.01%<$0.0000019,073,940,480.7959$378.27
BSC<0.01%$0.00003211,169,501.8159$361.45
BSC<0.01%$0.00181197,686.9672$357.73
BSC<0.01%$0.0000134,579,585.888$348.87
BSC<0.01%$0.2505731,327.3364$332.59
BSC<0.01%<$0.000001345,992,927,636.7755$311.01
BSC<0.01%$5.9849.8676$298.06
BSC<0.01%$1.68172.675$290.09
BSC<0.01%$2.49111.1685$276.81
BSC<0.01%<$0.0000017,986,663,912.8886$265.52
BSC<0.01%$0.0470925,592.0905$263.35
BSC<0.01%$0.160291,575.114$252.48
BSC<0.01%$0.0466225,403.1084$251.9
BSC<0.01%$162.091.5223$246.74
BSC<0.01%$0.00359867,910.4403$244.36
BSC<0.01%$0.0001481,574,303.8615$233.63
BSC<0.01%$0.077712,929.2493$227.63
BSC<0.01%$564.090.4025$227.02
BSC<0.01%$0.00381259,484.5206$226.77
BSC<0.01%$0.00401853,785.5503$216.11
BSC<0.01%$0.1326671,616.4147$214.44
BSC<0.01%$15.812.7959$202.17
BSC<0.01%$0.0391434,747.9953$185.85
BSC<0.01%$0.000931196,231.98$182.74
BSC<0.01%$0.0236377,672.9483$181.37
BSC<0.01%$101.131.7905$181.06
BSC<0.01%$102,581.830.00169959$174.35
BSC<0.01%$0.01574710,991.5566$173.08
BSC<0.01%$0.01137215,058.5057$171.24
BSC<0.01%<$0.000001440,577,827,353.4461$168.62
BSC<0.01%$0.00816520,253.2689$165.37
BSC<0.01%$0.0345884,754.5251$164.45
BSC<0.01%$2.3365.5796$152.55
BSC<0.01%$0.0284145,194.2302$147.59
BSC<0.01%$0.263717555.6978$146.55
BSC<0.01%<$0.0000011,370,540,979.9084$133.67
BSC<0.01%$0.0921891,404.3837$129.47
BSC<0.01%$0.000474271,874.4751$128.82
BSC<0.01%$0.00723517,125.4737$123.9
BSC<0.01%$0.404339302.2655$122.22
BSC<0.01%<$0.00000122,875,845,542.8484$121.29
BSC<0.01%$0.22044545.9352$120.35
BSC<0.01%$0.000767154,251.1275$118.29
BSC<0.01%$0.00000523,819,736.4694$111
BSC<0.01%$0.0178586,214.697$110.98
BSC<0.01%$0.0183125,953.5957$109.02
BSC<0.01%$0.000248412,239.2208$102.31
BSC<0.01%$0.0460382,207.4275$101.63
BSC<0.01%$134.740.7374$99.36
BSC<0.01%<$0.000001269,576,552.6412$98.35
BSC<0.01%$0.00517318,331.6343$94.83
BSC<0.01%$0.291261322.2292$93.85
BSC<0.01%$0.0270723,344.9852$90.56
BSC<0.01%$1.3466.5887$89.23
BSC<0.01%$0.112009789.904$88.48
BSC<0.01%$0.0022838,747.2038$88.35
BSC<0.01%<$0.00000187,687,109,790.8215$87.69
BSC<0.01%$0.0599041,409.4846$84.43
BSC<0.01%$0.0097558,518.9074$83.1
BSC<0.01%$0.0399012,045.4989$81.62
BSC<0.01%<$0.00000118,953,595,658,215.449$78.98
BSC<0.01%$503.020.1564$78.69
BSC<0.01%$0.262913297.2991$78.16
BSC<0.01%$0.0103417,462.4362$77.17
BSC<0.01%$0.000273281,899.8674$76.96
BSC<0.01%$0.0431651,636.5735$70.64
BSC<0.01%$1.6542.7193$70.49
BSC<0.01%$0.211545331.7927$70.19
BSC<0.01%$0.437176156.1819$68.28
BSC<0.01%$17.93.7231$66.66
BSC<0.01%$0.0184573,569.0798$65.88
BSC<0.01%$2.0931.4147$65.66
BSC<0.01%$0.0192673,305.5058$63.69
BSC<0.01%$0.0124745,023.7545$62.67
BSC<0.01%$0.0008276,232.6214$62.54
BSC<0.01%$0.0149644,001.562$59.88
BSC<0.01%$0.222802264.6903$58.97
BSC<0.01%<$0.0000012,166,638,946.0523$58.79
BSC<0.01%$0.00070482,254.6982$57.95
BSC<0.01%$0.00000143,524,637.937$54.84
BSC<0.01%$0.0000087,050,373.3399$54.73
BSC<0.01%$0.0192662,813.8849$54.21
BSC<0.01%$0.00528310,114.9432$53.44
BSC<0.01%$0.75149170.3194$52.84
BSC<0.01%$0.00073371,565.6031$52.47
BSC<0.01%$0.073822697.3306$51.48
BSC<0.01%$0.0114584,354.165$49.89
BSC<0.01%<$0.0000017,812,641,452.2156$49.83
BSC<0.01%$0.0086965,705.0056$49.61
BSC<0.01%$0.188397258.2874$48.66
BSC<0.01%$17.042.7972$47.66
BSC<0.01%$0.07189659.9941$47.45
BSC<0.01%$0.0000067,489,607.3333$46.29
BSC<0.01%$1,768.610.0258$45.72
BSC<0.01%$0.00114639,435.2759$45.2
BSC<0.01%<$0.00000113,036,136,983.0204$44.84
BSC<0.01%$0.00292915,153.0157$44.39
BSC<0.01%$0.99713842.6682$42.55
BSC<0.01%$0.47736788.4325$42.21
BSC<0.01%$0.030021,382.3015$41.5
BSC<0.01%$1.4527.662$40.11
BSC<0.01%$0.0212311,865.6845$39.61
BSC<0.01%$0.00151225,986.8703$39.3
BSC<0.01%$0.0111053,424.325$38.03
BSC<0.01%$105,040.320.00036192$38.02
BSC<0.01%$0.000053698,149.5073$37.08
BSC<0.01%$0.106721341.4244$36.44
BSC<0.01%$0.0025314,396.1943$36.42
BSC<0.01%<$0.0000016,636,503,693.466$35.55
BSC<0.01%$0.000131260,704.7706$34.04
BSC<0.01%$206.930.161$33.33
BSC<0.01%$0.043679702.4102$30.68
BSC<0.01%$0.01971,550.113$30.54
BSC<0.01%$0.057313532.1931$30.5
BSC<0.01%$0.00007424,882.6353$29.81
BSC<0.01%$0.0172831,719.1966$29.71
BSC<0.01%$0.00235212,604.5608$29.64
BSC<0.01%$0.29884196.0161$28.69
BSC<0.01%$0.047339595.3369$28.18
BSC<0.01%<$0.00000173,352,685,368.821$27.59
BSC<0.01%$1.2820.9696$26.86
BSC<0.01%$0.00080732,326.8448$26.09
BSC<0.01%$0.00065139,298.8165$25.57
BSC<0.01%$0.075012336.3758$25.23
BSC<0.01%$0.00133518,831.1397$25.14
BSC<0.01%$0.088377282.68$24.98
BSC<0.01%$0.00081728,844.0148$23.56
BSC<0.01%$0.0036676,378.0607$23.39
BSC<0.01%$0.024693944.7406$23.33
BSC<0.01%$0.000068345,127.7962$23.32
BSC<0.01%<$0.000001168,389,695.7018$22.46
BSC<0.01%$0.29957974.369$22.28
BSC<0.01%$0.9985722.2107$22.18
BSC<0.01%$47.990.4403$21.13
BSC<0.01%$0.000078265,940.7935$20.82
BSC<0.01%<$0.00000148,197,678,529.6276$20.78
BSC<0.01%<$0.00000126,184,086,798.5815$19.85
BSC<0.01%$0.98317420.133$19.79
BSC<0.01%$102,2830.00018753$19.18
BSC<0.01%$0.128271149.5045$19.18
BSC<0.01%$2.77.0778$19.09
BSC<0.01%$0.046168412.6976$19.05
BSC<0.01%$0.082874228.4243$18.93
BSC<0.01%$0.019173975.2464$18.7
BSC<0.01%$0.04768392.0589$18.69
BSC<0.01%$0.0004639,971.4072$18.37
BSC<0.01%$0.000041444,195.8957$18.14
BSC<0.01%$0.000081210,332.2523$17.13
BSC<0.01%$0.04735358.1428$16.96
BSC<0.01%$0.0065672,531.4782$16.62
BSC<0.01%$0.000135117,668.6861$15.91
BSC<0.01%$0.030111501.9121$15.11
BSC<0.01%$0.0023296,427.5953$14.97
BSC<0.01%$0.0020977,090.7072$14.87
BSC<0.01%$0.00061224,268.4368$14.86
BSC<0.01%$0.138984106.4756$14.8
BSC<0.01%$0.006482,182.7037$14.14
BSC<0.01%$0.36381338.7304$14.09
BSC<0.01%$0.0045713,000$13.71
BSC<0.01%$0.045118300.7649$13.57
BSC<0.01%$0.0058132,323.4507$13.51
BSC<0.01%$0.51078626.4126$13.49
BSC<0.01%$0.99691413.3121$13.27
BSC<0.01%$0.0074121,763.976$13.08
BSC<0.01%$0.00122410,667.2877$13.05
BSC<0.01%<$0.000001210,677,420,569$13.05
BSC<0.01%$0.00037434,581.8217$12.95
BSC<0.01%$0.0111791,074.3955$12.01
BSC<0.01%$0.000026455,369.231$11.95
BSC<0.01%$0.023532499.52$11.75
BSC<0.01%$0.0049892,342.7189$11.69
BSC<0.01%$2.494.6397$11.55
BSC<0.01%$0.20557755.8739$11.49
BSC<0.01%$0.06179180.3714$11.15
BSC<0.01%$0.0057991,915.854$11.11
BSC<0.01%$0.00030735,415.9907$10.87
BSC<0.01%<$0.00000121,785,840.2127$10.79
BSC<0.01%$0.001238,728.6695$10.74
BSC<0.01%$0.036356285.3011$10.37
BSC<0.01%$0.0001472,846.7158$10.23
BSC<0.01%$0.0000025,026,423.6648$10.2
BSC<0.01%$0.0025893,908.2106$10.12
BSC<0.01%$0.00066214,922.767$9.87
BSC<0.01%$0.0026963,522.7473$9.5
BSC<0.01%$0.000035267,452.4711$9.4
BSC<0.01%<$0.000001121,041,839,009.0423$9.34
BSC<0.01%<$0.00000155,064,812.4308$9.24
BSC<0.01%<$0.0000016,966,633,603,079.3428$9.18
BSC<0.01%$0.18448749.4783$9.13
BSC<0.01%$169.550.0535$9.08
BSC<0.01%$0.9992999.03$9.02
BSC<0.01%<$0.000001280,723,561.6891$8.93
BSC<0.01%$0.0050041,758.2808$8.8
BSC<0.01%$0.017088508.7779$8.69
BSC<0.01%<$0.00000199,581,255,766.4016$8.41
BSC<0.01%$0.034512240.8671$8.31
BSC<0.01%<$0.000001357,725,988.9269$8.25
BSC<0.01%$0.60943912.9094$7.87
BSC<0.01%$0.006421,221.0664$7.84
BSC<0.01%$0.0000032,641,735.0948$7.71
BSC<0.01%<$0.000001712,325,955.5865$7.58
BSC<0.01%$0.024444305.8301$7.48
BSC<0.01%$4.711.5846$7.46
BSC<0.01%$7.041.0565$7.44
BSC<0.01%$0.0042021,640.206$6.89
BSC<0.01%<$0.0000012,472,897,865.8433$6.81
BSC<0.01%$0.2899823.1224$6.71
BSC<0.01%$0.000025254,391.8301$6.47
BSC<0.01%$0.000039162,834.0723$6.34
BSC<0.01%$0.0000014,961,895.0646$6.25
BSC<0.01%<$0.00000111,304,431,117.7761$6.18
BSC<0.01%$0.0017673,478.7517$6.15
BSC<0.01%$0.00040415,208.7982$6.14
BSC<0.01%$0.27137422.3399$6.06
BSC<0.01%$2.732.1442$5.85
BSC<0.01%$0.0000041,370,599.5295$5.84
BSC<0.01%$0.000033174,234.7907$5.8
BSC<0.01%$0.030733187.6006$5.77
BSC<0.01%$0.0000023,082,242.319$5.76
BSC<0.01%$0.000038148,567.6037$5.69
BSC<0.01%$6.780.8389$5.69
BSC<0.01%$0.052412106.7642$5.6
BSC<0.01%$0.0010255,455.4479$5.59
BSC<0.01%$0.0006898,106.121$5.58
BSC<0.01%$0.0017893,091.9106$5.53
BSC<0.01%$0.1912328.9076$5.53
BSC<0.01%$0.009123599.4118$5.47
BSC<0.01%$3.031.802$5.47
BSC<0.01%<$0.0000011,714,803,508.7275$5.46
BSC<0.01%$0.00005696,768.9652$5.45
BSC<0.01%<$0.000001599,314,803.231$5.37
BSC<0.01%<$0.00000117,819,108,138.9567$5.35
BSC<0.01%<$0.0000016,201,639,827,513.2422$5.28
BSC<0.01%$4.471.1458$5.13
BSC<0.01%<$0.00000113,458,088.401$5.12
BSC<0.01%$0.014966341.2754$5.11
BSC<0.01%$0.0008076,246.7262$5.04
BSC<0.01%$0.000013375,606.8269$4.95
BSC<0.01%$0.0000022,494,790.9922$4.89
BSC<0.01%$0.0012124,028.2007$4.88
BSC<0.01%$0.0000014,271,183.9725$4.87
BSC<0.01%$0.0012283,822.3613$4.69
BSC<0.01%$0.0006447,080.6127$4.56
BSC<0.01%$0.00037412,139.9381$4.54
BSC<0.01%$0.0006067,269.3438$4.4
BSC<0.01%$0.0020252,167.8372$4.39
BSC<0.01%$2.991.4034$4.2
BSC<0.01%$0.006516638.3614$4.16
BSC<0.01%$0.00018522,439.7431$4.14
BSC<0.01%$0.06907258.6343$4.05
BSC<0.01%$0.4480138.993$4.03
BSC<0.01%<$0.00000119,546,821,507.8295$3.91
BSC<0.01%$0.036271107.5482$3.9
BSC<0.01%$0.04669482.3212$3.84
BSC<0.01%<$0.0000017,933,986.4801$3.81
BSC<0.01%$0.06866554.7088$3.76
BSC<0.01%$0.0003769,835.3504$3.69
BSC<0.01%<$0.0000014,677,098,491.6339$3.62
BSC<0.01%<$0.00000113,124,181,600.0998$3.59
BSC<0.01%$0.0020411,735.7237$3.54
BSC<0.01%$0.0031451,116.2065$3.51
BSC<0.01%<$0.00000179,390,881,531,963,360$3.41
BSC<0.01%$0.374219.0573$3.39
BSC<0.01%$0.007942413.075$3.28
BSC<0.01%<$0.00000137,316,129,828,595.891$3.26
BSC<0.01%$0.000018181,228.5456$3.18
BSC<0.01%$33.980.0923$3.14
BSC<0.01%<$0.0000012,402,660,226.179$3.11
BSC<0.01%$0.0012812,393.2856$3.07
BSC<0.01%$0.979863.106$3.04
BSC<0.01%$0.011055274.3849$3.03
BSC<0.01%$0.011767256.3232$3.02
BSC<0.01%$0.00008435,865$3.01
BSC<0.01%$1.192.5154$2.99
BSC<0.01%<$0.00000145,220,347.0869$2.93
BSC<0.01%$0.00017216,957.1796$2.92
BSC<0.01%$2.930.9772$2.86
BSC<0.01%$1,050.070.00271527$2.85
BSC<0.01%$0.000005531,783.3701$2.84
BSC<0.01%$115.470.0244$2.82
BSC<0.01%$0.000013220,866.0264$2.78
BSC<0.01%<$0.0000016,859,382.9234$2.78
BSC<0.01%$0.00026310,500$2.76
BSC<0.01%$0.6409574.299$2.76
BSC<0.01%$0.0000646,043.2$2.75
BSC<0.01%$0.0001124,854.007$2.74
BSC<0.01%$0.00020313,456.7745$2.73
BSC<0.01%$1.821.4849$2.7
BSC<0.01%$0.00013120,573.8753$2.7
BSC<0.01%$0.000025108,796.5888$2.68
BSC<0.01%$3,983.590.00066162$2.64
BSC<0.01%<$0.000001141,213,450.8251$2.63
BSC<0.01%$0.20482412.6047$2.58
BSC<0.01%$0.1016424.9564$2.54
BSC<0.01%<$0.0000017,345,159,593,723.4248$2.54
BSC<0.01%$0.00004161,317.9346$2.53
BSC<0.01%$0.004243592.4688$2.51
BSC<0.01%$0.13416118.3295$2.46
BSC<0.01%<$0.000001814,346,340,207,018,620$2.44
BSC<0.01%<$0.0000013,045,296,756.6581$2.44
BSC<0.01%$0.10270723.6114$2.43
BSC<0.01%$1,091.490.00222108$2.42
BSC<0.01%$0.09334125.8191$2.41
BSC<0.01%<$0.0000015,889,408.7601$2.39
BSC<0.01%$0.017016139.4934$2.37
BSC<0.01%$0.07594730.0336$2.28
BSC<0.01%<$0.0000018,184,815,767.2269$2.27
BSC<0.01%$0.0851526.5512$2.26
BSC<0.01%<$0.0000011,559,566,407.2956$2.18
BSC<0.01%$0.000514,273.7649$2.18
BSC<0.01%$0.0013071,658.1328$2.17
BSC<0.01%<$0.00000120,444,766.7533$2.16
BSC<0.01%$0.08323225.7432$2.14
BSC<0.01%$0.12092417.6687$2.14
BSC<0.01%$0.6501343.2785$2.13
BSC<0.01%$0.037854.1968$2.05
BSC<0.01%<$0.0000013,084,183,284,393.8057$2.05
BSC<0.01%$0.13012415.4373$2.01
BSC<0.01%$0.007389270.1276$2
BSC<0.01%$0.10424318.97$1.98
BSC<0.01%$0.0005333,690.7158$1.97
BSC<0.01%$0.05321236.1314$1.92
BSC<0.01%$0.00199959.5571$1.91
BSC<0.01%<$0.000001186,934,068.8655$1.9
BSC<0.01%$0.10501917.5187$1.84
BSC<0.01%$0.15342711.3858$1.75
BSC<0.01%$0.8443762.0461$1.73
BSC<0.01%$0.3211035.3183$1.71
BSC<0.01%$0.002215770.0908$1.71
BSC<0.01%<$0.0000016,873,187,255.6423$1.69
BSC<0.01%$0.000004413,934.7458$1.65
BSC<0.01%$0.001834898.9393$1.65
BSC<0.01%$0.010878149.9248$1.63
BSC<0.01%$0.007497215.4057$1.61
BSC<0.01%<$0.00000112,859,411.1602$1.61
BSC<0.01%$0.07808720.3233$1.59
BSC<0.01%$0.010202153.3659$1.56
BSC<0.01%$24.170.0641$1.55
BSC<0.01%$0.011397134.6428$1.53
BSC<0.01%$8.010.1897$1.52
BSC<0.01%$0.4906543.0915$1.52
BSC<0.01%$100.650.0151$1.52
BSC<0.01%$0.0277954.5035$1.51
BSC<0.01%<$0.00000114,960,832,009.3906$1.5
BSC<0.01%$0.005995247.9638$1.49
BSC<0.01%$0.1732968.5362$1.48
BSC<0.01%$0.08224417.7383$1.46
BSC<0.01%<$0.000001638,288,781.2165$1.44
BSC<0.01%$0.13548310.6287$1.44
BSC<0.01%$0.0006652,152.207$1.43
BSC<0.01%$0.00006422,334.7759$1.42
BSC<0.01%$0.1756758.0267$1.41
BSC<0.01%$0.007747181.1108$1.4
BSC<0.01%$0.01562288.7191$1.39
BSC<0.01%<$0.0000012,021,919,473.4743$1.38
BSC<0.01%$2.810.4898$1.38
BSC<0.01%$0.5497812.4326$1.34
BSC<0.01%$0.0003583,712.9474$1.33
BSC<0.01%$0.00007417,882.408$1.33
BSC<0.01%$0.3434223.7906$1.3
BSC<0.01%$0.00001130,022.5514$1.29
BSC<0.01%<$0.00000121,650,325,277.9066$1.28
BSC<0.01%$0.8815191.4548$1.28
BSC<0.01%$0.0002544,954.8276$1.26
BSC<0.01%$0.03582134.2499$1.23
BSC<0.01%$0.01285693.6655$1.2
BSC<0.01%$0.008017150.0262$1.2
BSC<0.01%<$0.0000019,348,666,548.6424$1.18
BSC<0.01%$0.1553837.5317$1.17
BSC<0.01%<$0.000001700,671,043.7164$1.16
BSC<0.01%$0.003846300.027$1.15
BSC<0.01%$101,9040.00001131$1.15
BSC<0.01%<$0.000001248,254,193,256.7922$1.15
BSC<0.01%$0.0001786,447.4167$1.15
BSC<0.01%$0.0009691,165.8571$1.13
BSC<0.01%$0.004608237.5514$1.09
BSC<0.01%$0.003048357.2337$1.09
BSC<0.01%$0.01315682.3751$1.08
BSC<0.01%<$0.00000111,769,576,943,651.881$1.08
BSC<0.01%$0.000009124,789.7298$1.06
BSC<0.01%$0.02479842.5078$1.05
BSC<0.01%$0.05941917.5446$1.04
BSC<0.01%$0.005811177.6449$1.03
BSC<0.01%$0.01454269.9596$1.02
BSC<0.01%$0.002505.3305$1.01
BSC<0.01%$0.007773129.9033$1.01
BSC<0.01%$0.008772113.6449$0.9969
BSC<0.01%$0.0143469.4902$0.9965
BSC<0.01%$0.007104134.0121$0.9519
BSC<0.01%<$0.000001245,358,316.7177$0.9404
BSC<0.01%$0.001506610.7379$0.9195
BSC<0.01%$0.08299311.0787$0.9194
BSC<0.01%$0.1914964.7708$0.9135
BSC<0.01%$0.0001884,863.097$0.9118
BSC<0.01%$0.0005151,762.2264$0.9068
BSC<0.01%$0.6751061.3258$0.895
BSC<0.01%$0.01739450.8436$0.8843
BSC<0.01%$0.000003260,935.9868$0.8793
BSC<0.01%$0.04482119.6018$0.8785
BSC<0.01%$0.002704321.7384$0.8698
BSC<0.01%$0.1006748.5475$0.8605
BSC<0.01%$3,416.630.00024782$0.8467
BSC<0.01%<$0.000001110,649,887.0958$0.8453
BSC<0.01%$0.00001651,564.4239$0.8425
BSC<0.01%$0.104318.0639$0.8411
BSC<0.01%$0.3026242.7371$0.8283
BSC<0.01%$0.0001744,765.7317$0.8274
BSC<0.01%<$0.00000129,858,076.0791$0.8245
BSC<0.01%$0.007948102.4485$0.8142
BSC<0.01%<$0.000001129,299,757,229.9608$0.8124
BSC<0.01%$0.00007211,107.8358$0.8002
BSC<0.01%$0.6707021.1925$0.7998
BSC<0.01%$0.000117,138.8793$0.7871
BSC<0.01%$0.0000869,035.3464$0.7738
BSC<0.01%$5.110.15$0.7659
BSC<0.01%<$0.000001819,068,787.5529$0.7631
BSC<0.01%$0.00002234,993.0711$0.7585
BSC<0.01%$0.00007510,002.292$0.7544
BSC<0.01%$0.0912898.2267$0.751
BSC<0.01%$10.741$0.741
BSC<0.01%$24.650.0295$0.7261
BSC<0.01%<$0.000001646,968,766,934.587$0.726
BSC<0.01%$0.002187327.6847$0.7166
BSC<0.01%$0.01188559.8595$0.7114
BSC<0.01%<$0.000001421,613,477.3031$0.7087
BSC<0.01%$0.00909377.5522$0.7051
BSC<0.01%$0.001386504.2852$0.6988
BSC<0.01%$0.00782689.2412$0.6983
BSC<0.01%<$0.000001756,459,403.8723$0.6966
BSC<0.01%$0.02251530.5224$0.6872
BSC<0.01%$0.00002923,417.6149$0.6776
BSC<0.01%$0.1808683.7034$0.6698
BSC<0.01%$0.00004116,388.1872$0.6679
BSC<0.01%$0.3958541.6717$0.6617
BSC<0.01%$0.001801361.935$0.6519
BSC<0.01%$0.05828811.0856$0.6461
BSC<0.01%$0.00159398.3508$0.6333
BSC<0.01%$0.00528119.9052$0.633
BSC<0.01%$0.003418184.847$0.6317
BSC<0.01%$0.001541406.8337$0.6269
BSC<0.01%$0.0787547.9276$0.6243
BSC<0.01%$0.0000659,638.3804$0.6239
BSC<0.01%$0.02998420.2412$0.6069
BSC<0.01%$0.0644169.3903$0.6048
BSC<0.01%<$0.00000114,193,408$0.6039
BSC<0.01%$0.03311418.108$0.5996
BSC<0.01%<$0.00000156,225,834,037.5503$0.5899
BSC<0.01%$0.00980260.1517$0.5896
BSC<0.01%<$0.00000118,294,100.5993$0.5834
BSC<0.01%$0.0002612,183.8748$0.5693
BSC<0.01%$0.0621759.1412$0.5683
BSC<0.01%$1.470.3839$0.5642
BSC<0.01%<$0.000001881,447,687.5734$0.5608
BSC<0.01%$0.03013918.5214$0.5582
BSC<0.01%$1.340.4154$0.5565
BSC<0.01%$0.02717220.3668$0.5534
BSC<0.01%$0.002607211.678$0.5518
BSC<0.01%<$0.00000129,754,448,587,467.563$0.5497
BSC<0.01%<$0.00000113,775,827.2748$0.5482
BSC<0.01%$0.0001892,899.9677$0.5477
BSC<0.01%$0.1462593.618$0.5291
BSC<0.01%$0.1003795.2365$0.5256
BSC<0.01%$0.000003180,994.6762$0.5159
BSC<0.01%$0.01256540.3271$0.5067
BSC<0.01%$0.15673.0979$0.4854
BSC<0.01%<$0.0000013,625,707.8533$0.4852
BSC<0.01%<$0.0000011,194,038,228$0.4824
BSC<0.01%$0.01623729.4185$0.4776
BSC<0.01%$0.1152314.0801$0.4701
BSC<0.01%$0.00473198.6756$0.4668
BSC<0.01%$0.01892724.5239$0.4641
BSC<0.01%$0.406321.1395$0.463
BSC<0.01%<$0.00000114,359,949,874,294.195$0.4576
BSC<0.01%$0.0002431,852.5827$0.4496
BSC<0.01%<$0.000001448,902,753.858$0.4489
BSC<0.01%$0.003236138.225$0.4472
BSC<0.01%<$0.000001244,184,082.8045$0.4434
BSC<0.01%$0.0004431,000.871$0.4432
BSC<0.01%$0.00124356.0188$0.4415
BSC<0.01%$0.233881.8796$0.4395
BSC<0.01%<$0.00000197,266,066.4849$0.4376
BSC<0.01%$0.1916882.2478$0.4308
BSC<0.01%$0.0476018.8567$0.4215
BSC<0.01%<$0.00000116,031,999.0926$0.4163
BSC<0.01%<$0.0000011,370,888.3079$0.4122
BSC<0.01%<$0.000001156,795,498.713$0.41
BSC<0.01%<$0.00000111,345,639,533,442.143$0.4048
BSC<0.01%<$0.000001320,276,944.8172$0.3929
BSC<0.01%$0.00001330,087.6816$0.3925
BSC<0.01%<$0.0000013,215,439.9546$0.392
BSC<0.01%$0.00128304.0623$0.3893
BSC<0.01%$0.0001692,292.7126$0.3884
BSC<0.01%$0.2199391.7557$0.3861
BSC<0.01%$0.1200213.1862$0.3824
BSC<0.01%<$0.0000011,034,748,347,256.5928$0.374
BSC<0.01%$0.00212175.9549$0.373
BSC<0.01%$0.0000665,577.9726$0.3708
BSC<0.01%$0.0065256.8108$0.3704
BSC<0.01%<$0.000001986,527,781.749$0.3642
BSC<0.01%$0.0181220.0595$0.3634
BSC<0.01%$0.000003119,397.1337$0.359
BSC<0.01%$0.0003241,093.7562$0.3548
BSC<0.01%$0.1704352.0804$0.3545
BSC<0.01%<$0.000001165,258,362.9796$0.3544
BSC<0.01%$0.0669495.1154$0.3424
BSC<0.01%<$0.000001152,533,901.217$0.3413
BSC<0.01%$0.0597945.6489$0.3377
BSC<0.01%$0.0001063,193.8642$0.3374
BSC<0.01%$0.00686848.9461$0.3361
BSC<0.01%$0.0753484.4578$0.3358
BSC<0.01%$0.00002115,377.963$0.328
BSC<0.01%$0.00002413,725.8146$0.3257
BSC<0.01%$0.1809861.7901$0.3239
BSC<0.01%$0.000575558.2875$0.3209
BSC<0.01%$0.00357889.1911$0.3191
BSC<0.01%$0.02029415.5356$0.3152
BSC<0.01%<$0.000001111,966,453.471$0.3135
BSC<0.01%$0.000346906.4841$0.3134
BSC<0.01%<$0.0000017,180,840,131.1775$0.3081
BSC<0.01%<$0.0000016,316,489.5449$0.3068
BSC<0.01%$0.001112273.0762$0.3037
BSC<0.01%$0.2408751.2549$0.3022
BSC<0.01%<$0.000001276,951,650.8762$0.3016
BSC<0.01%$0.00002810,832.6741$0.3012
BSC<0.01%$0.00001915,440.6072$0.2989
BSC<0.01%$0.00846835.2195$0.2982
BSC<0.01%<$0.0000011,734,243,316.8435$0.2968
BSC<0.01%$0.1186252.5003$0.2965
BSC<0.01%<$0.0000011,909,227,654,736.5474$0.2964
BSC<0.01%$0.00341984.292$0.2881
BSC<0.01%$0.00001321,325.3575$0.284
BSC<0.01%$0.00000738,828.3749$0.2804
BSC<0.01%$0.000573484.7574$0.2775
BSC<0.01%$0.000679406.0771$0.2758
BSC<0.01%$0.002119129.0409$0.2734
BSC<0.01%<$0.000001313,240,912,787.2358$0.2721
BSC<0.01%$1.760.153$0.2693
BSC<0.01%$0.00404665.6637$0.2656
BSC<0.01%<$0.000001118,968,708,743.9241$0.2623
BSC<0.01%$0.001137228.5279$0.2598
BSC<0.01%$0.1384271.8655$0.2582
BSC<0.01%$0.00600243.0135$0.2581
BSC<0.01%<$0.000001857,702,606.4564$0.2573
BSC<0.01%$0.2148321.1875$0.2551
BSC<0.01%$0.000717354.9824$0.2545
BSC<0.01%$0.000001285,732.4443$0.2525
BSC<0.01%<$0.0000017,305,337.8934$0.2521
BSC<0.01%<$0.000001139,194,535.4883$0.2491
BSC<0.01%$2.020.12$0.2422
BSC<0.01%$0.00000383,886.8947$0.2399
BSC<0.01%$3.930.0608$0.2388
BSC<0.01%<$0.0000011,257,443,566.5698$0.2371
BSC<0.01%$0.000832277.7073$0.231
BSC<0.01%$0.001802127.2698$0.2293
BSC<0.01%$0.0000356,367.9227$0.2255
BSC<0.01%<$0.00000114,897,300.8493$0.2246
BSC<0.01%$0.0001471,524.6493$0.2235
BSC<0.01%$0.001245179.1152$0.2229
BSC<0.01%$0.01001322.2293$0.2225
BSC<0.01%$0.00044487.7517$0.2145
BSC<0.01%$0.00046466.1215$0.2145
BSC<0.01%$0.0001831,162.5833$0.2129
BSC<0.01%$0.0243968.5118$0.2076
BSC<0.01%$0.4886340.4196$0.205
BSC<0.01%$0.0001171,734.3406$0.203
BSC<0.01%$0.0397915.0629$0.2014
BSC<0.01%<$0.000001202,371,760.9949$0.201
BSC<0.01%<$0.000001319,974,033.3923$0.1994
BSC<0.01%<$0.0000011,910,626.2037$0.1911
BSC<0.01%$0.0208258.9093$0.1855
BSC<0.01%$1.050.174$0.1818
BSC<0.01%$0.0027565.376$0.1797
BSC<0.01%$0.146211.192$0.1742
BSC<0.01%$34.190.00505174$0.1727
BSC<0.01%$0.0284786.0413$0.172
BSC<0.01%$0.000223764.8566$0.1703
BSC<0.01%$0.00000278,428.2098$0.1686
BSC<0.01%$0.0000227,679.2734$0.167
BSC<0.01%$0.00376443.7453$0.1646
BSC<0.01%$0.3130090.5172$0.1618
BSC<0.01%<$0.00000193,701,647.2518$0.1597
BSC<0.01%$0.2992750.5337$0.1597
BSC<0.01%$0.00183885.3648$0.1569
BSC<0.01%$1.70.0917$0.1562
BSC<0.01%$0.00328247.3476$0.1553
BSC<0.01%$0.000302509.7303$0.1539
BSC<0.01%$0.0001291,177.7689$0.1523
BSC<0.01%$0.000974153.805$0.1497
BSC<0.01%$0.0001361,078.199$0.147
BSC<0.01%$0.00132111.2715$0.1468
BSC<0.01%$0.01283311.3827$0.146
BSC<0.01%$0.0257785.6494$0.1456
BSC<0.01%$0.0020969.6053$0.1454
BSC<0.01%$0.0001411,002.5799$0.1414
BSC<0.01%<$0.0000018,327,118,032.1848$0.1367
BSC<0.01%$0.00000339,556.5904$0.1344
BSC<0.01%$0.001127116.6395$0.1314
BSC<0.01%$0.2417290.5391$0.1303
BSC<0.01%$0.1239281.0397$0.1288
BSC<0.01%$0.060832.1098$0.1283
BSC<0.01%$0.000568225.7314$0.1282
BSC<0.01%<$0.0000011,914,478.2786$0.128
BSC<0.01%$0.000472265.565$0.1252
BSC<0.01%<$0.0000011,015,903,499.1732$0.1249
BSC<0.01%$0.00000428,928.1019$0.1232
BSC<0.01%$0.000081,530.7381$0.1231
BSC<0.01%$0.000208582.8917$0.1212
BSC<0.01%$0.4078040.2927$0.1193
BSC<0.01%<$0.000001480,506,435.4252$0.1186
BSC<0.01%<$0.0000013,083,191.7235$0.1175
BSC<0.01%$0.2264210.5015$0.1135
BSC<0.01%$0.7174690.1553$0.1114
BSC<0.01%$0.0646621.7203$0.1112
BSC<0.01%$0.001668.7412$0.1099
BSC<0.01%$0.0302363.6326$0.1098
BSC<0.01%$0.000408268.4196$0.1094
BSC<0.01%$0.000673161.546$0.1086
BSC<0.01%$0.00141676.6805$0.1085
BSC<0.01%$2.490.0436$0.1083
BSC<0.01%$0.000859124.3311$0.1067
BSC<0.01%$0.000151704.3933$0.1061
BSC<0.01%$0.00039270$0.1052
BSC<0.01%$0.00296635.1228$0.1041
BSC<0.01%$0.0000352,881.9466$0.1015
BSC<0.01%$0.000071,426.08$0.1002
ARB0.08%$0.036927205,468,417.5971$7,587,367.19
ARB<0.01%$0.9992122,944.491$2,942.17
ARB<0.01%$3,446.740.1276$439.95
ARB<0.01%$0.9998275.8471$275.79
ARB<0.01%$102,1770.00043654$44.6
ARB<0.01%$3,439.860.0105$36.05
ARB<0.01%$0.99955830.2993$30.29
ARB<0.01%$0.025321969.5596$24.55
ARB<0.01%$0.30263650.5733$15.31
ARB<0.01%$0.000032416,846.3934$13.13
ARB<0.01%$0.0040383,120.7959$12.6
ARB<0.01%$1.657.4741$12.33
ARB<0.01%$0.00000118,982,601.956$12.21
ARB<0.01%$0.000085144,120.8498$12.2
ARB<0.01%$2.734.0418$11.03
ARB<0.01%$3,659.380.00265057$9.7
ARB<0.01%$0.47774520.0153$9.56
ARB<0.01%$15.790.5286$8.35
ARB<0.01%$0.12474363.8965$7.97
ARB<0.01%$5.971.1426$6.82
ARB<0.01%$34.170.1959$6.69
ARB<0.01%$0.9990316.296$6.29
ARB<0.01%$26.250.192$5.04
ARB<0.01%$0.0033421,451.4212$4.85
ARB<0.01%$0.8560725.5506$4.75
ARB<0.01%$0.14635532.1565$4.71
ARB<0.01%$0.0045711,009.2058$4.61
ARB<0.01%$0.99984.2396$4.24
ARB<0.01%$4,191.320.00100833$4.23
ARB<0.01%$0.17316524.2527$4.2
ARB<0.01%$2.611.4967$3.91
ARB<0.01%$0.9678433.7893$3.67
ARB<0.01%$2.311.3737$3.17
ARB<0.01%$2.481.2549$3.11
ARB<0.01%$0.019943149.6375$2.98
ARB<0.01%$0.0017671,679.8161$2.97
ARB<0.01%$0.004902598.4312$2.93
ARB<0.01%$5.550.5195$2.88
ARB<0.01%$3,432.160.00083024$2.85
ARB<0.01%$0.0000555,394.9715$2.77
ARB<0.01%$0.023451115.3143$2.7
ARB<0.01%$0.21064612.6737$2.67
ARB<0.01%$0.06493640.825$2.65
ARB<0.01%$0.004597548.3177$2.52
ARB<0.01%$0.0015941,442.5301$2.3
ARB<0.01%<$0.00000129,988,520.9801$2.22
ARB<0.01%$0.006512335.931$2.19
ARB<0.01%$0.03927554.454$2.14
ARB<0.01%$0.06077732.9845$2
ARB<0.01%$102,4740.00001949$2
ARB<0.01%$1.521.2393$1.88
ARB<0.01%$11.8809$1.88
ARB<0.01%$206.840.00890447$1.84
ARB<0.01%$3.120.5496$1.71
ARB<0.01%$102,2260.00001612$1.65
ARB<0.01%$0.4879883.345$1.63
ARB<0.01%$0.07894218.6469$1.47
ARB<0.01%$0.0003124,595.7789$1.43
ARB<0.01%$0.01499194.1547$1.41
ARB<0.01%$0.01873974.9134$1.4
ARB<0.01%$277.570.0047396$1.32
ARB<0.01%$3.530.3104$1.1
ARB<0.01%$35,8700.00002667$0.9566
ARB<0.01%$9.560.0999$0.9552
ARB<0.01%$0.2969533.1862$0.9461
ARB<0.01%$0.9687230.9534$0.9235
ARB<0.01%$0.0189945.9814$0.8731
ARB<0.01%<$0.0000018,591,756,251.8412$0.8591
ARB<0.01%$0.04879716.5348$0.8068
ARB<0.01%$0.001415555.1622$0.7852
ARB<0.01%$0.001085682.2542$0.7404
ARB<0.01%$134.970.0054816$0.7398
ARB<0.01%$0.002763262.1786$0.7243
ARB<0.01%$0.5022271.4345$0.7204
ARB<0.01%$0.000005141,215.5606$0.6679
ARB<0.01%$0.01587541.3171$0.6559
ARB<0.01%$0.00003119,691.7921$0.616
ARB<0.01%$0.004767117.323$0.5593
ARB<0.01%$0.004146124.5114$0.5162
ARB<0.01%$0.1056294.8287$0.51
ARB<0.01%$0.0004191,127.7062$0.4723
ARB<0.01%$0.000001851,848.4097$0.4408
ARB<0.01%$0.0748085.5857$0.4178
ARB<0.01%$0.01392127.9053$0.3884
ARB<0.01%$0.3251221.1496$0.3737
ARB<0.01%<$0.000001772,253.2911$0.3651
ARB<0.01%$0.9991410.3565$0.3561
ARB<0.01%$0.01552822.7211$0.3528
ARB<0.01%$0.02369914.4106$0.3415
ARB<0.01%$0.02517813.4831$0.3394
ARB<0.01%$0.00000654,764.9991$0.3389
ARB<0.01%$0.01195525.3841$0.3034
ARB<0.01%$3.870.0705$0.2726
ARB<0.01%$0.001801150.6709$0.2713
ARB<0.01%$0.01779112.7911$0.2275
ARB<0.01%$0.001255164.6605$0.2066
ARB<0.01%$0.9985460.2062$0.2058
ARB<0.01%$0.4088050.5016$0.205
ARB<0.01%$0.0678222.9081$0.1972
ARB<0.01%$0.000417466.8607$0.1947
ARB<0.01%<$0.000001972,651,934.0252$0.1945
ARB<0.01%<$0.0000011,894,754,061.3381$0.1894
ARB<0.01%$1.780.1061$0.1889
ARB<0.01%$0.8322360.2118$0.1762
ARB<0.01%$1.210.1345$0.1627
ARB<0.01%$0.00834619.1927$0.1601
ARB<0.01%$0.00164396.26$0.1581
ARB<0.01%$0.000236658.6$0.1553
ARB<0.01%<$0.0000011,478,878,175.0521$0.1478
ARB<0.01%$14.160.00984186$0.1393
ARB<0.01%$0.0000187,894.7806$0.1382
ARB<0.01%$0.00358137.7719$0.1352
ARB<0.01%$3.60.034$0.1225
ARB<0.01%$0.0000284,439.7233$0.1223
POL<0.01%$0.0333231,628,821.3855$54,276.94
POL<0.01%$0.0159192,027,436.1247$32,275.75
POL<0.01%$0.99966811,719.2698$11,715.38
POL<0.01%$11.84814.7715$9,646.89
POL<0.01%$0.18268515,875.183$2,900.15
POL<0.01%$0.999801562.9813$562.87
POL<0.01%$0.00457198,757.3911$451.43
POL<0.01%$102,1790.00375849$384.04
POL<0.01%$0.999227343.3333$343.07
POL<0.01%$0.999801321.0242$320.96
POL<0.01%$3,442.330.084$289.18
POL<0.01%$134.731.2474$168.06
POL<0.01%$0.0191824,698.0967$90.12
POL<0.01%$0.00000165,532,914.2253$87.16
POL<0.01%$2.3627.3475$64.54
POL<0.01%$0.183144336.6514$61.66
POL<0.01%$0.254068164.2556$41.73
POL<0.01%$0.0048577,564.0991$36.74
POL<0.01%$0.0181961,654.2605$30.1
POL<0.01%$0.135149219.4867$29.66
POL<0.01%$0.00122822,601.2557$27.75
POL<0.01%$5.984.5818$27.4
POL<0.01%$0.040989508.0304$20.82
POL<0.01%$3.755.4352$20.4
POL<0.01%$0.23358187.0015$20.32
POL<0.01%$0.097724184.2625$18.01
POL<0.01%$0.102938155.5457$16.01
POL<0.01%$0.000011,560,843.3217$15.78
POL<0.01%$0.20481773.8887$15.13
POL<0.01%$0.104081131.6216$13.7
POL<0.01%$0.009231,360.2307$12.55
POL<0.01%$161.970.0701$11.35
POL<0.01%$0.16756157.4998$9.63
POL<0.01%$0.0000042,342,010.1195$9.63
POL<0.01%<$0.0000011,728,982,570.7674$9.16
POL<0.01%$0.00017749,268.3747$8.71
POL<0.01%$0.7677110.4807$8.05
POL<0.01%$0.50197915.2911$7.68
POL<0.01%$0.0032642,300.36$7.51
POL<0.01%$0.8322958.8542$7.37
POL<0.01%$0.34923520.1524$7.04
POL<0.01%$0.0056151,203.4257$6.76
POL<0.01%$0.00039515,925.2483$6.29
POL<0.01%<$0.00000195,385,987.394$6.2
POL<0.01%$3,990.820.00151194$6.03
POL<0.01%$0.02043289.1225$5.91
POL<0.01%$0.000055106,371.9568$5.85
POL<0.01%$206.850.0261$5.39
POL<0.01%$0.0005898,751.2281$5.15
POL<0.01%$0.00009149,362.45$4.51
POL<0.01%$2.351.9123$4.5
POL<0.01%$0.0006576,232.4725$4.1
POL<0.01%$0.0006076,534.3428$3.97
POL<0.01%$0.00006957,136.7567$3.96
POL<0.01%$0.004012980.3643$3.93
POL<0.01%$0.000013289,923.219$3.84
POL<0.01%$0.007073534.3743$3.78
POL<0.01%$17.890.2025$3.62
POL<0.01%$0.0025771,372.6519$3.54
POL<0.01%$0.025805133.5944$3.45
POL<0.01%$0.31439510.656$3.35
POL<0.01%<$0.0000018,369,938,590.5321$3.35
POL<0.01%$0.4778066.9405$3.32
POL<0.01%$0.0013812,375.6169$3.28
POL<0.01%$0.03933483.3375$3.28
POL<0.01%$0.30878410.4971$3.24
POL<0.01%$1.522.1247$3.23
POL<0.01%$0.9562033.3523$3.21
POL<0.01%$1,295.670.00245521$3.18
POL<0.01%$0.000368,818.9314$3.17
POL<0.01%$0.000486,587.6391$3.16
POL<0.01%$15.790.1691$2.67
POL<0.01%$0.002231,160.2847$2.59
POL<0.01%$0.009194272.463$2.5
POL<0.01%<$0.0000014,759,526,434.9664$2.38
POL<0.01%$0.0011591,990.0876$2.31
POL<0.01%$0.010443211.8626$2.21
POL<0.01%$0.012214177.4038$2.17
POL<0.01%$0.0015061,434.1705$2.16
POL<0.01%$1.651.275$2.1
POL<0.01%$0.0991820.8915$2.07
POL<0.01%$290.70.00698189$2.03
POL<0.01%$0.84152.3867$2.01
POL<0.01%$0.2134819.1573$1.95
POL<0.01%$0.0004074,774.6059$1.94
POL<0.01%$0.00011915,507.9562$1.84
POL<0.01%$0.0011851,539.1192$1.82
POL<0.01%$0.0000630,013.4009$1.81
POL<0.01%$0.007427242.9299$1.8
POL<0.01%<$0.0000013,590,701.637$1.77
POL<0.01%$0.000005373,221.9979$1.72
POL<0.01%$0.0005173,245.1316$1.68
POL<0.01%$1.151.432$1.65
POL<0.01%$0.00010415,781.811$1.64
POL<0.01%$0.06776823.7626$1.61
POL<0.01%$0.1860538.5919$1.6
POL<0.01%$0.14658810.5964$1.55
POL<0.01%$0.00006424,092.6159$1.54
POL<0.01%$0.10895713.245$1.44
POL<0.01%$0.011896120.5309$1.43
POL<0.01%$0.001731804.0431$1.39
POL<0.01%$2.750.489$1.34
POL<0.01%$17.210.077$1.32
POL<0.01%$0.004677267.1951$1.25
POL<0.01%$102,506.290.00001204$1.23
POL<0.01%$0.8531321.4121$1.2
POL<0.01%$0.2812174.1609$1.17
POL<0.01%$0.0007521,550.2591$1.17
POL<0.01%$0.004967228.4142$1.13
POL<0.01%$0.008089137.5648$1.11
POL<0.01%$0.007668143.948$1.1
POL<0.01%$0.0006941,577.1752$1.09
POL<0.01%$0.9945671.0987$1.09
POL<0.01%$0.0004592,334.188$1.07
POL<0.01%$0.2494734.293$1.07
POL<0.01%$0.004397232.9086$1.02
POL<0.01%$0.8816141.1124$0.9807
POL<0.01%$5,032.140.00019433$0.9779
POL<0.01%$0.1770115.4708$0.9683
POL<0.01%$0.9999110.963$0.9629
POL<0.01%$0.8449311.1378$0.9613
POL<0.01%$0.0002274,097.3027$0.9303
POL<0.01%$0.6214541.4829$0.9215
POL<0.01%$0.004955178.5023$0.8845
POL<0.01%$0.8540121.0312$0.8806
POL<0.01%$55.420.0158$0.8765
POL<0.01%$10.8749$0.8748
POL<0.01%$0.0001336,453.1571$0.8569
POL<0.01%$0.000976820.2084$0.8005
POL<0.01%$0.0001355,822.2175$0.785
POL<0.01%$0.000001561,896.1483$0.7796
POL<0.01%$0.002096347.6428$0.7285
POL<0.01%$11.420.0623$0.7109
POL<0.01%$34.130.0202$0.6896
POL<0.01%$4.010.1694$0.6794
POL<0.01%$0.04125815.9215$0.6568
POL<0.01%$101,8350.00000636$0.6473
POL<0.01%$0.234552.7474$0.6444
POL<0.01%$0.005576111.6654$0.6226
POL<0.01%$0.00001152,850.0935$0.5998
POL<0.01%$0.0002932,029.523$0.5937
POL<0.01%$0.0001943,060$0.5927
POL<0.01%$0.00813171.4737$0.5811
POL<0.01%<$0.00000164,423,678.7135$0.5669
POL<0.01%$2.490.227$0.5648
POL<0.01%$0.1491263.7033$0.5522
POL<0.01%$0.0000875,886.4457$0.5105
POL<0.01%$0.0002152,246.1796$0.4818
POL<0.01%$0.002682178.7112$0.4792
POL<0.01%$0.002131224.1531$0.4777
POL<0.01%$0.00604176.5289$0.4623
POL<0.01%$0.5560210.8154$0.4534
POL<0.01%<$0.0000015,211,716.2532$0.4409
POL<0.01%$0.000622697.6826$0.434
POL<0.01%$0.1994022.1467$0.428
POL<0.01%$0.01413730.2626$0.4278
POL<0.01%<$0.00000176,598,741.7732$0.3676
POL<0.01%$0.000369974.5081$0.3591
POL<0.01%<$0.0000019,876,114.6704$0.3515
POL<0.01%$0.054336.2631$0.3402
POL<0.01%$0.2146691.5489$0.3324
POL<0.01%$0.000404820.0993$0.3312
POL<0.01%$0.0649674.9071$0.3188
POL<0.01%$0.02740511.25$0.3083
POL<0.01%$0.0033687.967$0.2955
POL<0.01%$0.0002291,171.5061$0.2687
POL<0.01%$0.9973050.2499$0.2492
POL<0.01%$0.0001821,364.423$0.2478
POL<0.01%$0.000728319.6318$0.2326
POL<0.01%$0.0195111.7127$0.2285
POL<0.01%$0.00266684.3869$0.2249
POL<0.01%$0.002038108.5971$0.2213
POL<0.01%$0.0244368.7818$0.2145
POL<0.01%<$0.00000174,655,668.8774$0.209
POL<0.01%$0.3423080.6015$0.2058
POL<0.01%$4,192.280.00004823$0.2021
POL<0.01%$0.000521380.5654$0.1984
POL<0.01%$0.01462413.4818$0.1971
POL<0.01%$0.01787210.8642$0.1941
POL<0.01%$0.0325725.9047$0.1923
POL<0.01%$1.120.1715$0.192
POL<0.01%$14,557.890.000013$0.1892
POL<0.01%$0.002377.7197$0.1787
POL<0.01%<$0.000001666,860.5356$0.1734
POL<0.01%$0.1590581.0616$0.1688
POL<0.01%$0.00444137.8156$0.1679
POL<0.01%$0.000499325.8765$0.1627
POL<0.01%$0.008319.311$0.1602
POL<0.01%$0.0000582,711.7678$0.1578
POL<0.01%$0.0372474.2014$0.1564
POL<0.01%$0.01090514.2592$0.1554
POL<0.01%$0.2050110.7521$0.1541
POL<0.01%$0.00211169.305$0.1462
POL<0.01%$0.00141999.8516$0.1417
POL<0.01%$0.1271181.0757$0.1367
POL<0.01%<$0.00000114,393,918.9472$0.1324
POL<0.01%$0.0001281,036.473$0.1321
POL<0.01%$0.0577772.2709$0.1312
POL<0.01%$0.000888141.0849$0.1252
POL<0.01%$0.9991030.1253$0.1252
POL<0.01%<$0.00000172,861,235.2174$0.1238
POL<0.01%$0.00173970.5009$0.1226
POL<0.01%$0.1337220.9116$0.1219
POL<0.01%$0.000522227.6432$0.1188
POL<0.01%$0.000697168.8757$0.1177
POL<0.01%$0.00115798.3775$0.1137
POL<0.01%$0.000144764.181$0.1097
POL<0.01%$0.000122894.3966$0.1089
POL<0.01%$0.000206526.7945$0.1087
POL<0.01%$0.7574610.1407$0.1065
POL<0.01%$0.0825421.2767$0.1053
POL<0.01%$0.00222946.8625$0.1044
POL<0.01%$0.00076135.844$0.1032
POL<0.01%$0.0255723.9312$0.1005
BASE<0.01%$0.9998014,741.0555$4,740.11
BASE<0.01%$0.019047145,046.4228$2,762.75
BASE<0.01%$3,441.170.4421$1,521.25
BASE<0.01%$0.998592286.6622$286.26
BASE<0.01%$0.0232315,217.6867$121.21
BASE<0.01%$0.009058,661.5626$78.38
BASE<0.01%$102,4910.00073397$75.23
BASE<0.01%$0.00073298,055.2171$71.75
BASE<0.01%$0.300308182.7826$54.89
BASE<0.01%$0.0176672,886.2257$50.99
BASE<0.01%$1.3733.3916$45.75
BASE<0.01%$0.277344164.3632$45.59
BASE<0.01%$0.068948643.7233$44.38
BASE<0.01%$0.0265041,574.9054$41.74
BASE<0.01%$0.0080115,052.7177$40.48
BASE<0.01%$0.41197894.4423$38.91
BASE<0.01%$0.00170521,046.3992$35.88
BASE<0.01%$0.000057617,881.5255$34.92
BASE<0.01%$1.6221.378$34.63
BASE<0.01%$0.00328110,524.7477$34.53
BASE<0.01%$0.235041142.1614$33.41
BASE<0.01%$0.000171187,298.1249$32.08
BASE<0.01%$0.00235613,496.4952$31.79
BASE<0.01%$0.000178174,741$31.16
BASE<0.01%$0.0184961,570.8977$29.06
BASE<0.01%$0.0193651,446.8139$28.02
BASE<0.01%$0.00029394,490.7502$27.68
BASE<0.01%$0.00000138,249,680.5886$27.34
BASE<0.01%$0.0177281,520.7405$26.96
BASE<0.01%$1.4617.446$25.47
BASE<0.01%$0.0154281,610.3255$24.84
BASE<0.01%$0.00013191,364.9697$24.78
BASE<0.01%$0.0139831,761.7692$24.63
BASE<0.01%$2.3110.5989$24.48
BASE<0.01%$0.30828875.5795$23.3
BASE<0.01%$0.00059538,612.3823$22.96
BASE<0.01%$0.000044524,890.6649$22.91
BASE<0.01%$0.0042025,135.2156$21.58
BASE<0.01%$0.00041452,115.6917$21.55
BASE<0.01%$0.086238239.2594$20.63
BASE<0.01%$0.033356567.3276$18.92
BASE<0.01%$0.00145712,696.5383$18.5
BASE<0.01%$0.000038469,719.9481$17.83
BASE<0.01%$0.067494259.5457$17.52
BASE<0.01%$0.00062627,399.9183$17.15
BASE<0.01%$0.162234104.8645$17.01
BASE<0.01%$0.0029795,648.3668$16.83
BASE<0.01%<$0.0000011,848,039,429.0516$16.63
BASE<0.01%$0.0075372,058.2575$15.51
BASE<0.01%$0.92916216.1003$14.96
BASE<0.01%$0.0000035,187,039.6294$14.68
BASE<0.01%$0.0000062,432,229.1852$14.54
BASE<0.01%$0.027001534.0442$14.42
BASE<0.01%$0.0127861,120.6919$14.33
BASE<0.01%$0.0052962,523.0757$13.36
BASE<0.01%$0.24494254.3821$13.32
BASE<0.01%$0.00077417,179.005$13.3
BASE<0.01%$0.0053932,413.4681$13.02
BASE<0.01%$0.0117711,097.6032$12.92
BASE<0.01%<$0.00000129,269,102.5602$12.81
BASE<0.01%$0.00000110,337,925.8001$12.2
BASE<0.01%$0.043709273.0056$11.93
BASE<0.01%$0.082344144.7298$11.92
BASE<0.01%$0.00094611,976.8973$11.33
BASE<0.01%$0.0021135,288.4488$11.17
BASE<0.01%$0.002564,321.4884$11.06
BASE<0.01%$0.00049821,621.8891$10.77
BASE<0.01%$0.084102123.1143$10.35
BASE<0.01%$0.00008127,775.1697$10.16
BASE<0.01%$0.0023284,320.6849$10.06
BASE<0.01%$0.046194217.1863$10.03
BASE<0.01%$0.00053218,808.6968$10
BASE<0.01%$0.00052418,773.8989$9.84
BASE<0.01%<$0.0000017,000,983,714.8239$9.8
BASE<0.01%$0.000044212,570.09$9.45
BASE<0.01%$0.078263117.5032$9.2
BASE<0.01%$0.028094322.38$9.06
BASE<0.01%$0.00002440,941.9619$8.96
BASE<0.01%$0.0033112,688.7591$8.9
BASE<0.01%$0.000066131,257.6408$8.72
BASE<0.01%$0.000066129,172.6116$8.53
BASE<0.01%$0.31934526.685$8.52
BASE<0.01%$0.00017846,436.553$8.27
BASE<0.01%$0.12549965.7867$8.26
BASE<0.01%<$0.000001297,751,314.8985$8.19
BASE<0.01%$0.000021389,233.9926$8.18
BASE<0.01%$0.008437945.6688$7.98
BASE<0.01%$11.110.7055$7.84
BASE<0.01%$0.69551711.059$7.69
BASE<0.01%$0.069823109.5203$7.65
BASE<0.01%$0.00038619,817.3938$7.64
BASE<0.01%$0.064947111.4834$7.24
BASE<0.01%$0.0031652,175.1795$6.89
BASE<0.01%$0.000064107,181.0961$6.86
BASE<0.01%$3,801.520.00179686$6.83
BASE<0.01%$0.0011665,791.7623$6.75
BASE<0.01%$0.000008833,245.7973$6.73
BASE<0.01%$0.000038174,174.8583$6.68
BASE<0.01%$0.0000032,126,128.7744$6.59
BASE<0.01%$0.0737888.2809$6.51
BASE<0.01%$0.00043214,776.2999$6.39
BASE<0.01%$0.0041531,510.0887$6.27
BASE<0.01%$0.0000032,093,543.9469$6.24
BASE<0.01%$0.000017345,510.4937$5.71
BASE<0.01%$0.0000022,396,962.5076$5.66
BASE<0.01%$0.0009625,772.7781$5.55
BASE<0.01%$0.000009625,158.4978$5.49
BASE<0.01%$0.0001439,286.4066$5.49
BASE<0.01%$0.9999325.3652$5.36
BASE<0.01%$0.001613,321.4481$5.35
BASE<0.01%$0.06888775.4214$5.2
BASE<0.01%$0.0028311,828.0333$5.17
BASE<0.01%$3,439.860.00149112$5.13
BASE<0.01%$0.19521426.0073$5.08
BASE<0.01%$0.009583519.0849$4.97
BASE<0.01%$1.164.2491$4.93
BASE<0.01%$0.02354207.6203$4.89
BASE<0.01%$0.00029716,027.0912$4.77
BASE<0.01%$0.0010924,341.8063$4.74
BASE<0.01%$0.000041113,858.4017$4.69
BASE<0.01%$0.00009250,384.8572$4.66
BASE<0.01%$0.8324155.5907$4.65
BASE<0.01%$0.9998734.538$4.54
BASE<0.01%$0.0011493,913.0313$4.5
BASE<0.01%$0.0029341,529.4029$4.49
BASE<0.01%$0.30122814.8689$4.48
BASE<0.01%$3,659.780.00121772$4.46
BASE<0.01%$0.27566116.1574$4.45
BASE<0.01%$0.00019322,964.5883$4.42
BASE<0.01%$0.00006765,761.6334$4.41
BASE<0.01%$0.0000671,804.1123$4.31
BASE<0.01%$0.000029147,148.0496$4.21
BASE<0.01%$0.0608169.0001$4.2
BASE<0.01%$0.0021361,949.5766$4.16
BASE<0.01%$0.00004983,930.7527$4.12
BASE<0.01%$0.00016324,963.2288$4.07
BASE<0.01%$0.000033119,033.6312$3.97
BASE<0.01%$0.00026614,631.7831$3.9
BASE<0.01%$0.0001232,216.413$3.88
BASE<0.01%$0.00002194,370.4645$3.86
BASE<0.01%$0.0007624,980.0501$3.79
BASE<0.01%$0.006486581.4366$3.77
BASE<0.01%$0.000037100,826.2966$3.77
BASE<0.01%<$0.00000162,442,693.9608$3.75
BASE<0.01%$0.000025148,766.0724$3.75
BASE<0.01%$0.000546,776.4292$3.66
BASE<0.01%$0.000011337,416.0963$3.65
BASE<0.01%$0.0004917,419.4895$3.64
BASE<0.01%$0.00017620,439.4419$3.6
BASE<0.01%<$0.000001266,629,967.6904$3.55
BASE<0.01%$0.00005267,068.4678$3.51
BASE<0.01%$0.0005676,065.3293$3.44
BASE<0.01%$0.0007294,712.5799$3.43
BASE<0.01%<$0.0000019,048,228.4088$3.42
BASE<0.01%$0.0006655,113.1201$3.4
BASE<0.01%$0.00003391,494.1819$3.06
BASE<0.01%$0.0022691,341.9775$3.04
BASE<0.01%$0.10293829.4716$3.03
BASE<0.01%$1.651.7993$2.97
BASE<0.01%$0.011343260.6722$2.96
BASE<0.01%$0.0016721,733.7105$2.9
BASE<0.01%$0.6192284.5103$2.79
BASE<0.01%$0.024787112.0784$2.78
BASE<0.01%$0.3359858.2577$2.77
BASE<0.01%$0.0005794,727.4732$2.74
BASE<0.01%$0.0000014,930,009.1443$2.68
BASE<0.01%$0.000008349,321.0988$2.65
BASE<0.01%$0.02756794.9236$2.62
BASE<0.01%$0.05731545.6332$2.62
BASE<0.01%$0.0011012,361.4123$2.6
BASE<0.01%$0.023485110.4521$2.59
BASE<0.01%$0.05585845.7734$2.56
BASE<0.01%$0.0004245,972.5813$2.53
BASE<0.01%$0.0000011,903,883.699$2.52
BASE<0.01%$0.16338615.1803$2.48
BASE<0.01%$0.010699231.373$2.48
BASE<0.01%$0.005692425.373$2.42
BASE<0.01%$0.013159180.3383$2.37
BASE<0.01%$0.00004157,739.9493$2.36
BASE<0.01%$79.320.0297$2.36
BASE<0.01%$0.00004749,777.7141$2.34
BASE<0.01%<$0.000001676,729,268.8007$2.3
BASE<0.01%$0.0000011,828,138.4591$2.29
BASE<0.01%$0.02512790.8213$2.28
BASE<0.01%$0.00013117,348.2681$2.26
BASE<0.01%$0.0002748,195.214$2.24
BASE<0.01%<$0.0000014,444,394,448.3851$2.22
BASE<0.01%$0.0011841,856.1824$2.2
BASE<0.01%$0.00002108,928.6646$2.19
BASE<0.01%$0.1512414.5041$2.19
BASE<0.01%$0.000013165,849.3218$2.17
BASE<0.01%$0.03994953.723$2.15
BASE<0.01%$0.006554319.8813$2.1
BASE<0.01%$0.0016451,258.0557$2.07
BASE<0.01%$0.7202122.8376$2.04
BASE<0.01%$0.000238,838.3579$2.03
BASE<0.01%$0.000434,719.0585$2.03
BASE<0.01%$0.000007297,073.5932$2.02
BASE<0.01%$0.000004567,915.94$2.02
BASE<0.01%$0.0019821,010.9699$2
BASE<0.01%$0.5598183.4859$1.95
BASE<0.01%$0.03451854.9933$1.9
BASE<0.01%$0.004533405.7313$1.84
BASE<0.01%$0.00017510,482.8193$1.84
BASE<0.01%$0.06958126.343$1.83
BASE<0.01%$0.000003560,960.1283$1.82
BASE<0.01%$0.0003195,674.6083$1.81
BASE<0.01%$0.00016810,670.3864$1.79
BASE<0.01%$0.14281412.35$1.76
BASE<0.01%$0.0005373,267.3502$1.75
BASE<0.01%$0.1731910.1159$1.75
BASE<0.01%<$0.0000014,324,506,764.2335$1.73
BASE<0.01%$0.000005321,610.9248$1.72
BASE<0.01%$0.0013921,191.5703$1.66
BASE<0.01%$0.01952684.0238$1.64
BASE<0.01%$0.000016103,826.8203$1.62
BASE<0.01%$0.00002272,490.4098$1.6
BASE<0.01%$0.002269683.2262$1.55
BASE<0.01%$0.0000011,491,225.882$1.54
BASE<0.01%$0.00001884,468.8124$1.53
BASE<0.01%<$0.000001759,358,177.6351$1.52
BASE<0.01%$0.0003214,692.3864$1.5
BASE<0.01%$0.0006542,256.4845$1.48
BASE<0.01%$0.00011812,451.5736$1.47
BASE<0.01%$16.790.0857$1.44
BASE<0.01%$0.0000011,785,843.2537$1.4
BASE<0.01%$0.00010213,725.817$1.4
BASE<0.01%$0.0213565.574$1.4
BASE<0.01%$0.9996871.3535$1.35
BASE<0.01%$0.0001887,152.9199$1.34
BASE<0.01%$0.010203128.876$1.31
BASE<0.01%$0.0168877.5646$1.31
BASE<0.01%$0.00007716,479.8375$1.28
BASE<0.01%$0.0007221,755.2179$1.27
BASE<0.01%$0.002107600.7909$1.27
BASE<0.01%$0.002236558.2724$1.25
BASE<0.01%$0.004012310.2434$1.24
BASE<0.01%$0.00002841,310.2415$1.14
BASE<0.01%$0.004741237.0651$1.12
BASE<0.01%$0.0004022,747.2066$1.1
BASE<0.01%$0.0003253,382.3785$1.1
BASE<0.01%$0.1823555.8447$1.07
BASE<0.01%$0.00001955,600.699$1.06
BASE<0.01%$0.00003529,428.8661$1.03
BASE<0.01%$0.002554392.6405$1
BASE<0.01%<$0.000001257,027,931.8912$1
BASE<0.01%$0.00204489.4288$0.9984
BASE<0.01%$0.000988997.0018$0.9852
BASE<0.01%$0.9741280.9936$0.9679
BASE<0.01%$0.0001337,122.8459$0.9469
BASE<0.01%$0.0006881,368.5317$0.9412
BASE<0.01%$0.0002124,333.8464$0.9192
BASE<0.01%$0.00001181,850.6692$0.9175
BASE<0.01%$0.004168213.2034$0.8885
BASE<0.01%$0.0914529.6974$0.8868
BASE<0.01%$0.00002338,234.4435$0.8803
BASE<0.01%$0.00001751,864.9307$0.8692
BASE<0.01%$0.00001270,001.4635$0.8673
BASE<0.01%$0.005635151.6662$0.8547
BASE<0.01%$0.01218368.4781$0.8342
BASE<0.01%$0.221033.6196$0.80
BASE<0.01%$0.0000240,030.8034$0.795
BASE<0.01%$0.0006061,308.9921$0.7933
BASE<0.01%$0.00611128.8426$0.7872
BASE<0.01%$0.0005571,402.7774$0.7816
BASE<0.01%$0.0001286,040.1073$0.7737
BASE<0.01%$0.000007109,190.178$0.7566
BASE<0.01%$0.0001216,201.725$0.752
BASE<0.01%$0.2111653.5491$0.7494
BASE<0.01%$0.0001724,257.9028$0.7304
BASE<0.01%$0.00877282.3485$0.7223
BASE<0.01%$0.00076946.301$0.7193
BASE<0.01%$0.01544446.4882$0.7179
BASE<0.01%$0.0004711,486.2375$0.6999
BASE<0.01%$0.9486560.6897$0.6542
BASE<0.01%$0.0001843,548.224$0.6514
BASE<0.01%$0.001881343.5277$0.6462
BASE<0.01%$0.003957161.3073$0.6382
BASE<0.01%$0.000002417,586.9267$0.6347
BASE<0.01%$1.020.6161$0.6308
BASE<0.01%$34.130.0185$0.6306
BASE<0.01%$0.0002372,660.6276$0.6296
BASE<0.01%$0.0001245,074.5412$0.6279
BASE<0.01%$149.60.00411678$0.6158
BASE<0.01%$0.00000691,257.9829$0.5913
BASE<0.01%$0.000005124,059.3699$0.5827
BASE<0.01%$0.00000961,620.2007$0.5761
BASE<0.01%$0.00002423,396.7152$0.5701
BASE<0.01%$0.03841214.3655$0.5518
BASE<0.01%$0.0348315.5495$0.5415
BASE<0.01%$0.9991430.5416$0.5411
BASE<0.01%$0.0002841,894.0428$0.538
BASE<0.01%$0.005311101.1041$0.5369
BASE<0.01%<$0.00000137,321,926.051$0.5262
BASE<0.01%<$0.0000011,698,158,723.7666$0.5094
BASE<0.01%<$0.0000011,288,037.6744$0.4902
BASE<0.01%$0.00002122,656.0094$0.4853
BASE<0.01%$0.0000756,393.448$0.4778
BASE<0.01%$0.02008523.5574$0.4731
BASE<0.01%$0.000527892.1369$0.4698
BASE<0.01%$0.00002816,670.7873$0.4697
BASE<0.01%$0.000611732.5413$0.4476
BASE<0.01%$0.0000656,895.3865$0.4462
BASE<0.01%$0.001179372.2405$0.4389
BASE<0.01%$0.000443987.4932$0.4374
BASE<0.01%$0.0002531,709.1799$0.4319
BASE<0.01%$0.00002914,746.7322$0.4264
BASE<0.01%$0.0003511,200$0.4209
BASE<0.01%$0.0002711,531.2903$0.4155
BASE<0.01%$0.0001892,182.3898$0.413
BASE<0.01%$0.0000547,660.8636$0.4098
BASE<0.01%$0.00003511,668.1525$0.4058
BASE<0.01%$0.0000139,586.5233$0.4053
BASE<0.01%$0.000546736.3699$0.4022
BASE<0.01%$0.00002416,465.432$0.3953
BASE<0.01%$1.780.2197$0.391
BASE<0.01%$0.00002117,658.0856$0.3735
BASE<0.01%<$0.000001148,619,204.6841$0.3715
BASE<0.01%$0.000609600.2388$0.3653
BASE<0.01%$0.003316109.1859$0.362
BASE<0.01%$0.0003061,159.3379$0.3548
BASE<0.01%$0.9932670.3551$0.3526
BASE<0.01%$0.000684498.0291$0.3407
BASE<0.01%$0.002965113.8777$0.3376
BASE<0.01%$0.00002811,828.3375$0.334
BASE<0.01%$0.02403613.0841$0.3144
BASE<0.01%$0.000755413.4982$0.3122
BASE<0.01%$0.001551199.1961$0.3088
BASE<0.01%$0.9893330.3082$0.3049
BASE<0.01%$0.00001519,582.6611$0.3007
BASE<0.01%$0.01986814.961$0.2972
BASE<0.01%$0.00001126,297.203$0.2887
BASE<0.01%$0.0000763,798.1365$0.2867
BASE<0.01%$0.00001224,215.9268$0.2842
BASE<0.01%$0.0000674,196.2548$0.2802
BASE<0.01%$0.0001841,501.8031$0.2769
BASE<0.01%$0.002722100.0026$0.2721
BASE<0.01%$0.0537575.004$0.269
BASE<0.01%<$0.0000012,467,624.7935$0.2603
BASE<0.01%$0.00365670.8174$0.2589
BASE<0.01%$0.000594405.306$0.2409
BASE<0.01%<$0.0000011,899,370.3514$0.2277
BASE<0.01%$4,192.280.00005334$0.2235
BASE<0.01%$0.0970042.1963$0.213
BASE<0.01%$1.230.1722$0.2118
BASE<0.01%$0.000111,888.721$0.2072
BASE<0.01%$0.9932670.2077$0.2062
BASE<0.01%<$0.0000013,222,963.0812$0.2043
BASE<0.01%$0.00001513,034.2495$0.1939
BASE<0.01%$0.000542355.8872$0.1927
BASE<0.01%$0.000161,192.512$0.1912
BASE<0.01%$0.00270770.1464$0.1898
BASE<0.01%$0.1139981.6139$0.1839
BASE<0.01%$206.850.00088631$0.1833
BASE<0.01%$0.1570561.1589$0.182
BASE<0.01%$0.00001213,799.1145$0.1686
BASE<0.01%$0.00001610,144.5779$0.1656
BASE<0.01%$0.001629101.1127$0.1646
BASE<0.01%$0.0001581,021.7839$0.1611
BASE<0.01%<$0.000001530,750,863.4679$0.1592
BASE<0.01%$0.000324490.148$0.1585
BASE<0.01%$1.670.0935$0.1561
BASE<0.01%$0.0585912.5971$0.1521
BASE<0.01%$0.000177818.4707$0.1448
BASE<0.01%$0.9667060.1486$0.1436
BASE<0.01%$0.000338421.5433$0.1422
BASE<0.01%$0.000001130,478.8691$0.1409
BASE<0.01%$0.3392190.4134$0.1402
BASE<0.01%$0.0141779.865$0.1398
BASE<0.01%$0.0027649.8996$0.1377
BASE<0.01%$0.00000527,670.5417$0.1353
BASE<0.01%$3,4420.00003786$0.1303
BASE<0.01%$0.022565.5646$0.1255
BASE<0.01%$0.0000215,917.9209$0.1223
BASE<0.01%<$0.000001719,944.7703$0.1197
BASE<0.01%$0.00457126.0154$0.1189
BASE<0.01%$0.2818550.4206$0.1185
BASE<0.01%$0.00000258,435.3809$0.118
BASE<0.01%$0.00727415.7368$0.1144
BASE<0.01%$0.015976.932$0.1107
BASE<0.01%$0.00652116.953$0.1105
BASE<0.01%<$0.0000014,062,446.4458$0.1076
BASE<0.01%$0.9952390.1077$0.1072
BASE<0.01%$0.00000425,632.2298$0.1061
BASE<0.01%$4.020.0256$0.1027
BASE<0.01%$0.00435423.482$0.1022
AVAX<0.01%$0.9993196,262.7705$6,258.51
AVAX<0.01%$17.9535.9958$645.98
AVAX<0.01%$0.00804250,788.5848$408.44
AVAX<0.01%$0.999858329.4728$329.43
AVAX<0.01%$0.999319199.7121$199.58
AVAX<0.01%$0.0044319,872.9723$88.03
AVAX<0.01%$0.150855324.932$49.02
AVAX<0.01%$0.0094342,050.7053$19.35
AVAX<0.01%$0.00122111,920.2284$14.56
AVAX<0.01%$0.00000112,166,162.0732$8.6
AVAX<0.01%$0.024622305.0274$7.51
AVAX<0.01%$0.043041151.9251$6.54
AVAX<0.01%<$0.00000121,449,487.6778$6.52
AVAX<0.01%$0.9998584.4726$4.47
AVAX<0.01%<$0.0000011,025,891,745.4339$4.31
AVAX<0.01%$0.009846389.0999$3.83
AVAX<0.01%$0.00009828,530.7794$2.81
AVAX<0.01%$0.010942249.4256$2.73
AVAX<0.01%<$0.000001672,967,824.303$2.69
AVAX<0.01%$15.820.1643$2.6
AVAX<0.01%$312.810.00626415$1.96
AVAX<0.01%$0.004095382.4024$1.57
AVAX<0.01%$0.06860317.4516$1.2
AVAX<0.01%$0.1075489.1832$0.9876
AVAX<0.01%$0.0004292,208.5886$0.9473
AVAX<0.01%$135.080.00672696$0.9086
AVAX<0.01%$22.040.041$0.9028
AVAX<0.01%$0.001036815.3169$0.8442
AVAX<0.01%$0.000737994.4961$0.7326
AVAX<0.01%$0.02421830$0.7265
AVAX<0.01%$0.00001543,700.8001$0.6647
AVAX<0.01%$17.90.035$0.6269
AVAX<0.01%$0.00467671.2$0.3328
AVAX<0.01%$102,4910.00000282$0.289
AVAX<0.01%$1,297.230.00018687$0.2424
AVAX<0.01%$9.550.0197$0.1877
AVAX<0.01%$0.1002521.4354$0.1438
AVAX<0.01%$0.00018753.8702$0.1355
BLAST<0.01%$3,438.881.0148$3,489.85
BLAST<0.01%$0.989081962.4232$951.91
BLAST<0.01%$0.001256432,595.7404$543.2
BLAST<0.01%$0.00041712,948.5408$5.4
BLAST<0.01%$0.000012146,249.3442$1.82
BLAST<0.01%<$0.0000011,471,406,311.3983$1.62
BLAST<0.01%$0.00194740.5762$1.44
BLAST<0.01%$0.00005723,158.8105$1.32
BLAST<0.01%<$0.00000113,145,029,658.7827$1.31
BLAST<0.01%$3,441.60.00013179$0.4535
BLAST<0.01%$0.0002181,810.3514$0.3945
BLAST<0.01%$0.0001212,561.1567$0.3097
BLAST<0.01%<$0.0000016,348,138.2698$0.2056
BLAST<0.01%$0.0054531.159$0.1698
BLAST<0.01%$0.00216468.0513$0.1472
BLAST<0.01%$0.00088135.7399$0.1195
LINEA<0.01%$3,436.480.2157$741.25
LINEA<0.01%$0.999802380.7882$380.71
LINEA<0.01%$0.999473118.4698$118.41
LINEA<0.01%$0.013222,857.6592$37.78
LINEA<0.01%$3,656.40.00711064$26
LINEA<0.01%$110.846$10.86
LINEA<0.01%$0.0012984,576.799$5.94
LINEA<0.01%$0.0006567,893.1439$5.18
LINEA<0.01%$0.9996694.7161$4.71
LINEA<0.01%$102,2100.0000454$4.64
LINEA<0.01%$3,445.180.00130848$4.51
LINEA<0.01%$3,624.20.00053286$1.93
LINEA<0.01%$991.990.00092613$0.9187
LINEA<0.01%$0.003502221.5333$0.7757
LINEA<0.01%$4,192.360.00013274$0.5564
LINEA<0.01%$0.00000950,685.2716$0.4647
LINEA<0.01%$0.00777347.3847$0.3683
LINEA<0.01%$0.00994924.3313$0.242
BERA<0.01%$0.999227878.934$878.25
BERA<0.01%$1.681.4769$130.39
BERA<0.01%$1.251.5002$61.8
BERA<0.01%$1.113.6789$15.01
BERA<0.01%$1.014.0796$4.11
BERA<0.01%$4,175.510.00052074$2.17
BERA<0.01%$0.9981931.051$1.05
BERA<0.01%$0.9986920.4559$0.4553
BERA<0.01%$1.970.1007$0.1984
SCROLL<0.01%$3,438.990.1752$602.35
SCROLL<0.01%$0.999858164.0046$163.98
SCROLL<0.01%$0.999588129.6388$129.59
SCROLL<0.01%$0.1678175.0864$12.6
SCROLL<0.01%$4,191.530.00176922$7.42
SCROLL<0.01%$102,439.60.00002657$2.72
SCROLL<0.01%$3,708.710.00005164$0.1915
SCROLL<0.01%$0.9997670.1825$0.1825
SCROLL<0.01%<$0.000001676,740.5584$0.1599
OPBNB<0.01%$992.890.3932$390.38
OPBNB<0.01%$1.0191.5317$91.99
OPBNB<0.01%$3,489.30.00005622$0.1961
SONIC<0.01%$0.999801318.2993$318.24
SONIC<0.01%$0.165045624.0116$102.99
SONIC<0.01%$1.7415.6716$27.27
SONIC<0.01%$102,1790.00014574$14.89
SONIC<0.01%$0.9993533.6627$3.66
SONIC<0.01%$0.0202448.5579$0.9828
SONIC<0.01%$3,439.860.00016478$0.5668
SONIC<0.01%$4.440.1051$0.4666
SONIC<0.01%$0.0505465.4415$0.275
SONIC<0.01%$0.001987105.1962$0.209
SONIC<0.01%$0.1703030.9058$0.1542
SONIC<0.01%$167.720.00085582$0.1435
SONIC<0.01%$0.1647680.6865$0.1131
WORLD<0.01%$3,446.660.0414$142.84
WORLD<0.01%$0.82737639.0174$32.28
WORLD<0.01%$0.9998587.9617$7.96
WORLD<0.01%<$0.0000013,454,897.0375$0.8436
WORLD<0.01%$3,439.290.00005771$0.1984
MANTLE<0.01%$1.2927.1797$34.98
MANTLE<0.01%$112.5536$12.55
MANTLE<0.01%$3,513.080.00322804$11.34
MANTLE<0.01%$3,709.590.00233752$8.67
MANTLE<0.01%$0.9975277.4863$7.47
MANTLE<0.01%$1.290.1421$0.1833
ETH<0.01%$102,1790.00010942$11.18
ETH<0.01%<$0.0000011,000,000$0.3804
ETH<0.01%$0.001491160$0.2385
ETH<0.01%$0.000249757.1588$0.1886
ETH<0.01%$3,446.330.00004255$0.146628
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.